// license:BSD-3-Clause // copyright-holders:David Haywood, Roberto Fresca, Vas Crabb /*************************************************************************** Golden Star Cherry Master Lucky 8 Lines Amcoe CGA games Golden Star and Cherry Master seem to be almost the same thing, running on different hardware. There are also various bootlegs / hacks, it isn't clear exactly what hardware each runs on, some appear to have no OKI for example. Driver by Mirko Buffoni. Additional Work: David Haywood & Roberto Fresca. The vast majority of the sets in here are probably bootlegs and hacks hence the slightly different PCBs, rom layouts, slightly hacked program roms etc. **************************************************************************** Game notes: ----------- * Wing Game Boards & Games (Originals): Various types - older pcbs can be green, blue or black - newer pcbs are green - might also be short & long types of each Sub-boards are connected into the Z80 socket and all appear to be bootleg upgrades/conversions/hacks. Are any of them legit? W-4 New Lucky 8 Lines Bingo F-5 New Lucky 8 Lines w/ Witch Bonus - bootleg/hack?? W-6 Fever Chance W-7 Skill Chance W-8 Bonus Chance W-11 Lucky Star * New Lucky 8 Lines: Sometimes the game boots with a "Coin Jam" message. Just reset the game to normalize. There are 2 sets of controls. Press the BIG key to switch between them. Press 9 to enter settings, press START to exit. Press 0 to enter stats, press START to exit. Keeping pressed 9 + 0 + RESET (F3), will enter the test mode. Press RESET to exit. New Lucky 8 Lines has two sets of controls than can be switched through each 'BIG' button. Even you can switch controls in middle of the game. When a set of controls are in use, the other set is blocked till 'BIG' button is pressed. * New Lucky 8 Lines / New Super 8 Lines: This set has a regular New Lucky 8 Lines, but allowing bets up to 64. It has different settings/parameters, and additional graphics for a game called New Super 8 Lines. There are basic reels tiles with a semi-naked woman, a sort of Super Mario character from Nintendo, clouds and stars... Still can't find how to switch between games. * New Lucky 8 Lines / New Super 8 Lines (Witch Bonus): Same as above, but allowing bets up to 32 credits. It also has different settings/parameters, and a rare feature: the 'Witch Bonus' (from Witch Card poker game) is present in the double-up. * Cherry Bonus III: If a hopper status error appear when the player try to take score, pressing Key Out (W) will discharge the credits won. Cherry Bonus III has two sets of controls than can be switched through each 'BIG' button. Even you can switch controls in middle of the game. When a set of controls are in use, the other set is blocked till 'BIG' button is pressed. Controls Set2 is using reels stop buttons from Controls Set1. * Cherry Master V4 (set 2) This set is supposed to be a kind of "stealth". The game is hidden into a Tetris game and could be triggered/switched in some way. Seems that it was designed for locations/countries where gambling games are/were not allowed. The game is booting as Cherry Master V4 instead of Tetris ATM... Even when the gambling game is working properly, the game is flagged as NOT_WORKING till can figure out how can switch between games. * Cherry Master '99 (V9B.00) Inputs are hooked up as DIP switches for testing purposes. You can access some kind of palette test by momentarily flipping input 2-8 to On position. You can access the input port test by flipping input 2-7 to On position while the game boots (like other Cherry Master games). All inputs are hooked up correctly. When not in the input test, the game appears to be stuck in a loop resetting itself after initialising NVRAM. * Cherry Master '99 (V9B.00 bootleg / hack) Appears to be a bootleg/hack of the other Dyna set - NVRAM initialisation has been changed from "DYNA QL-1 V9B.00" to " QQ-1 V9B.0", very few other program ROM changes besides hacking out the Dyna name everywhere. * Kkoj Noli kkuj nol-i / kkoj noli (better romanization). kkuj = stab/kill nol-i = bees The little red box at bottom of the title translates as "South Korea" Seems to be a hack of Lucky 8 Lines. - Child'ish graphics. - For Amusement only... There is no payout/keyout line accessed. - No stats or service mode. - No NVRAM. - Two sets of player's controls, as lucky8. - No ay8910, so no extra ports. - Only 1 DIP switches bank. Nominated for the *WORST* hacked gambling game EVER! * unkch sets In unkch1/unkch2 the payout rate is set with a combination of DSW1-3 (Punti) and DSW3-3 (Gettoni/Ticket). If Punti is set to Ticket, the payout rate is the second number of the Gettoni/Ticket setting (100 or 200). If Punti is set to Gettoni, the payout rate is the first number of the Gettoni/Ticket setting (10 or 20). If your points/credits aren't a multiple of the payout rate, you lose the remainder. If you hit Key Out when your points/credits are less than 100, you get nothing at all. If Gettoni/Ticket is set to 20/200 and you hit Key Out when credits/points are at least 100 but less than 200, tickets will be dispensed continuously until you insert another coin - game bug or MAME bug? Payout rate in unkch3 seems to be set with DSW1-3 (Punti) directly. This game also seems to be able to easily get into a state where tickets are dispensed continuously. Maybe there's something more complicated about the ticket dispenser hookup that we're missing? In unkch4 the payout rate is set with DSW1-3 (Punti) - 100 for Ticket and 10 for Gettoni. It's also nice enough to let you keep the remainder if you hit Key Out when your credits/points aren't a multiple of 100. This is the only set that doesn't have issues with dispensing tickets continuously unkch3 has a handy input test mode. To access it, first enable it with DSW4-5, then hold the Settings button (9) during boot. * Crazy Bonus (crazybon): Appears to be from a bootleg conversion set for Poker Master (pkrmast). There is another undumped bootleg conversion set advertised that displays Spirit or Dyna copyright depending on DIP settings and has both poker and slots games (the set in MAME displays "Crazy Co." copyright and only has a slots game). This is a stealth set that hides behind a fake Windows ME desktop if DSW2-6 is off. Push Start followed by Bet five time to access the game. It will return to the desktop after the game is over. Colours currently appear to be bad on the desktop screen. DSW3-8 disables the button sequence for accessing the game. Judging from the contents of the graphics ROMs and the Stats screens, there's a poker game buried in there, but there's apparently no way to access it. Hold Settings button (9) during boot to access switch test. Hold Stats button (0) during boot to access palette test. * Super Nove (Playmark) (super9) This game has similar memory map than Golden Star. The program writes to init the reels RAM/palette (bp C11A), then transfer the control to PC 253h where starts to write to some NVRAM chunks. Unfortunately at PC 2DBh there is a call to 0C33h, where there are only ASCII strings instead of subroutines. Also there are some other calls to the same range, that also lack of code. * Tetris + Cherry Master (+K, Canada Version, encrypted) (cmtetrsb) Start the game and you can find some garbage due to wrong graphics banks. Press the key "insert" to throttle the game. Keep the key pressed till you can see what seems the attract working (still with wrong graphics). Seems to be sooo slow.... (interrupts?) * Bingo (Wing) It has a different machine driver to support the different pos of gfx layers. I strongly suspect there is a register to adjust the layer position. ***************************************************************************/ #include "emu.h" #include "includes/goldstar.h" #include "cpu/z80/z80.h" #include "cpu/mcs51/mcs51.h" #include "machine/segacrpt_device.h" #include "machine/segacrp2_device.h" #include "machine/nvram.h" #include "sound/ay8910.h" #include "sound/okim6295.h" #include "sound/sn76496.h" #include "video/ramdac.h" #include "screen.h" #include "speaker.h" #include "bingowng.lh" #include "cherryb3.lh" #include "chrygld.lh" #include "cmaster.lh" #include "cmasterb.lh" #include "cmasterc.lh" #include "cmezspin.lh" #include "cmpacman.lh" #include "cmv4.lh" #include "crazybon.lh" #include "goldstar.lh" #include "lucky8.lh" #include "lucky8p1.lh" #include "nfb96.lh" #include "nfb96tx.lh" #include "pokonl97.lh" #include "roypok96.lh" #include "skill98.lh" #include "tonypok.lh" #include "unkch.lh" namespace { constexpr XTAL MASTER_CLOCK = 12_MHz_XTAL; constexpr XTAL CPU_CLOCK = MASTER_CLOCK / 4; constexpr XTAL PSG_CLOCK = MASTER_CLOCK / 4; constexpr XTAL AY_CLOCK = MASTER_CLOCK / 8; #define OKI_CLOCK 1056000 /* unverified resonator */ } WRITE8_MEMBER(goldstar_state::protection_w) { if (data == 0x2a) m_dataoffset = 0; } READ8_MEMBER(goldstar_state::protection_r) { static const int data[4] = { 0x47, 0x4f, 0x4c, 0x44 }; m_dataoffset %= 4; return data[m_dataoffset++]; } WRITE8_MEMBER(goldstar_state::p1_lamps_w) { /* bits 7654 3210 goldstar crazybon ncb3/cb3a lucky8/bingowng ---- ---x Bet Red / Card 2 Stop 2 / Big ---- --x- Stop 3 / Small / Info / Card 1 Start Blue Bet / Double D-UP ---- -x-- Bet Blue / Double Up / Card 3 Stop 1/Take TAKE ---- x--- Stop 1 / Take Bet Red Bet BET ---x ---- Stop 2 / Big / Bonus Stop All / Take Score Stop 3 / Small / Info INFO --x- ---- Start / Stop All / Card 4 Double Up Start / Stop All START -x-- ---- Small / Info x--- ---- Big 7654 3210 cm/cmaster cmpacman/cmtetris tonypok schery97 pokonl97 match98 ---- ---x stop/big bet 10/big hit/stop ---- --x- d-up d-up big/small d-up d-up ---- -x-- take take/stop take/d-up take/select take/select take ---- x--- bet bet bet bet bet 1 bet ---x ---- info info small small/end --x- ---- start start deal start start start -x-- ---- hold x--- ---- all cm/cmaster use the same scheme cmv4, cmv801 and crazybon don't light the Take button when it's available for hold pair tonypok uses lamps to indicate current button functions rather than active buttons skill98 is like schery97 but doesn't activate bit 0 for stop nfb96, roypok96 and nc96 sets are like schery97 but they don't activate bit 2 for select */ m_lamps[0] = BIT(data, 0); m_lamps[1] = BIT(data, 1); m_lamps[2] = BIT(data, 2); m_lamps[3] = BIT(data, 3); m_lamps[4] = BIT(data, 4); m_lamps[5] = BIT(data, 5); m_lamps[6] = BIT(data, 6); m_lamps[7] = BIT(data, 7); // popmessage("p1 lamps: %02X", data); } WRITE8_MEMBER(goldstar_state::p2_lamps_w) { m_lamps[8 + 0] = BIT(data, 0); m_lamps[8 + 1] = BIT(data, 1); m_lamps[8 + 2] = BIT(data, 2); m_lamps[8 + 3] = BIT(data, 3); m_lamps[8 + 4] = BIT(data, 4); m_lamps[8 + 5] = BIT(data, 5); m_lamps[8 + 6] = BIT(data, 6); m_lamps[8 + 7] = BIT(data, 7); // popmessage("p2 lamps: %02X", data); } void goldstar_state::goldstar_map(address_map &map) { map(0x0000, 0xb7ff).rom(); map(0xb800, 0xbfff).ram().share("nvram"); map(0xc000, 0xc7ff).rom(); map(0xc800, 0xcfff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0xd000, 0xd7ff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0xd800, 0xd9ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xe000, 0xe1ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xe800, 0xe9ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xf040, 0xf07f).ram().share("reel1_scroll"); map(0xf080, 0xf0bf).ram().share("reel2_scroll"); map(0xf0c0, 0xf0ff).ram().share("reel3_scroll"); map(0xf800, 0xf800).portr("IN0"); map(0xf801, 0xf801).portr("IN1"); /* Test Mode */ map(0xf802, 0xf802).portr("DSW1"); // map(0xf803, 0xf803) // map(0xf804, 0xf804) map(0xf805, 0xf805).portr("DSW4"); /* DSW 4 (also appears in 8910 port) */ map(0xf806, 0xf806).portr("DSW7"); /* (don't know to which one of the */ map(0xf810, 0xf810).portr("UNK1"); map(0xf811, 0xf811).portr("UNK2"); map(0xf820, 0xf820).portr("DSW2"); map(0xf830, 0xf830).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xf840, 0xf840).w("aysnd", FUNC(ay8910_device::address_w)); map(0xf900, 0xf900).w(FUNC(goldstar_state::p1_lamps_w)); map(0xfa00, 0xfa00).w(FUNC(goldstar_state::goldstar_fa00_w)); map(0xfb00, 0xfb00).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); map(0xfd00, 0xfdff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette"); map(0xfe00, 0xfe00).rw(FUNC(goldstar_state::protection_r), FUNC(goldstar_state::protection_w)); } void goldstar_state::goldstar_readport(address_map &map) { map.global_mask(0xff); map(0x10, 0x10).portr("DSW6"); } void sanghopm_state::star100_map(address_map &map) { map(0x0000, 0xbfff).rom(); map(0xc800, 0xcfff).ram().w(FUNC(sanghopm_state::fg_vidram_w)).share("fg_vidram"); // videoram 1 map(0xd000, 0xd7ff).ram().w(FUNC(sanghopm_state::fg_atrram_w)).share("fg_atrram"); // atrram 1 map(0xd800, 0xd83f).ram().share("reel1_scroll"); map(0xd840, 0xd9ff).ram(); map(0xda00, 0xda3f).ram().share("reel2_scroll"); map(0xda40, 0xdbff).ram(); map(0xdc00, 0xdc3f).ram().share("reel3_scroll"); map(0xdc40, 0xdfff).ram(); map(0xe000, 0xe1ff).ram().w(FUNC(sanghopm_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xe200, 0xe3ff).ram().w(FUNC(sanghopm_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xe400, 0xe5ff).ram().w(FUNC(sanghopm_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xe600, 0xe7ff).ram().w(FUNC(sanghopm_state::bg_vidram_w)).share("bg_vidram"); // videoram 2 map(0xe800, 0xe9ff).ram().w(FUNC(sanghopm_state::reel1_attrram_w)).share("reel1_attrram"); map(0xea00, 0xebff).ram().w(FUNC(sanghopm_state::reel2_attrram_w)).share("reel2_attrram"); map(0xec00, 0xedff).ram().w(FUNC(sanghopm_state::reel3_attrram_w)).share("reel3_attrram"); map(0xee00, 0xefff).ram().w(FUNC(sanghopm_state::bg_atrram_w)).share("bg_atrram"); // atrram 2 map(0xf000, 0xf7ff).ram().share("nvram"); map(0xf800, 0xffff).ram(); } WRITE8_MEMBER(sanghopm_state::coincount_w) { /* 7654 3210 ---- ---x Coin Out counter. ---- x--- Coin A counter.. ---x ---- Coin B counter. --x- ---- Key In counter. -x-- ---- Coin C counter. x--- -xx- Unknown. */ machine().bookkeeping().coin_counter_w(0, data & 0x08); /* counter1 coin a */ machine().bookkeeping().coin_counter_w(1, data & 0x10); /* counter2 coin b */ machine().bookkeeping().coin_counter_w(2, data & 0x20); /* counter3 key in */ machine().bookkeeping().coin_counter_w(3, data & 0x40); /* counter4 coin c */ machine().bookkeeping().coin_counter_w(4, data & 0x01); /* counter5 payout */ } WRITE8_MEMBER(sanghopm_state::enable_w) { m_enable_reg = data; } void sanghopm_state::star100_readport(address_map &map) { map.global_mask(0xff); map(0x08, 0x08).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0x0c, 0x0c).w("aysnd", FUNC(ay8910_device::address_w)); map(0x10, 0x10).portr("IN0"); map(0x11, 0x11).portr("IN1"); map(0x12, 0x12).portr("IN2"); map(0x13, 0x13).portr("IN3"); map(0x14, 0x14).portr("DSW1"); map(0x1c, 0x1c).w("ramdac", FUNC(ramdac_device::index_w)); map(0x1d, 0x1d).w("ramdac", FUNC(ramdac_device::pal_w)); map(0x1e, 0x1e).w("ramdac", FUNC(ramdac_device::mask_w)); map(0x20, 0x20).portr("DSW4-0"); // the first 4 bits map to DSW4 1 to 4. map(0x21, 0x21).portr("DSW4-1"); // the first 4 bits map to DSW4 5 to 8. map(0x24, 0x24).w(FUNC(sanghopm_state::coincount_w)); // coin counters. map(0x25, 0x25).portr("DSW2"); map(0x26, 0x26).portr("DSW3"); map(0xe0, 0xe0).nopw(); // Writing 0's and 1's constantly. Watchdog feeder? map(0xe1, 0xe1).w(FUNC(sanghopm_state::enable_w)); // enable/disable reels register. } /* 08: W (3F) AY8910 data 0C: W (07) AY8910 address 10: R Input #0 11: R Input #1 12: R Input #2 13: R Input #3 14: R DSW #1 17: W 1C: W \ these looks like RAMDAC commands. After write to 1C, there are 3 writes to 1D. 1D: W / bp: 6c5b. 1E: W (FF) --> seems the RAMDAC mask. 20: R DSW #4-0 21: R DSW #4-1 22: W 24: W 25: R DSW #2 26: R DSW #3 2F: W (9C) E0: W E1: W Reels enable/disable register */ void goldstar_state::ramdac_map(address_map &map) { map(0x000, 0x3ff).rw("ramdac", FUNC(ramdac_device::ramdac_pal_r), FUNC(ramdac_device::ramdac_rgb666_w)); } /* RAMDAC written commands: 1C 1D 1D 1D 1C 1D 1D 1D 1C 1D 1D 1D 1C 1D 1D 1D ------------- ------------- ------------- ------------- 00 00 00 00 10 00 00 00 20 00 00 00 30 00 00 00 01 E8 18 06 11 E8 18 06 21 E8 18 06 31 E8 18 06 02 FC EA 00 12 FC EA 00 22 FC EA 00 32 FC EA 00 03 FF FF 00 13 FF FF 00 23 FF FF 00 33 FF FF 00 04 FF 00 00 14 FF 00 00 24 FF 00 00 34 FF 00 00 05 00 00 FF 15 00 00 FF 25 00 00 FF 35 00 00 FF 06 00 E6 00 16 00 E6 00 26 00 E6 00 36 00 E6 00 07 01 F0 02 17 01 F0 02 27 01 F0 02 37 01 F0 02 08 EF FF E8 18 EF FF E8 28 EF FF E8 38 EF FF E8 09 12 08 F2 19 12 08 F2 29 12 08 F2 39 12 08 F2 0A 1A 12 FF 1A 1A 12 FF 2A 1A 12 FF 3A 1A 12 FF 0B 1F 1F F9 1B 1F 1F F9 2B 1F 1F F9 3B 1F 1F F9 0C F9 F9 F9 1C F9 F9 F9 2C F9 F9 F9 3C F9 F9 F9 0D EF 18 00 1D EF 18 00 2D EF 18 00 3D EF 18 00 0E F0 F0 F0 1E F0 F0 F0 2E F0 F0 F0 3E F0 F0 F0 0F FF FF FF 1F FF 00 00 2F 00 FF FF 3F 00 FF 00 1C 1D 1D 1D 1C 1D 1D 1D 1C 1D 1D 1D 1C 1D 1D 1D ------------- ------------- ------------- ------------- 40 00 00 00 50 00 00 00 60 00 00 00 70 00 00 00 41 E8 18 06 51 E8 18 06 61 E8 18 06 71 E8 18 06 42 FC EA 00 52 FC EA 00 62 FC EA 00 72 FC EA 00 43 FF FF 00 53 FF FF 00 63 FF FF 00 73 FF FF 00 44 FF 00 00 54 FF 00 00 64 FF 00 00 74 FF 00 00 45 00 00 FF 55 00 00 FF 65 00 00 FF 75 00 00 FF 46 00 E6 00 56 00 E6 00 66 00 E6 00 76 00 E6 00 47 01 F0 02 57 01 F0 02 67 01 F0 02 77 01 F0 02 48 EF FF E8 58 EF FF E8 68 EF FF E8 78 EF FF E8 49 12 08 F2 59 12 08 F2 69 12 08 F2 79 12 08 F2 4A 1A 12 FF 5A 1A 12 FF 6A 1A 12 FF 7A 1A 12 FF 4B 1F 1F F9 5B 1F 1F F9 6B 1F 1F F9 7B 1F 1F F9 4C F9 F9 F9 5C F9 F9 F9 6C F9 F9 F9 7C F9 F9 F9 4D EF 18 00 5D EF 18 00 6D EF 18 00 7D EF 18 00 4E F0 F0 F0 5E 01 EC FF 6E 00 00 00 7E 00 00 00 4F FF FF 00 5F 00 00 00 6F 01 EC FF 7F 00 00 00 1C 1D 1D 1D 1C 1D 1D 1D 1C 1D 1D 1D 1C 1D 1D 1D ------------- ------------- ------------- ------------- 80 28 28 28 90 28 28 28 A0 28 28 28 B0 28 28 28 81 FF ED E3 91 0B 00 00 A1 18 11 00 B1 02 16 00 82 FF F7 1E 92 13 00 00 A2 00 E1 00 B2 02 E1 00 83 FF F8 18 93 1C 00 00 A3 00 E8 00 B3 01 ED 02 84 14 0B 0B 94 E5 00 00 A4 13 F0 00 B4 02 FA 09 85 1F 10 0A 95 ED 00 00 A5 FF F7 1E B5 F1 1A 00 86 E3 13 08 96 F6 00 00 A6 FF F0 EE B6 F1 EA 00 87 E8 18 06 97 FF 05 0D A7 EF 18 00 B7 1F 00 00 88 EC 1E 03 98 FF 0C 13 A8 F4 1B 00 B8 F2 00 00 89 F0 E3 02 99 FF 13 19 A9 FD 1F 00 B9 FF 00 00 8A F5 E9 01 9A FF 1A 1F AA FF E3 00 BA FF 0C 02 8B FA EF 01 9B FF E2 E6 AB FF EA 00 BB FF 18 06 8C FF F6 00 9C FF E9 EC AC FF F1 00 BC FF E3 0A 8D FF FF 00 9D FF F0 F2 AD FF F8 00 BD FF EC 19 8E FF FF 1F 9E FF F7 F8 AE FF FF 00 BE FF F4 1F 8F FF FF FF 9F FF FF FF AF FF FF 1F BF FF FF FF 1C 1D 1D 1D 1C 1D 1D 1D 1C 1D 1D 1D 1C 1D 1D 1D ------------- ------------- ------------- ------------- C0 28 28 28 D0 28 28 28 E0 28 28 28 F0 12 12 E0 C1 F1 E6 00 D1 00 00 E4 E1 00 05 00 F1 1B 00 00 C2 F8 F1 00 D2 00 00 FF E2 00 0A 00 F2 E0 10 04 C3 FF FF 00 D3 00 13 FF E3 00 10 00 F3 E9 14 05 C4 14 07 E7 D4 00 1A FF E4 00 15 00 F4 EF 1E 12 C5 15 0C EF D5 00 E8 FF E5 00 1B 00 F5 EC E3 1A C6 1A 12 FA D6 16 0B 00 E6 00 E0 00 F6 EE 05 04 C7 1B 16 FA D7 19 0F 00 E7 00 E6 00 F7 F4 05 04 C8 1D 1A FB D8 1D 14 00 E8 04 EC 05 F8 FE 04 04 C9 1F 1E FC D9 E5 1A 00 E9 0C F2 0E F9 F6 E4 15 CA E2 E2 FC DA EE E0 00 EA 15 F8 18 FA F8 EC E0 CB E6 E7 FD DB F6 E6 00 EB E0 FF E3 FB FD F0 E4 CC EA EC FE DC FF ED 00 EC FD 0C 02 FC FF F6 E7 CD EF F1 FF DD FF F6 00 ED FD 12 0D FD FF FA EA CE F6 F8 FF DE FF FF 00 EE FE 1A 18 FE FF FF F2 CF FF FF FF DF FF FF FF EF FF E4 E4 FF FF FF FF And set again.... 1C 1D 1D 1D 1C 1D 1D 1D ------------- ------------- 70 00 00 00 F0 12 12 E0 71 18 0C F6 F1 1B 00 00 72 1B 13 0B F2 E0 10 04 73 E1 15 1E F3 E9 14 05 74 F3 E9 E4 F4 EF 1E 12 75 F3 E7 00 F5 EC E3 1A 76 FE 17 E3 F6 EE 05 04 77 FE 0C F1 F7 F4 05 04 78 FD E3 13 F8 FE 04 04 79 FE ED 05 F9 F6 E4 15 7A FF F5 03 FA F8 EC E0 7B FF FB 14 FB FD F0 E4 7C FC FB FA FC FF F6 E7 7D FF FC E0 FD FF FA EA 7E FE FE FC FE FF FF F2 7F FF 00 FF FF FF FF FF */ WRITE8_MEMBER(goldstar_state::ncb3_port81_w) { // if (data!=0x00) // popmessage("ncb3_port81_w %02x\n",data); } void cb3_state::ncb3_map(address_map &map) { map(0x0000, 0xb7ff).rom(); map(0xb800, 0xbfff).ram().share("nvram"); map(0xc000, 0xc7ff).rom(); map(0xc800, 0xcfff).ram().w(FUNC(cb3_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0xd000, 0xd7ff).ram().w(FUNC(cb3_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0xd800, 0xd9ff).ram().w(FUNC(cb3_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xe000, 0xe1ff).ram().w(FUNC(cb3_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xe800, 0xe9ff).ram().w(FUNC(cb3_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xf040, 0xf07f).ram().share("reel1_scroll"); map(0xf080, 0xf0bf).ram().share("reel2_scroll"); map(0xf100, 0xf17f).ram().share("reel3_scroll"); // moved compared to goldstar map(0xf800, 0xf803).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xf810, 0xf813).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xf820, 0xf823).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input/Output Ports */ map(0xf822, 0xf822).w(FUNC(cb3_state::goldstar_fa00_w)); // hack (connected to ppi output port?, needed for colour banking) map(0xf830, 0xf830).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xf840, 0xf840).w("aysnd", FUNC(ay8910_device::address_w)); map(0xf850, 0xf850).w(FUNC(cb3_state::p1_lamps_w)); /* Control Set 1 lamps */ map(0xf860, 0xf860).w(FUNC(cb3_state::p2_lamps_w)); /* Control Set 2 lamps */ map(0xf870, 0xf870).w("snsnd", FUNC(sn76489_device::write)); /* guess... device is initialized, but doesn't seems to be used.*/ } void cb3_state::chryangla_map(address_map &map) // most to be verified when the game will show more than test screens only { map(0x0000, 0xbfff).rom(); map(0xc000, 0xc7ff).ram().share("nvram"); map(0xc800, 0xcfff).ram().w(FUNC(cb3_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0xd000, 0xd7ff).ram().w(FUNC(cb3_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0xd800, 0xd9ff).ram().w(FUNC(cb3_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xe000, 0xe1ff).ram().w(FUNC(cb3_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xe800, 0xe9ff).ram().w(FUNC(cb3_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xf040, 0xf07f).ram().share("reel1_scroll"); map(0xf080, 0xf0bf).ram().share("reel2_scroll"); map(0xf100, 0xf17f).ram().share("reel3_scroll"); // moved compared to goldstar map(0xf800, 0xf803).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xf810, 0xf813).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xf820, 0xf823).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input/Output Ports */ map(0xf822, 0xf822).w(FUNC(cb3_state::goldstar_fa00_w)); // hack (connected to ppi output port?, needed for colour banking) map(0xf830, 0xf830).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xf840, 0xf840).w("aysnd", FUNC(ay8910_device::address_w)); map(0xf850, 0xf850).w(FUNC(cb3_state::p1_lamps_w)); /* Control Set 1 lamps */ map(0xf860, 0xf860).w(FUNC(cb3_state::p2_lamps_w)); /* Control Set 2 lamps */ map(0xf870, 0xf870).w("snsnd", FUNC(sn76489_device::write)); /* guess... device is initialized, but doesn't seems to be used.*/ } void cb3_state::chryangla_decrypted_opcodes_map(address_map &map) { map(0x0000, 0xbfff).rom().share("decrypted_opcodes"); map(0xf800, 0xffff).ram(); } void goldstar_state::ncb3_readwriteport(address_map &map) { map.global_mask(0xff); // map(0x00, 0x00).r(FUNC(goldstar_state::ncb3_unkread_r)); // read from 0x00 when controls set 1 is used... // map(0x02, 0x02).r(FUNC(goldstar_state::ncb3_unkread_r)); // read from 0x02 when controls set 2 is used... // map(0x06, 0x06).r(FUNC(goldstar_state::ncb3_unkread_r)); // unknown... // map(0x08, 0x08).r(FUNC(goldstar_state::ncb3_unkread_r)); // unknown... map(0x10, 0x10).portr("DSW5"); /* confirmed for ncb3 */ map(0x81, 0x81).w(FUNC(goldstar_state::ncb3_port81_w)); // ---> large writes. } /* ncb3 findings... c101-c102 = unknown writes... f800-f803 = 8255_1 (ctrl=9b) ; portA, B & C (input) f810-f813 = 8255_2 (ctrl=9b) ; portA, B & C (input) f820-f823 = 8255_3 (ctrl=90) ; portA (input); ports B & C (output) f830 = AY8910 RW f840 = AY8910 ctrl f850 = control set 1 lamps f860 = control set 2 lamps f870 = PSG (init writes) I/O 00 = RW (chrygld, ncb3 in ctrl set1) 02 = R (W - ncb3 in ctrl set2) 06 = W 08 = RW 81 = W 00-0f = initial seq. writes Controls Set 1 = write lamps to f850, read from 0002. Controls Set 2 = write lamps to f860, read from 0000. Controls Set 2 is using reels stop buttons from Controls Set 1. So, seems that control set 2 was meant for non-stop reels. */ void goldstar_state::wcherry_map(address_map &map) { map(0x0000, 0xb7ff).rom(); map(0xb800, 0xbfff).ram().share("nvram"); map(0xc000, 0xc7ff).rom(); /* Video RAM and reels stuff are there just as placeholder, and obviously in wrong offset */ map(0xc800, 0xcfff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0xd000, 0xd7ff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0xd800, 0xd9ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xe000, 0xe1ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xe800, 0xe9ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xf040, 0xf07f).ram().share("reel1_scroll"); map(0xf080, 0xf0bf).ram().share("reel2_scroll"); map(0xf0c0, 0xf0ff).ram().share("reel3_scroll"); /* Not really PPI's... They are emulated/simulated inside the CPLDs */ map(0xf600, 0xf603).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xf610, 0xf613).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xf620, 0xf623).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input/Output Ports */ map(0xf630, 0xf630).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xf640, 0xf640).w("aysnd", FUNC(ay8910_device::address_w)); map(0xf650, 0xf650).nopw(); //.w(FUNC(goldstar_state::output_w)); // unknown register: 0x3e map(0xf660, 0xf660).nopw(); //.w(FUNC(goldstar_state::output_w)); // unknown register: 0x3e map(0xf670, 0xf670).w("snsnd", FUNC(sn76489_device::write)); /* guess... device is initialized, but doesn't seems to be used.*/ map(0xfc00, 0xffff).rom(); } void goldstar_state::wcherry_readwriteport(address_map &map) { map.global_mask(0xff); } /* wcherry findings... 0000-bfff = ROM space. b000-b7ff = NVRAM. c000-c7ff = ROM space. f600-f603 = 8255_1 (ctrl=9b) ; portA, B & C (input) f610-f613 = 8255_2 (ctrl=9b) ; portA, B & C (input) f620-f623 = 8255_3 (ctrl=90) ; portA (input); ports B & C (output) f630 = AY8910 RW f640 = AY8910 ctrl f650 = Unknown. Seems a register. Writes 0x3e. f660 = Unknown. Seems a register. Writes 0x3e. f670 = PSG (init writes) I/O */ void goldstar_state::cm_map(address_map &map) { map(0x0000, 0xcfff).rom().nopw(); map(0xd000, 0xd7ff).ram().share("nvram"); map(0xd800, 0xdfff).ram(); map(0xe000, 0xe7ff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0xe800, 0xefff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0xf000, 0xf1ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xf200, 0xf3ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xf400, 0xf5ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xf600, 0xf7ff).ram(); map(0xf800, 0xf87f).ram().share("reel1_scroll"); map(0xf880, 0xf9ff).ram(); map(0xfa00, 0xfa7f).ram().share("reel2_scroll"); map(0xfa80, 0xfbff).ram(); map(0xfc00, 0xfc7f).ram().share("reel3_scroll"); map(0xfc80, 0xffff).ram(); } void goldstar_state::nfm_map(address_map &map) { map(0x0000, 0xd7ff).rom().nopw(); map(0xd800, 0xdfff).ram().share("nvram"); map(0xe000, 0xe7ff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0xe800, 0xefff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0xf000, 0xf1ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xf200, 0xf3ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xf400, 0xf5ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xf600, 0xf7ff).ram(); map(0xf800, 0xf87f).ram().share("reel1_scroll"); map(0xf880, 0xf9ff).ram(); map(0xfa00, 0xfa7f).ram().share("reel2_scroll"); map(0xfa80, 0xfbff).ram(); map(0xfc00, 0xfc7f).ram().share("reel3_scroll"); map(0xfc80, 0xffff).ram(); } WRITE8_MEMBER(goldstar_state::cm_coincount_w) { /* bits 7654 3210 ---- ---x Coin Out counter ---- x--- Coin D counter ---x ---- Coin C counter --x- ---- Key In counter -x-- ---- Coin A counter x--- -xx- unknown interestingly there is no counter for coin B in the cm/cmaster games */ machine().bookkeeping().coin_counter_w(0, data & 0x40); /* Counter 1 Coin A */ machine().bookkeeping().coin_counter_w(1, data & 0x20); /* Counter 2 Key In */ machine().bookkeeping().coin_counter_w(2, data & 0x10); /* Counter 3 Coin C */ machine().bookkeeping().coin_counter_w(3, data & 0x08); /* Counter 4 Coin D */ machine().bookkeeping().coin_counter_w(4, data & 0x01); /* Counter 5 Payout */ // if (data & 0x86) // triggered by fb2010 // popmessage("counters: %02X", data); } void cmaster_state::cm_portmap(address_map &map) { map.global_mask(0xff); map(0x01, 0x01).r("aysnd", FUNC(ay8910_device::data_r)); map(0x02, 0x03).w("aysnd", FUNC(ay8910_device::data_address_w)); map(0x04, 0x07).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Inputs */ map(0x08, 0x0b).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* DIP switches */ map(0x10, 0x10).w(FUNC(cmaster_state::outport0_w)); map(0x11, 0x11).w(FUNC(cmaster_state::cm_coincount_w)); map(0x12, 0x12).w(FUNC(cmaster_state::p1_lamps_w)); map(0x13, 0x13).w(FUNC(cmaster_state::background_col_w)); map(0x14, 0x14).w(FUNC(cmaster_state::girl_scroll_w)); } void cmaster_state::cm97_portmap(address_map &map) // TODO: other reads/writes { map.global_mask(0xff); map(0x09, 0x09).r("aysnd", FUNC(ay8910_device::data_r)); map(0x0a, 0x0b).w("aysnd", FUNC(ay8910_device::data_address_w)); map(0x0c, 0x0c).portr("DSW1"); map(0x0d, 0x0d).portr("DSW2"); map(0x0e, 0x0e).portr("DSW3"); map(0x10, 0x10).portr("IN0"); map(0x11, 0x11).portr("IN1"); map(0x12, 0x12).portr("IN2").w(FUNC(cmaster_state::outport0_w)); } void cmaster_state::ss2001_portmap(address_map &map) // TODO: everything but ay { map.global_mask(0xff); map(0x01, 0x01).r("aysnd", FUNC(ay8910_device::data_r)); map(0x02, 0x03).w("aysnd", FUNC(ay8910_device::data_address_w)); map(0x13, 0x13).portr("IN0"); map(0x14, 0x14).portr("IN1"); map(0x15, 0x15).portr("IN2"); map(0x16, 0x16).portr("DSW1"); map(0x17, 0x17).portr("DSW2"); } void cmaster_state::chryangl_decrypted_opcodes_map(address_map &map) { map(0x0000, 0xf7ff).rom().share("decrypted_opcodes"); map(0xf800, 0xffff).ram(); } void goldstar_state::crazybon_portmap(address_map &map) { map.global_mask(0xff); map(0x04, 0x04).r("aysnd", FUNC(ay8910_device::data_r)); map(0x08, 0x08).w("aysnd", FUNC(ay8910_device::data_w)); map(0x0c, 0x0c).w("aysnd", FUNC(ay8910_device::address_w)); map(0x10, 0x10).portr("IN0"); map(0x11, 0x11).portr("IN1"); map(0x12, 0x12).portr("IN2"); map(0x20, 0x20).portr("DSW3-0"); map(0x21, 0x21).portr("DSW3-1"); map(0x22, 0x22).w(FUNC(goldstar_state::p1_lamps_w)); map(0x24, 0x24).w(FUNC(goldstar_state::cm_coincount_w)); map(0x25, 0x25).portr("DSW1"); map(0x26, 0x26).portr("DSW2"); map(0xf0, 0xf0).nopw(); /* Writing 0's and 1's constantly. Watchdog feeder? */ } void goldstar_state::pkrmast_portmap(address_map &map) { map.global_mask(0xff); map(0x02, 0x02).portr("DSW6"); map(0x03, 0x03).portr("DSW7"); map(0x04, 0x04).r("aysnd", FUNC(ay8910_device::data_r)); map(0x08, 0x08).w("aysnd", FUNC(ay8910_device::data_w)); map(0x0c, 0x0c).w("aysnd", FUNC(ay8910_device::address_w)); map(0x20, 0x20).portr("DSW1"); map(0x21, 0x21).portr("DSW2"); map(0x22, 0x22).portr("DSW3").w(FUNC(goldstar_state::p1_lamps_w)); map(0x24, 0x24).portr("IN2").w(FUNC(goldstar_state::cm_coincount_w)); map(0x25, 0x25).portr("IN0"); map(0x26, 0x26).portr("IN1"); map(0x29, 0x29).portr("DSW4"); // actually it reads DSW4 and DSW5. Muxed? map(0xf0, 0xf0).nopw(); /* Writing 0's and 1's constantly. Watchdog feeder? */ } void goldstar_state::cmast91_portmap(address_map &map) { map.global_mask(0xff); map(0x00, 0x03).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0x10, 0x13).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* DIP switches */ map(0x21, 0x21).r("aysnd", FUNC(ay8910_device::data_r)); map(0x22, 0x23).w("aysnd", FUNC(ay8910_device::data_address_w)); } void cmaster_state::amcoe1_portmap(address_map &map) { map.global_mask(0xff); map(0x01, 0x01).r("aysnd", FUNC(ay8910_device::data_r)); map(0x02, 0x03).w("aysnd", FUNC(ay8910_device::data_address_w)); map(0x04, 0x07).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0x08, 0x0b).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* DIP switches */ map(0x10, 0x10).w(FUNC(cmaster_state::outport0_w)); map(0x11, 0x11).w(FUNC(cmaster_state::cm_coincount_w)); map(0x12, 0x12).w(FUNC(cmaster_state::p1_lamps_w)); map(0x13, 0x13).w(FUNC(cmaster_state::background_col_w)); map(0x20, 0x20).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); } void cmaster_state::amcoe2_portmap(address_map &map) { map.global_mask(0xff); map(0x01, 0x01).r("aysnd", FUNC(ay8910_device::data_r)); map(0x02, 0x03).w("aysnd", FUNC(ay8910_device::data_address_w)); map(0x04, 0x07).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0x08, 0x0b).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* DIP switches */ map(0x10, 0x10).w(FUNC(cmaster_state::outport0_w)); map(0x11, 0x11).w(FUNC(cmaster_state::cm_coincount_w)); map(0x12, 0x12).w(FUNC(cmaster_state::p1_lamps_w)); map(0x13, 0x13).w(FUNC(cmaster_state::background_col_w)); } void goldstar_state::lucky8_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0x87ff).ram().share("nvram"); map(0x8800, 0x8fff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0x9000, 0x97ff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0x9800, 0x99ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xa000, 0xa1ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xa800, 0xa9ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xb040, 0xb07f).ram().share("reel1_scroll"); map(0xb080, 0xb0bf).ram().share("reel2_scroll"); map(0xb100, 0xb17f).ram().share("reel3_scroll"); map(0xb800, 0xb803).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb810, 0xb813).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb820, 0xb823).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input/Output Ports */ map(0xb830, 0xb830).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xb840, 0xb840).w("aysnd", FUNC(ay8910_device::address_w)); /* no sound... only use both ports for DSWs */ map(0xb850, 0xb850).w(FUNC(goldstar_state::p1_lamps_w)); map(0xb860, 0xb860).w(FUNC(goldstar_state::p2_lamps_w)); map(0xb870, 0xb870).w("snsnd", FUNC(sn76489_device::write)); /* sound */ map(0xc000, 0xf7ff).rom(); // could be used by some sets like super972. map(0xf800, 0xffff).ram(); } void goldstar_state::common_decrypted_opcodes_map(address_map &map) { map(0x0000, 0x7fff).rom().share("decrypted_opcodes"); } void goldstar_state::super972_decrypted_opcodes_map(address_map &map) { map(0x0000, 0xefff).rom().share("decrypted_opcodes"); } void goldstar_state::flaming7_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0x87ff).ram().share("nvram"); map(0x8800, 0x8fff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0x9000, 0x97ff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0x9800, 0x99ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); // map(0x9a00, 0x9fff).ram(); map(0xa000, 0xa1ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); // map(0xa200, 0xa7ff).ram(); map(0xa800, 0xa9ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); // map(0xaa00, 0xafff).ram(); // map(0xb000, 0xb03f).ram(); map(0xb040, 0xb07f).ram().share("reel1_scroll"); map(0xb080, 0xb0bf).ram().share("reel2_scroll"); // map(0xb0c0, 0xb0ff).ram(); map(0xb100, 0xb17f).ram().share("reel3_scroll"); map(0xb180, 0xb7ff).ram(); map(0xb800, 0xb803).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports (92) */ map(0xb810, 0xb813).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports (9B) */ map(0xb820, 0xb823).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input/Output Ports (90) */ map(0xb830, 0xb830).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xb840, 0xb840).w("aysnd", FUNC(ay8910_device::address_w)); /* no sound... only use both ports for DSWs */ map(0xb850, 0xb850).w(FUNC(goldstar_state::p1_lamps_w)); map(0xb860, 0xb860).w(FUNC(goldstar_state::p2_lamps_w)); map(0xb870, 0xb870).w("snsnd", FUNC(sn76489_device::write)); /* sound */ // map(0xc000, 0xd3ff).ram(); map(0xf800, 0xffff).ram(); } /* W 9A00-B7FF FF RW B000-B7FF 00 Flaming7 custom hardware writes the bonus graphics at 9A80-9A89, and the "reel scroll" at B0C0-B0FF... */ /* need to check item by item... PPIs are OK: B800 = 9B (A, B, C, all input) B810 = 9B (A, B, C, all input) B820 = 90 (A input, B & C output) RAM/ROM/NVRAM are OK. Reels RAM and scroll are OK. (only reel 2 seems to be used by the game) Video & atr RAM are OK. PSG is OK. AY8910 ports are OK. */ void goldstar_state::mbstar_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0x87ff).ram().share("nvram"); map(0x8800, 0x8fff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0x9000, 0x97ff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0x9800, 0x99ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xa000, 0xa1ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xa800, 0xa9ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xb040, 0xb07f).ram().share("reel1_scroll"); map(0xb080, 0xb0bf).ram().share("reel2_scroll"); map(0xb100, 0xb17f).ram().share("reel3_scroll"); map(0xb800, 0xb803).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb810, 0xb813).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb820, 0xb823).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input/Output Ports */ map(0xb830, 0xb830).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xb840, 0xb840).w("aysnd", FUNC(ay8910_device::address_w)); /* no sound... only use both ports for DSWs */ map(0xb850, 0xb850).w(FUNC(goldstar_state::p1_lamps_w)); map(0xb860, 0xb860).w(FUNC(goldstar_state::p2_lamps_w)); map(0xb870, 0xb870).w("snsnd", FUNC(sn76489_device::write)); /* sound */ map(0xc000, 0xf7ff).rom(); map(0xf800, 0xffff).ram(); } WRITE8_MEMBER(wingco_state::magodds_outb850_w) { // guess, could be wrong, this might just be lights if (data&0x20) m_tile_bank = 1; else m_tile_bank = 0; //popmessage("magodds_outb850_w %02x\n", data); m_fg_tilemap->mark_all_dirty(); } WRITE8_MEMBER(wingco_state::magodds_outb860_w) { // popmessage("magodds_outb860_w %02x\n", data); } WRITE8_MEMBER(wingco_state::fl7w4_outc802_w) { m_fl7w4_id->write((data >> 6) & 0x01); } void wingco_state::magodds_map(address_map &map) { map(0x0000, 0x7fff).rom(); // where does the extra rom data map?? it seems like it should come straight after the existing rom, but it can't if this is a plain z80? map(0x8000, 0x87ff).ram().share("nvram"); map(0x8800, 0x8fff).ram().w(FUNC(wingco_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0x9000, 0x97ff).ram().w(FUNC(wingco_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0x9800, 0x99ff).ram().w(FUNC(wingco_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xa000, 0xa1ff).ram().w(FUNC(wingco_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xa900, 0xaaff).ram().w(FUNC(wingco_state::goldstar_reel3_ram_w)).share("reel3_ram"); // +0x100 compared to lucky8 map(0xb040, 0xb07f).ram().share("reel1_scroll"); map(0xb080, 0xb0bf).ram().share("reel2_scroll"); map(0xb100, 0xb17f).ram().share("reel3_scroll"); map(0xb800, 0xb803).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb810, 0xb813).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb820, 0xb823).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input/Output Ports */ map(0xb830, 0xb830).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xb840, 0xb840).w("aysnd", FUNC(ay8910_device::address_w)); /* no sound... only use both ports for DSWs */ map(0xb850, 0xb850).w(FUNC(wingco_state::magodds_outb850_w)); /* lamps */ map(0xb860, 0xb860).w(FUNC(wingco_state::magodds_outb860_w)); /* watchdog */ map(0xb870, 0xb870).w("snsnd", FUNC(sn76489_device::write)); /* sound */ map(0xc000, 0xffff).rom().region("maincpu", 0xc000); } void goldstar_state::kkotnoli_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0x87ff).ram(); /* definitely no NVRAM */ map(0x8800, 0x8fff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0x9000, 0x97ff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0x9800, 0x99ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xa000, 0xa1ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xa800, 0xa9ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xb040, 0xb07f).ram().share("reel1_scroll"); map(0xb080, 0xb0bf).ram().share("reel2_scroll"); map(0xb100, 0xb17f).ram().share("reel3_scroll"); map(0xb800, 0xb803).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb810, 0xb813).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb820, 0xb823).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Port */ map(0xb830, 0xb830).nopw(); /* no ay8910 */ map(0xb840, 0xb840).nopw(); /* no ay8910 */ map(0xb850, 0xb850).w(FUNC(goldstar_state::p1_lamps_w)); map(0xb870, 0xb870).w("snsnd", FUNC(sn76489_device::write)); /* sound */ map(0xf800, 0xffff).ram(); } //WRITE8_MEMBER(goldstar_state::ladylinr_outport_w) //{ /* LAMPS (b840)... .... ...x .... ..x. .... .x.. .... x... BET ...x .... SMALL/INFO ..x. .... START .x.. .... x... .... */ // popmessage("Output: %02X", data); //} void goldstar_state::ladylinr_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0x87ff).ram().share("nvram"); map(0x8800, 0x8fff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0x9000, 0x97ff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0x9800, 0x99ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xa000, 0xa1ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xa800, 0xa9ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xb040, 0xb07f).ram().share("reel1_scroll"); map(0xb080, 0xb0bf).ram().share("reel2_scroll"); map(0xb100, 0xb17f).ram().share("reel3_scroll"); map(0xb800, 0xb803).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb810, 0xb813).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* DSW bank */ map(0xb830, 0xb830).w("aysnd", FUNC(ay8910_device::address_w)); /* no sound... unused? */ map(0xb840, 0xb840).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xb850, 0xb850).nopw(); /* just turn off the lamps, if exist */ map(0xb870, 0xb870).w("snsnd", FUNC(sn76489_device::write)); /* sound */ map(0xf800, 0xffff).ram(); } void goldstar_state::wcat3_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0x8000, 0x87ff).ram().share("nvram"); map(0x8800, 0x8fff).ram().w(FUNC(goldstar_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0x9000, 0x97ff).ram().w(FUNC(goldstar_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0x9800, 0x99ff).ram().w(FUNC(goldstar_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xa000, 0xa1ff).ram().w(FUNC(goldstar_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xa800, 0xa9ff).ram().w(FUNC(goldstar_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xb040, 0xb07f).ram().share("reel1_scroll"); map(0xb080, 0xb0bf).ram().share("reel2_scroll"); map(0xb100, 0xb17f).ram().share("reel3_scroll"); map(0xb800, 0xb803).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb810, 0xb813).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input Ports */ map(0xb820, 0xb823).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Input/Output Ports */ map(0xb830, 0xb830).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); map(0xb840, 0xb840).w("aysnd", FUNC(ay8910_device::address_w)); /* no sound... only use both ports for DSWs */ map(0xb850, 0xb850).w(FUNC(goldstar_state::p1_lamps_w)); map(0xb870, 0xb870).w("snsnd", FUNC(sn76489_device::write)); /* sound */ // map(0xc000, 0xc003).rw("ppi8255_3", FUNC(i8255_device::read), FUNC(i8255_device::write)); /* Other PPI initialized? */ map(0xd000, 0xefff).rom(); map(0xf000, 0xffff).ram(); } /* newer / more capable hw */ void unkch_state::unkch_map(address_map &map) { map(0x0000, 0x9fff).rom(); map(0xc000, 0xc1ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette"); map(0xc800, 0xc9ff).ram().w(m_palette, FUNC(palette_device::write8_ext)).share("palette_ext"); map(0xd000, 0xd7ff).ram().share("nvram"); map(0xd840, 0xd87f).ram().share("reel1_scroll"); map(0xd880, 0xd8bf).ram().share("reel2_scroll"); map(0xd900, 0xd93f).ram().share("reel3_scroll"); map(0xdfc0, 0xdfff).ram(); map(0xe000, 0xe7ff).ram().w(FUNC(unkch_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0xe800, 0xefff).ram().w(FUNC(unkch_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0xf000, 0xf1ff).ram().w(FUNC(unkch_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xf200, 0xf3ff).ram().w(FUNC(unkch_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xf400, 0xf5ff).ram().w(FUNC(unkch_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xf600, 0xf7ff).ram(); map(0xf800, 0xf9ff).ram().w(FUNC(unkch_state::reel1_attrram_w)).share("reel1_attrram"); map(0xfa00, 0xfbff).ram().w(FUNC(unkch_state::reel2_attrram_w)).share("reel2_attrram"); map(0xfc00, 0xfdff).ram().w(FUNC(unkch_state::reel3_attrram_w)).share("reel3_attrram"); map(0xfe00, 0xffff).ram(); } WRITE8_MEMBER(unkch_state::coincount_w) { /* 7654 3210 ---- --x- Payout counter (rate set with DIP switches) ---- -x-- Credit counter (1 pulse/10 credits) ---- x--- Key In counter --xx ---- used for something during ticket dispensing x--- ---- Ticket Dispenser Motor -x-- ---x unused/unknown */ m_ticket_dispenser->motor_w(BIT(data, 7)); machine().bookkeeping().coin_counter_w(0, data & 0x04); /* Credit counter */ machine().bookkeeping().coin_counter_w(1, data & 0x08); /* Key In counter */ machine().bookkeeping().coin_counter_w(2, data & 0x02); /* payout counter */ //popmessage("coin counters: %02x", data); } WRITE8_MEMBER(unkch_state::unkcm_0x02_w) { /* bits 7654 3210 ---- ---x button lamp: Bet-A / Stop 2 ---- --x- button lamp: Start / Stop All ---- -x-- button lamp: Info / Small / Stop 3 ---- x--- button lamp: Big ---x ---- button lamp: Bet-B / D-Up --x- ---- button lamp: Take / Stop 1 -x-- ---- unknown/unused x--- ---- vblank IRQ enable these sets use crude PWM to dim lamp 2 which requires filament physics simulation to work properly */ //popmessage("unkcm_0x02_w %02x", data); m_vblank_irq_enable = data & 0x80; if (!m_vblank_irq_enable) m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); m_lamps[0] = BIT(data, 0); /* Bet-A / Stop 2 */ m_lamps[1] = BIT(data, 1); /* Start / Stop All */ m_lamps[2] = BIT(data, 2); /* Info / Small / Stop 3 */ m_lamps[3] = BIT(data, 3); /* Big */ m_lamps[4] = BIT(data, 4); /* Bet-B / D-Up */ m_lamps[5] = BIT(data, 5); /* Take / Stop 1 */ } WRITE8_MEMBER(unkch_state::unkcm_0x03_w) { //popmessage("unkcm_0x03_w %02x", data); m_vidreg = data; // -x-- ---- seems to toggle when a 'normal' tilemap should be displayed instead of the reels? } void unkch_state::unkch_portmap(address_map &map) { map.global_mask(0xff); map(0x01, 0x01).w(FUNC(unkch_state::coincount_w)); map(0x02, 0x02).w(FUNC(unkch_state::unkcm_0x02_w)); map(0x03, 0x03).w(FUNC(unkch_state::unkcm_0x03_w)); map(0x08, 0x08).portr("IN0"); map(0x09, 0x09).portr("IN1"); map(0x0a, 0x0a).portr("DSW4"); map(0x0b, 0x0b).portr("DSW3"); map(0x10, 0x10).r("aysnd", FUNC(ay8910_device::data_r)); map(0x11, 0x11).w("aysnd", FUNC(ay8910_device::data_w)); map(0x12, 0x12).w("aysnd", FUNC(ay8910_device::address_w)); } void unkch_state::megaline_map(address_map &map) { /* Reels stuff are there just as placeholder, and obviously in wrong offset */ map(0x0000, 0x9fff).rom(); map(0xd000, 0xd7ff).ram(); //.share("nvram"); map(0xd840, 0xd87f).ram().share("reel1_scroll"); map(0xd880, 0xd8bf).ram().share("reel2_scroll"); map(0xd900, 0xd93f).ram().share("reel3_scroll"); map(0xdfc0, 0xdfff).ram(); map(0xe000, 0xe7ff).ram().w(FUNC(unkch_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0xe800, 0xefff).ram().w(FUNC(unkch_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0xf000, 0xf1ff).ram().w(FUNC(unkch_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xf200, 0xf3ff).ram().w(FUNC(unkch_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xf400, 0xf5ff).ram().w(FUNC(unkch_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xf600, 0xf7ff).ram(); map(0xf800, 0xf9ff).ram().w(FUNC(unkch_state::reel1_attrram_w)).share("reel1_attrram"); map(0xfa00, 0xfbff).ram().w(FUNC(unkch_state::reel2_attrram_w)).share("reel2_attrram"); map(0xfc00, 0xfdff).ram().w(FUNC(unkch_state::reel3_attrram_w)).share("reel3_attrram"); map(0xfe00, 0xffff).ram(); } /* unknown I/O byte R/W PSGs: A0 - C0 - E0 AY8910?: 60 - 80 */ void goldstar_state::megaline_portmap(address_map &map) { map.global_mask(0xff); map(0xa0, 0xa0).w("sn1", FUNC(sn76489_device::write)); /* SN76489 #1 */ map(0xc0, 0xc0).w("sn2", FUNC(sn76489_device::write)); /* SN76489 #2 */ map(0xe0, 0xe0).w("sn3", FUNC(sn76489_device::write)); /* SN76489 #3 */ map(0x60, 0x60).w("aysnd", FUNC(ay8910_device::address_w)); /* AY8910 control? */ map(0x80, 0x80).rw("aysnd", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w)); /* AY8910 Input? */ // map(0x01, 0x01).r("aysnd", FUNC(ay8910_device::data_r)); // map(0x02, 0x03).w("aysnd", FUNC(ay8910_device::data_address_w)); } void unkch_state::bonusch_map(address_map &map) { /* Reels stuff and RAM are there just as placeholder, and obviously in wrong offset */ map(0x0000, 0xbfff).rom(); // ok map(0xd800, 0xdfff).ram(); //.share("nvram"); map(0xe000, 0xe7ff).ram().w(FUNC(unkch_state::goldstar_fg_vidram_w)).share("fg_vidram"); map(0xe800, 0xefff).ram().w(FUNC(unkch_state::goldstar_fg_atrram_w)).share("fg_atrram"); /* just placeholders */ map(0xf000, 0xf1ff).ram().w(FUNC(unkch_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xf200, 0xf3ff).ram().w(FUNC(unkch_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xf400, 0xf5ff).ram().w(FUNC(unkch_state::goldstar_reel3_ram_w)).share("reel3_ram"); map(0xf640, 0xf67f).ram().share("reel1_scroll"); map(0xf680, 0xf6bf).ram().share("reel2_scroll"); map(0xf700, 0xf73f).ram().share("reel3_scroll"); map(0xf800, 0xf9ff).ram().w(FUNC(unkch_state::reel1_attrram_w)).share("reel1_attrram"); map(0xfa00, 0xfbff).ram().w(FUNC(unkch_state::reel2_attrram_w)).share("reel2_attrram"); map(0xfc00, 0xfdff).ram().w(FUNC(unkch_state::reel3_attrram_w)).share("reel3_attrram"); } /* Bonus Chance W-8 clean 20h, 30h & 40h 50h = SN76489 #1 51h = SN76489 #2 52h = SN76489 #3 53h = SN76489 #4 10h = RW 20h = RW 30h = W 40h = W 60h = R */ void goldstar_state::bonusch_portmap(address_map &map) { map.global_mask(0xff); map(0x10, 0x10).portr("IN0"); map(0x20, 0x20).portr("IN1"); map(0x50, 0x50).w("sn1", FUNC(sn76489_device::write)); /* SN76489 #1 */ map(0x51, 0x51).w("sn2", FUNC(sn76489_device::write)); /* SN76489 #2 */ map(0x52, 0x52).w("sn3", FUNC(sn76489_device::write)); /* SN76489 #3 */ map(0x53, 0x53).w("sn4", FUNC(sn76489_device::write)); /* SN76489 #4 */ map(0x60, 0x60).portr("IN3"); } void unkch_state::feverch_map(address_map &map) { map(0x0000, 0x7fff).rom(); map(0xc000, 0xc7ff).ram().w(FUNC(unkch_state::goldstar_fg_atrram_w)).share("fg_atrram"); map(0xc800, 0xcfff).ram(); map(0xd000, 0xd7ff).ram().w(FUNC(unkch_state::goldstar_fg_vidram_w)).share("fg_vidram"); // placeholders to appease validation, should be 0x200 each. map(0xe000, 0xe000).ram().w(FUNC(unkch_state::goldstar_reel1_ram_w)).share("reel1_ram"); map(0xe200, 0xe200).ram().w(FUNC(unkch_state::goldstar_reel2_ram_w)).share("reel2_ram"); map(0xe400, 0xe400).ram().w(FUNC(unkch_state::goldstar_reel3_ram_w)).share("reel3_ram"); // placeholders to appease validation, should be 0x40 each. map(0xe640, 0xe640).ram().share("reel1_scroll"); map(0xe680, 0xe680).ram().share("reel2_scroll"); map(0xe700, 0xe700).ram().share("reel3_scroll"); // placeholders to appease validation, should be 0x200 each. map(0xe800, 0xe800).ram().w(FUNC(unkch_state::reel1_attrram_w)).share("reel1_attrram"); map(0xea00, 0xea00).ram().w(FUNC(unkch_state::reel2_attrram_w)).share("reel2_attrram"); map(0xec00, 0xec00).ram().w(FUNC(unkch_state::reel3_attrram_w)).share("reel3_attrram"); map(0xf800, 0xffff).ram(); } void goldstar_state::feverch_portmap(address_map &map) { map.global_mask(0xff); map(0x00, 0x03).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x08, 0x0b).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x10, 0x13).rw("ppi8255_2", FUNC(i8255_device::read), FUNC(i8255_device::write)); map(0x20, 0x20).w("sn1", FUNC(sn76489_device::write)); map(0x28, 0x28).w("sn2", FUNC(sn76489_device::write)); map(0x30, 0x30).w("sn3", FUNC(sn76489_device::write)); //map(0x38, 0x3b) } static INPUT_PORTS_START( cmv4_player ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Stop All / Take") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") INPUT_PORTS_END static INPUT_PORTS_START( cmv4_coins ) PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B") /* Service coin in some cases */ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_NAME("Coin D") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") INPUT_PORTS_END static INPUT_PORTS_START( cmv4_service ) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") // on some sets a DSW must be on/off to access this menu INPUT_PORTS_END static INPUT_PORTS_START( cmv4_dsw1 ) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x00, "Hold Pair" ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:2") PORT_DIPSETTING( 0x00, "Active Low" ) PORT_DIPSETTING( 0x02, "Active High" ) PORT_DIPNAME( 0x04, 0x00, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x00, "Payout Switch" ) PORT_DIPSETTING( 0x04, "Automatic" ) PORT_DIPNAME( 0x08, 0x00, "'7' In Double Up Game" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x00, "Lose" ) PORT_DIPSETTING( 0x08, "Even" ) PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x00, DEF_STR( Low ) ) PORT_DIPSETTING( 0x10, DEF_STR( High ) ) PORT_DIPNAME( 0x20, 0x00, "Double Up Game" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) PORT_DIPSETTING( 0x80, "32" ) PORT_DIPSETTING( 0xc0, "64" ) INPUT_PORTS_END static INPUT_PORTS_START( cmv4_dsw2 ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x07, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x07, "1 (Lowest)" ) PORT_DIPSETTING( 0x06, "2" ) PORT_DIPSETTING( 0x05, "3" ) PORT_DIPSETTING( 0x04, "4" ) PORT_DIPSETTING( 0x03, "5" ) PORT_DIPSETTING( 0x02, "6" ) PORT_DIPSETTING( 0x01, "7" ) PORT_DIPSETTING( 0x00, "8 (Highest)" ) PORT_DIPNAME( 0x18, 0x18, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x02, "100+ Odds Sound" ) PORT_DIPLOCATION("DSW2:6") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Key In Type" ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x40, "A-Type" ) PORT_DIPSETTING( 0x00, "B-Type" ) PORT_DIPNAME( 0x80, 0x00, "Center Super 7 Bet Limit" ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, "Unlimited" ) PORT_DIPSETTING( 0x00, "Limited" ) INPUT_PORTS_END static INPUT_PORTS_START( cmv4_dsw3 ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x03, "Key In Rate" ) PORT_DIPLOCATION("DSW3:1,2") PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) /* A-Type */ PORT_DIPSETTING( 0x01, "1 Coin/20 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x03, "1 Coin/100 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) /* B-Type */ PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x02, "1 Coin/25 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x03, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPNAME( 0x0c, 0x0c, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:3,4") PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x0c, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x30, 0x30, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:5,6") PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) /* C-Type */ PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x10, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) /* D-Type */ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x20, "1 Coin/25 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x30, "1 Coin/50 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0xc0, 0xc0, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:7,8") PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0xc0, "1 Coin/10 Credits" ) INPUT_PORTS_END static INPUT_PORTS_START( cmv4_dsw4 ) PORT_START("DSW4") PORT_DIPNAME( 0x07, 0x07, "Credit Limit" ) PORT_DIPLOCATION("DSW4:1,2,3") PORT_DIPSETTING( 0x07, "5,000" ) PORT_DIPSETTING( 0x06, "10,000" ) PORT_DIPSETTING( 0x05, "20,000" ) PORT_DIPSETTING( 0x04, "30,000" ) PORT_DIPSETTING( 0x03, "40,000" ) PORT_DIPSETTING( 0x02, "50,000" ) PORT_DIPSETTING( 0x01, "100,000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x08, 0x08, "Display Of Payout Limit" ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "Type Of Coin D" ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, "C-Type" ) PORT_DIPSETTING( 0x00, "D-Type" ) PORT_DIPNAME( 0x20, 0x20, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x20, "16" ) PORT_DIPNAME( 0x40, 0x40, "Reel Speed" ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) PORT_DIPNAME( 0x80, 0x80, "Hopper Out By Coin A" ) PORT_DIPLOCATION("DSW4:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END INPUT_PORTS_START( cmv4_dsw5 ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x01, "Display Of Doll On Demo" ) PORT_DIPLOCATION("DSW5:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x06, 0x06, "Coin In Limit" ) PORT_DIPLOCATION("DSW5:2,3") PORT_DIPSETTING( 0x06, "1,000" ) PORT_DIPSETTING( 0x04, "5,000" ) PORT_DIPSETTING( 0x02, "10,000" ) PORT_DIPSETTING( 0x00, "20,000" ) PORT_DIPNAME( 0x18, 0x18, "Condition For 3 Kind Of Bonus" ) PORT_DIPLOCATION("DSW5:4,5") PORT_DIPSETTING( 0x18, "12-7-1" ) PORT_DIPSETTING( 0x10, "9-5-1" ) PORT_DIPSETTING( 0x08, "6-3-1" ) PORT_DIPSETTING( 0x00, "3-2-1" ) PORT_DIPNAME( 0x20, 0x20, "Display Of Doll At All Fr. Bonus" ) PORT_DIPLOCATION("DSW5:6") PORT_DIPSETTING( 0x20, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "Test Mode For Disp. Of Doll" ) PORT_DIPLOCATION("DSW5:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( cb3_dsw1 ) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "Game Style" ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, "Tokens" ) PORT_DIPSETTING( 0x00, "Tickets" ) PORT_DIPNAME( 0x02, 0x02, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:2") PORT_DIPSETTING( 0x02, "Active Low" ) PORT_DIPSETTING( 0x00, "Active High" ) PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Payout Switch" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x08, 0x08, "'7' In Double Up Game" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, "Lose" ) PORT_DIPSETTING( 0x00, "Even" ) PORT_DIPNAME( 0x10, 0x10, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, "80%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_DIPNAME( 0x20, 0x20, "Double Up Game" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") PORT_DIPSETTING( 0xc0, "8" ) PORT_DIPSETTING( 0x80, "16" ) PORT_DIPSETTING( 0x40, "32" ) PORT_DIPSETTING( 0x00, "64" ) INPUT_PORTS_END static INPUT_PORTS_START( cb3_dsw3 ) PORT_INCLUDE( cmv4_dsw3 ) PORT_MODIFY("DSW3") PORT_DIPNAME( 0x03, 0x03, "Key In Rate" ) PORT_DIPLOCATION("DSW3:1,2") PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) /* A-Type */ PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x02, "1 Coin/25 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x03, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) /* B-Type */ PORT_DIPSETTING( 0x01, "1 Coin/20 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x03, "1 Coin/100 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPNAME( 0x30, 0x30, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:5,6") PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) /* C-Type */ PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x10, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, "1 Ticket/5 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) /* D-Type */ PORT_DIPSETTING( 0x10, "1 Ticket/10 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x20, "1 Ticket/25 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x30, "1 Ticket/50 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) INPUT_PORTS_END static INPUT_PORTS_START( cb3_dsw4 ) PORT_INCLUDE( cmv4_dsw4 ) PORT_MODIFY("DSW4") PORT_DIPNAME( 0x10, 0x10, "Coin D Type" ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, "C-Type (Tokens)" ) PORT_DIPSETTING( 0x00, "D-Type (Tickets)" ) PORT_DIPNAME( 0x80, 0x80, "Coin A Mode" ) PORT_DIPLOCATION("DSW4:8") PORT_DIPSETTING( 0x80, "Unexchange" ) PORT_DIPSETTING( 0x00, "Exchange" ) INPUT_PORTS_END static INPUT_PORTS_START( cb3_dsw5 ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x06, 0x06, "Coin In Limit" ) PORT_DIPLOCATION("DSW5:2,3") PORT_DIPSETTING( 0x06, "1,000" ) PORT_DIPSETTING( 0x04, "5,000" ) PORT_DIPSETTING( 0x02, "10,000" ) PORT_DIPSETTING( 0x00, "20,000" ) PORT_DIPNAME( 0x18, 0x10, "Coin Out Rate" ) PORT_DIPLOCATION("DSW5:4,5") PORT_DIPSETTING( 0x00, "100 Credits / 1 Pulse" ) PORT_DIPSETTING( 0x08, "100 Credits / 5 Pulses" ) PORT_DIPSETTING( 0x10, "100 Credits / 10 Pulses" ) PORT_DIPSETTING( 0x18, "100 Credits / 100 Pulses" ) PORT_DIPNAME( 0x20, 0x20, "Double Up Girl" ) PORT_DIPLOCATION("DSW5:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0xc0, "Coin In Rate" ) PORT_DIPLOCATION("DSW5:7,8") PORT_DIPSETTING( 0xc0, "100 Credits / 1 Pulse" ) PORT_DIPSETTING( 0x40, "100 Credits / 5 Pulses" ) PORT_DIPSETTING( 0x80, "100 Credits / 10 Pulses" ) PORT_DIPSETTING( 0x00, "100 Credits / 100 Pulses" ) INPUT_PORTS_END static INPUT_PORTS_START( cmv801 ) PORT_INCLUDE( cmv4_player ) PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_INCLUDE( cmv4_dsw1 ) PORT_MODIFY("DSW1") /* Hold Pair OK - use Take button */ /* Hopper Out Switch not checked */ /* Payout Mode not checked */ /* '7' In Double Up Game OK */ PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPSETTING( 0x10, "90%" ) /* Double Up Game OK */ PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x00, "16" ) PORT_DIPSETTING( 0x40, "32" ) PORT_DIPSETTING( 0x80, "64" ) PORT_DIPSETTING( 0xc0, "96" ) PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "35%" ) PORT_DIPSETTING( 0x06, "40%" ) PORT_DIPSETTING( 0x05, "45%" ) PORT_DIPSETTING( 0x04, "50%" ) PORT_DIPSETTING( 0x03, "55%" ) PORT_DIPSETTING( 0x02, "60%" ) PORT_DIPSETTING( 0x01, "65%" ) PORT_DIPSETTING( 0x00, "70%" ) /* Hopper Limit OK */ /* 100+ Odds Sound not checked */ /* Key In Type OK */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_INCLUDE( cmv4_dsw3 ) /* all OK */ PORT_INCLUDE( cmv4_dsw4 ) /* Display Of Payout Limit not working; all others OK */ PORT_INCLUDE( cmv4_dsw5 ) PORT_MODIFY("DSW5") /* Display of Doll On Demo only affects payout table screen */ /* Coin In Limit OK */ /* Condition For 3 Kind Of Bonus not checked */ /* Display Of Doll At All Fr. Bonus not checked */ PORT_DIPNAME( 0x40, 0x40, "Card Shuffle Animation" ) PORT_DIPLOCATION("DSW5:7") /* OK */ PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Test Mode For Disp. Of Doll not working */ INPUT_PORTS_END static INPUT_PORTS_START( cmv4 ) PORT_INCLUDE( cmv4_player ) PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_INCLUDE( cmv4_dsw1 ) PORT_MODIFY("DSW1") /* Hold Pair OK - use Take button */ /* Hopper Out Switch not checked */ /* Payout Mode not checked */ /* '7' In Double Up Game OK */ PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "40%" ) PORT_DIPSETTING( 0x10, "60%" ) /* Double Up Game OK */ /* Bet Max OK */ PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "30%" ) PORT_DIPSETTING( 0x06, "38%" ) PORT_DIPSETTING( 0x05, "46%" ) PORT_DIPSETTING( 0x04, "54%" ) PORT_DIPSETTING( 0x03, "62%" ) PORT_DIPSETTING( 0x02, "70%" ) PORT_DIPSETTING( 0x01, "78%" ) PORT_DIPSETTING( 0x00, "86%" ) /* Hopper Limit OK */ /* 100+ Odds Sound not checked */ /* Key In Type OK */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_INCLUDE( cmv4_dsw3 ) /* all OK */ PORT_INCLUDE( cmv4_dsw4 ) /* all OK */ PORT_INCLUDE( cmv4_dsw5 ) /* Display of Doll On Demo only affects payout table screen */ /* Coin In Limit OK */ /* Condition For 3 Kind Of Bonus not checked */ /* Display Of Doll At All Fr. Bonus not checked */ /* DSW5-7 listed as unused */ /* Test Mode For Disp. Of Doll not working */ INPUT_PORTS_END static INPUT_PORTS_START( cmaster ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Bet / Stop All") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_INCLUDE( cmv4_dsw1 ) PORT_MODIFY("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Hopper Out Switch not checked */ /* Payout Mode not checked */ /* '7' In Double Up Game OK */ PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "60%" ) PORT_DIPSETTING( 0x10, "70%" ) /* Double Up Game OK */ /* Bet Max OK */ PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "45%" ) PORT_DIPSETTING( 0x06, "50%" ) PORT_DIPSETTING( 0x05, "55%" ) PORT_DIPSETTING( 0x04, "60%" ) PORT_DIPSETTING( 0x03, "65%" ) PORT_DIPSETTING( 0x02, "70%" ) PORT_DIPSETTING( 0x01, "75%" ) PORT_DIPSETTING( 0x00, "80%" ) /* Hopper Limit OK */ /* 100+ Odds Sound not checked */ /* Key In Type OK */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_INCLUDE( cmv4_dsw3 ) /* all OK */ PORT_INCLUDE( cmv4_dsw4 ) /* all OK */ PORT_INCLUDE( cmv4_dsw5 ) /* Display of Doll On Demo only affects payout table screen */ /* Coin In Limit OK */ /* Condition For 3 Kind Of Bonus not checked */ /* Display Of Doll At All Fr. Bonus not checked */ /* DSW5-7 listed as unused */ /* Test Mode For Disp. Of Doll not working */ INPUT_PORTS_END static INPUT_PORTS_START( cmasterb ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big / Stop All") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_INCLUDE( cmv4_dsw1 ) PORT_MODIFY("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Hopper Out Switch not checked */ /* Payout Mode not checked */ /* '7' In Double Up Game OK */ PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPSETTING( 0x10, "90%" ) /* Double Up Game OK */ /* Bet Max OK */ PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "55%" ) PORT_DIPSETTING( 0x06, "60%" ) PORT_DIPSETTING( 0x05, "65%" ) PORT_DIPSETTING( 0x04, "70%" ) PORT_DIPSETTING( 0x03, "75%" ) PORT_DIPSETTING( 0x02, "80%" ) PORT_DIPSETTING( 0x01, "85%" ) PORT_DIPSETTING( 0x00, "90%" ) /* Hopper Limit OK */ /* 100+ Odds Sound not checked */ /* Key In Type OK */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_INCLUDE( cmv4_dsw3 ) /* all OK */ PORT_INCLUDE( cmv4_dsw4 ) /* all OK */ PORT_INCLUDE( cmv4_dsw5 ) /* Display of Doll On Demo only affects payout table screen */ /* Coin In Limit OK */ /* Condition For 3 Kind Of Bonus not checked */ /* Display Of Doll At All Fr. Bonus not checked */ /* DSW5-7 listed as unused */ /* Test Mode For Disp. Of Doll not checked */ INPUT_PORTS_END static INPUT_PORTS_START( cmezspin ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Stop All / Take") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_INCLUDE( cmv4_dsw1 ) PORT_MODIFY("DSW1") /* Hold Pair OK */ /* Hopper Out Switch not checked */ /* Payout Mode not checked */ PORT_DIPNAME( 0x08, 0x00, "'7' In Double Up Game" ) PORT_DIPLOCATION("DSW1:4") /* OK */ PORT_DIPSETTING( 0x00, "Win" ) PORT_DIPSETTING( 0x08, "Even" ) PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "70%" ) PORT_DIPSETTING( 0x10, "80%" ) /* Double Up Game OK */ PORT_DIPNAME( 0xc0, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x00, "16" ) PORT_DIPSETTING( 0x40, "32" ) PORT_DIPSETTING( 0x80, "64" ) PORT_DIPSETTING( 0xc0, "96" ) PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x03, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2") /* OK */ PORT_DIPSETTING( 0x03, "55%" ) PORT_DIPSETTING( 0x02, "60%" ) PORT_DIPSETTING( 0x01, "65%" ) PORT_DIPSETTING( 0x00, "70%" ) PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Hopper Limit not checked */ /* 100+ Odds Sound not checked */ /* Key In Type OK */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) - not checked */ PORT_INCLUDE( cmv4_dsw3 ) /* all OK */ PORT_INCLUDE( cmv4_dsw4 ) PORT_MODIFY("DSW4") /* Credit Limit not checked */ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Type Of Coin D OK */ /* Min. Bet For Bonus Play OK */ /* Reel Speed OK */ /* Hopper Out By Coin A OK */ PORT_INCLUDE( cmv4_dsw5 ) /* Display of Doll On Demo only affects payout table screen */ /* Coin In Limit OK */ /* Condition for 3 Kind Of Bonus OK */ /* Display Of Doll At All Fr. Bonus not checked */ /* DSW5-7 listed as unused */ /* Test Mode For Disp. Of Doll not checked */ INPUT_PORTS_END static INPUT_PORTS_START( cmasterc ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Big / Stop 1") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("D-UP / Stop 2") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Small / Info / Stop 3") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_INCLUDE( cmv4_dsw1 ) PORT_MODIFY("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Hopper Out Switch not checked */ /* Payout Mode not checked */ /* '7' In Double Up Game OK */ PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPSETTING( 0x10, "90%" ) /* Double Up Game OK */ /* Bet Max OK */ PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "55%" ) PORT_DIPSETTING( 0x06, "60%" ) PORT_DIPSETTING( 0x05, "65%" ) PORT_DIPSETTING( 0x04, "70%" ) PORT_DIPSETTING( 0x03, "75%" ) PORT_DIPSETTING( 0x02, "80%" ) PORT_DIPSETTING( 0x01, "85%" ) PORT_DIPSETTING( 0x00, "90%" ) /* Hopper Limit OK */ /* 100+ Odds Sound not checked */ /* Key In Type OK */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_INCLUDE( cmv4_dsw3 ) /* all OK */ PORT_INCLUDE( cmv4_dsw4 ) /* all OK */ PORT_INCLUDE( cmv4_dsw5 ) /* Display of Doll On Demo only affects payout table screen */ /* Coin In Limit OK */ /* Condition For 3 Kind Of Bonus not checked */ /* Display Of Doll At All Fr. Bonus not checked */ /* DSW5-7 listed as unused */ /* Test Mode For Disp. Of Doll not checked */ INPUT_PORTS_END static INPUT_PORTS_START( cmasterg ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big / Stop All") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_INCLUDE( cmv4_dsw1 ) PORT_MODIFY("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Hopper Out Switch not checked */ /* Payout Mode not checked */ /* '7' In Double Up Game OK */ PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "60%" ) PORT_DIPSETTING( 0x10, "70%" ) /* Double Up Game OK */ /* Bet Max OK */ PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "45%" ) PORT_DIPSETTING( 0x06, "50%" ) PORT_DIPSETTING( 0x05, "55%" ) PORT_DIPSETTING( 0x04, "60%" ) PORT_DIPSETTING( 0x03, "65%" ) PORT_DIPSETTING( 0x02, "70%" ) PORT_DIPSETTING( 0x01, "75%" ) PORT_DIPSETTING( 0x00, "80%" ) /* Hopper Limit OK */ /* 100+ Odds Sound not checked */ /* Key In Type OK */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_INCLUDE( cmv4_dsw3 ) /* all OK */ PORT_INCLUDE( cmv4_dsw4 ) /* all OK */ PORT_INCLUDE( cmv4_dsw5 ) /* Display of Doll On Demo only affects payout table screen */ /* Coin In Limit OK */ /* Condition For 3 Kind Of Bonus not checked */ /* Display Of Doll At All Fr. Bonus not checked */ /* DSW5-7 listed as unused */ /* Test Mode For Disp. Of Doll not checked */ INPUT_PORTS_END static INPUT_PORTS_START( cmasterh ) PORT_INCLUDE( cmasterb ) PORT_MODIFY("DSW1") PORT_DIPNAME( 0x01, 0x01, "Enable stats menu" ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) INPUT_PORTS_END static INPUT_PORTS_START( cmast91 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / Take") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Bet" ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Stop All") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW1:1") /* OK */ PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:2") /* OK */ PORT_DIPSETTING( 0x02, "Active Low" ) PORT_DIPSETTING( 0x00, "Active High" ) PORT_DIPNAME( 0x04, 0x00, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") /* OK */ PORT_DIPSETTING( 0x04, "Payout Switch" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x08, 0x00, "'7' In Double Up Game" ) PORT_DIPLOCATION("DSW1:4") /* OK */ PORT_DIPSETTING( 0x08, "Even" ) PORT_DIPSETTING( 0x00, "Loss" ) PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPSETTING( 0x10, "90%" ) PORT_DIPNAME( 0x20, 0x00, "Double Up Game" ) PORT_DIPLOCATION("DSW1:6") /* OK */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) PORT_DIPSETTING( 0x80, "32" ) PORT_DIPSETTING( 0xc0, "64" ) PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "45%" ) PORT_DIPSETTING( 0x06, "50%" ) PORT_DIPSETTING( 0x05, "55%" ) PORT_DIPSETTING( 0x04, "60%" ) PORT_DIPSETTING( 0x03, "65%" ) PORT_DIPSETTING( 0x02, "70%" ) PORT_DIPSETTING( 0x01, "75%" ) PORT_DIPSETTING( 0x00, "80%" ) /* Hopper Limit OK */ /* 100+ Odds Sound not checked */ /* Key In Type OK */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_INCLUDE( cmv4_dsw3 ) /* all OK */ PORT_INCLUDE( cmv4_dsw4 ) /* all OK */ PORT_INCLUDE( cmv4_dsw5 ) PORT_MODIFY("DSW5") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:1") /* normally Display of Doll On Demo, but no whores in this set */ PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Coin In Limit OK */ /* Condition For 3 Kind Of Bonus not checked */ PORT_DIPNAME( 0x20, 0x20, "Show Odds In Double Up Game" ) PORT_DIPLOCATION("DSW5:6") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Skill Stop" ) PORT_DIPLOCATION("DSW5:7") /* OK */ PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:8") /* normally Test Mode For Disp. Of Doll, but no whores in this set */ PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( cmast99 ) PORT_START("IN0") // called "PLAYER" in input test PORT_DIPNAME( 0x01, 0x01, "0-1" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "0-2" ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, "0-3" ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, "0-4" ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "0-5" ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, "0-6" ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "0-7" ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "0-8" ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("IN1") // called "COIN" in input test PORT_DIPNAME( 0x01, 0x01, "1-1" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "1-2" ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, "1-3" ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, "1-4" ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "1-5" ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, "1-6" ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "1-7" ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "1-8" ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("IN2") // called "TEST" in input test PORT_DIPNAME( 0x01, 0x01, "2-1" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "2-2" ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, "2-3" ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, "2-4" ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "2-5" ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, "2-6" ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "2-7" ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "2-8" ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, "Game Min Bet" ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "15" ) PORT_DIPSETTING( 0x02, "30" ) PORT_DIPSETTING( 0x01, "45" ) PORT_DIPSETTING( 0x00, "60" ) PORT_DIPNAME( 0x04, 0x04, "Double Mode" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x00, "No (collect)" ) PORT_DIPSETTING( 0x04, "Yes (double)" ) PORT_DIPNAME( 0x18, 0x18, "Max Bet" ) PORT_DIPLOCATION("DSW1:4,5") PORT_DIPSETTING( 0x00, "15" ) PORT_DIPSETTING( 0x08, "30" ) PORT_DIPSETTING( 0x10, "60" ) PORT_DIPSETTING( 0x18, "99" ) PORT_DIPNAME( 0x20, 0x20, "Double Picture" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, "Fruit" ) PORT_DIPSETTING( 0x00, "???" ) // not listed in manual PORT_DIPNAME( 0x40, 0x40, "Payout Rate" ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x40, "100" ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8") // not listed in manual PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x06, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x00, "55%" ) PORT_DIPSETTING( 0x01, "60%" ) PORT_DIPSETTING( 0x02, "65%" ) PORT_DIPSETTING( 0x03, "70%" ) PORT_DIPSETTING( 0x04, "75%" ) PORT_DIPSETTING( 0x05, "80%" ) PORT_DIPSETTING( 0x06, "85%" ) PORT_DIPSETTING( 0x07, "90%" ) PORT_DIPNAME( 0x08, 0x08, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW2:4") PORT_DIPSETTING( 0x00, "60%" ) PORT_DIPSETTING( 0x08, "70%" ) PORT_DIPNAME( 0x30, 0x20, "Coin In Rate" ) PORT_DIPLOCATION("DSW2:5,6") PORT_DIPSETTING( 0x30, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x20, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x10, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_DIPNAME( 0xc0, 0xc0, "Key In Rate" ) PORT_DIPLOCATION("DSW2:7,8") PORT_DIPSETTING( 0xc0, "1 Coin/100 Credits" ) PORT_DIPSETTING( 0x80, "1 Coin/110 Credits" ) PORT_DIPSETTING( 0x40, "1 Coin/120 Credits" ) PORT_DIPSETTING( 0x00, "1 Coin/500 Credits" ) PORT_START("DSW3") // manual doesn't have explicit defaults, so taking first listed setting for each switch as default PORT_DIPNAME( 0x01, 0x00, "Bonus 2 Poll Mode" ) PORT_DIPLOCATION("DSW3:1") PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x01, DEF_STR( Hard ) ) PORT_DIPNAME( 0x02, 0x00, "Bonus 3 Poll Mode" ) PORT_DIPLOCATION("DSW3:2") PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x02, DEF_STR( Hard ) ) PORT_DIPNAME( 0x04, 0x04, "???" ) PORT_DIPLOCATION("DSW3:3") // no name given in manual, but settings listed PORT_DIPSETTING( 0x04, "30-40-50" ) PORT_DIPSETTING( 0x00, "40-55-70" ) PORT_DIPNAME( 0x08, 0x08, "When Watermelon Appear in Center Credit of Bonus Up Mode" ) PORT_DIPLOCATION("DSW3:4") PORT_DIPSETTING( 0x08, "1-3-5" ) PORT_DIPSETTING( 0x00, "2-4-6" ) PORT_DIPNAME( 0x10, 0x10, "When Bet, Credit of Bonus Up Mode" ) PORT_DIPLOCATION("DSW3:5") PORT_DIPSETTING( 0x10, "1-3-5" ) PORT_DIPSETTING( 0x00, "2-4-6" ) PORT_DIPNAME( 0x20, 0x20, "The Max Credit of Bonus 1-3" ) PORT_DIPLOCATION("DSW3:6") PORT_DIPSETTING( 0x20, "999-1999-3999" ) PORT_DIPSETTING( 0x00, "2000-3000-4500" ) PORT_DIPNAME( 0x40, 0x40, "Start Up Credit of Bonus 1-3" ) PORT_DIPLOCATION("DSW3:7") PORT_DIPSETTING( 0x00, "330-660-990" ) PORT_DIPSETTING( 0x40, "499-999-1999" ) PORT_DIPNAME( 0x80, 0x80, "Start Up Credit of Extra Bonus" ) PORT_DIPLOCATION("DSW3:8") PORT_DIPSETTING( 0x80, "330" ) PORT_DIPSETTING( 0x00, "550" ) PORT_START("DSW4") PORT_DIPNAME( 0x07, 0x00, "Max Pay Credit Limit" ) PORT_DIPLOCATION("DSW4:1,2,3") PORT_DIPSETTING( 0x07, "5,000" ) PORT_DIPSETTING( 0x06, "10,000" ) PORT_DIPSETTING( 0x05, "15,000" ) PORT_DIPSETTING( 0x04, "20,000" ) PORT_DIPSETTING( 0x03, "30,000" ) PORT_DIPSETTING( 0x02, "40,000" ) PORT_DIPSETTING( 0x01, "50,000" ) PORT_DIPSETTING( 0x00, "100,000" ) PORT_DIPNAME( 0x08, 0x08, "Display Credit Limit" ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "Add On Bonus Poll" ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x00, "6-3-1" ) PORT_DIPSETTING( 0x10, "9-5-1" ) PORT_DIPNAME( 0x20, 0x20, "Add On Bonus Min Bet" ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x20, "16" ) PORT_DIPSETTING( 0x00, "32" ) PORT_DIPNAME( 0x40, 0x40, "Game Speed" ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x00, "Fast" ) PORT_DIPNAME( 0x80, 0x80, "Alarm Sound" ) PORT_DIPLOCATION("DSW4:8") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW5") PORT_DIPNAME( 0x03, 0x03, "Key In Limit" ) PORT_DIPLOCATION("DSW5:1,2") PORT_DIPSETTING( 0x00, "1,000" ) PORT_DIPSETTING( 0x01, "5,000" ) PORT_DIPSETTING( 0x02, "10,000" ) PORT_DIPSETTING( 0x03, "20,000" ) PORT_DIPNAME( 0x04, 0x04, "Bonus Girl" ) PORT_DIPLOCATION("DSW5:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x38, 0x38, "Credit Earned, Profit Table Set Zero" ) PORT_DIPLOCATION("DSW5:4,5,6") PORT_DIPSETTING( 0x00, "20,000" ) PORT_DIPSETTING( 0x08, "30,000" ) PORT_DIPSETTING( 0x10, "40,000" ) PORT_DIPSETTING( 0x18, "50,000" ) PORT_DIPSETTING( 0x20, "70,000" ) PORT_DIPSETTING( 0x28, "100,000" ) PORT_DIPSETTING( 0x30, "200,000" ) PORT_DIPSETTING( 0x38, "990,000" ) PORT_DIPNAME( 0x40, 0x00, "Bonus 2 Poll Rate" ) PORT_DIPLOCATION("DSW5:7") PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x40, DEF_STR( Hard ) ) PORT_DIPNAME( 0x80, 0x00, "Bonus 3 Poll Rate" ) PORT_DIPLOCATION("DSW5:8") PORT_DIPSETTING( 0x00, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x80, DEF_STR( Hard ) ) INPUT_PORTS_END static INPUT_PORTS_START( goldstar ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // appear in the input test but seems to lack function PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) // appear in the input test but seems to lack function PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V) PORT_NAME("Bet Red / 2") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Stop 3 / Small / 1 / Info") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B) PORT_NAME("Bet Blue / D-UP / 3") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Stop 1 / Take") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Stop 2 / Big / Ticket") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N) PORT_NAME("Start / Stop All / 4") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin A") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Coin B") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") /* hopper empty */ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_INCLUDE( cb3_dsw1 ) PORT_MODIFY("DSW1") /* Game Style not checked */ /* Hopper Out Switch not checked */ /* Payout Mode not checked */ /* '7' In Double Up Game OK */ PORT_DIPNAME( 0x10, 0x10, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x10, "60%" ) PORT_DIPSETTING( 0x00, "70%" ) /* Double Up Game OK */ PORT_DIPNAME( 0xc0, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0xc0, "8" ) PORT_DIPSETTING( 0x80, "16" ) PORT_DIPSETTING( 0x40, "32" ) PORT_DIPSETTING( 0x00, "50" ) PORT_START("UNK1") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("UNK2") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3" ) /* Does this work? Settings screen always shows "28F3%". */ PORT_DIPSETTING( 0x07, "40%" ) PORT_DIPSETTING( 0x06, "45%" ) PORT_DIPSETTING( 0x05, "50%" ) PORT_DIPSETTING( 0x04, "55%" ) PORT_DIPSETTING( 0x03, "60%" ) PORT_DIPSETTING( 0x02, "65%" ) PORT_DIPSETTING( 0x01, "70%" ) PORT_DIPSETTING( 0x00, "75%" ) PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5" ) PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x00, "100 Odds Sound" ) PORT_DIPLOCATION("DSW2:6" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, "Key-In Type" ) PORT_DIPLOCATION("DSW2:7" ) PORT_DIPSETTING( 0x40, "B-Type" ) PORT_DIPSETTING( 0x00, "A-Type" ) PORT_DIPNAME( 0x80, 0x00, "Center Super 7 Bet Limit" ) PORT_DIPLOCATION("DSW2:8" ) PORT_DIPSETTING( 0x80, "Unlimited" ) PORT_DIPSETTING( 0x00, "Limited" ) PORT_START("DSW3") /* Neither of these work. Does the manual say this is what they do, or is it just nonsense? */ PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW3:1,2" ) PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x04, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x08, "1 Coin/50 Credits" ) PORT_DIPSETTING( 0x0c, "1 Coin/100 Credits" ) PORT_DIPNAME( 0xc0, 0x40, "Coin C" ) PORT_DIPLOCATION("DSW3:3,4" ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0xc0, "1 Coin/10 Credits" ) PORT_INCLUDE( cmv4_dsw4 ) PORT_MODIFY("DSW4") /* Credit Limit OK */ /* Display Of Payout Limit OK */ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") /* not checked */ PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Min. Bet For Bonus Play OK */ /* Reel Speed OK */ PORT_DIPNAME( 0x80, 0x00, "Ticket Payment" ) PORT_DIPLOCATION("DSW4:8") /* not checked */ PORT_DIPSETTING( 0x80, "1 Ticket/100" ) PORT_DIPSETTING( 0x00, "Pay All" ) PORT_START("DSW6") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW7") /* ??? Where am I hooked to??? */ PORT_BIT( 0xdf, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_DIPNAME( 0x20, 0x00, "Show Woman" ) PORT_DIPLOCATION("DSW7:1" ) PORT_DIPSETTING( 0x20, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) INPUT_PORTS_END static INPUT_PORTS_START( chrygld ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Stop 2 / Big / Bonus Game") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Blue Bet / D-UP / Card 3") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Stop 1 / Take") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Red Bet / Card 2") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Stop 3 / Small / Info / Card 1") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start / Stop All / Card 4") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_INCLUDE( cb3_dsw1 ) PORT_MODIFY("DSW1") /* Game Style not checked */ /* Hopper Out Switch not checked */ /* Payout Mode not checked */ /* '7' In Double Up Game OK */ /* Double Up Game Pay Rate OK */ /* Double Up Game OK */ PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0xc0, "8" ) PORT_DIPSETTING( 0x80, "16" ) PORT_DIPSETTING( 0x40, "32" ) PORT_DIPSETTING( 0x00, "50" ) PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x00, "55%" ) PORT_DIPSETTING( 0x01, "60%" ) PORT_DIPSETTING( 0x02, "65%" ) PORT_DIPSETTING( 0x03, "70%" ) PORT_DIPSETTING( 0x04, "75%" ) PORT_DIPSETTING( 0x05, "80%" ) PORT_DIPSETTING( 0x06, "85%" ) PORT_DIPSETTING( 0x07, "90%" ) /* Hopper limit not checked */ /* 100+ Odds Sound not checked */ PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") /* normally Key In Type but doesn't affect rate for this game */ PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x03, "Key In Rate" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x01, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_DIPSETTING( 0x03, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x0c, 0x0c, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:3,4") /* OK - unused value also produces 1C/10C */ PORT_DIPSETTING( 0x0c, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x04, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x08, "1 Coin/50 Credits" ) PORT_DIPNAME( 0x30, 0x30, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:5,6") /* OK */ PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) /* C-Type */ PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x10, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, "1 Ticket/5 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) /* D-Type */ PORT_DIPSETTING( 0x10, "1 Ticket/10 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x20, "1 Ticket/20 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x30, "1 Ticket/50 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0xc0, 0xc0, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:7,8") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0xc0, "1 Coin/10 Credits" ) PORT_INCLUDE( cb3_dsw4 ) /* all OK */ PORT_INCLUDE( cb3_dsw5 ) /* DSW5 is not connected yet. Where the hell is connected? */ INPUT_PORTS_END // dip switches from manual, values & inputs are a guess from cmasterb static INPUT_PORTS_START( chryangl ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big / Stop All") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:2") PORT_DIPSETTING( 0x02, "Active Low" ) PORT_DIPSETTING( 0x00, "Active High" ) PORT_DIPNAME( 0x04, 0x00, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Switch" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x08, 0x00, "W-UP '7'" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, "Loss" ) PORT_DIPSETTING( 0x00, "Even" ) PORT_DIPNAME( 0x10, 0x00, "W-UP Pay Rate" ) PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPSETTING( 0x10, "90%" ) PORT_DIPNAME( 0x20, 0x00, "W-UP Game" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) PORT_DIPSETTING( 0x80, "32" ) PORT_DIPSETTING( 0xc0, "64" ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x03, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x07, "40%" ) PORT_DIPSETTING( 0x06, "45%" ) PORT_DIPSETTING( 0x05, "50%" ) PORT_DIPSETTING( 0x04, "55%" ) PORT_DIPSETTING( 0x03, "60%" ) PORT_DIPSETTING( 0x02, "65%" ) PORT_DIPSETTING( 0x01, "70%" ) PORT_DIPSETTING( 0x00, "75%" ) PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x00, "100 Odds Sound" ) PORT_DIPLOCATION("DSW2:6") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Key-In Type" ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x40, "A-Type" ) PORT_DIPSETTING( 0x00, "B-Type" ) PORT_DIPNAME( 0x80, 0x00, "Center Super 7 Bet Limit" ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, "Unlimited" ) PORT_DIPSETTING( 0x00, "Limited" ) PORT_START("DSW3") // note in manual says "Reverse these settings" for entire DSW3 ??? PORT_DIPNAME( 0x01, 0x01, "Unused" ) PORT_DIPLOCATION("DSW3:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x06, 0x06, "Coin In Limit" ) PORT_DIPLOCATION("DSW3:2,3") PORT_DIPSETTING( 0x06, "1,000" ) PORT_DIPSETTING( 0x04, "5,000" ) PORT_DIPSETTING( 0x02, "10,000" ) PORT_DIPSETTING( 0x00, "20,000" ) PORT_DIPNAME( 0x18, 0x00, "Credit Back" ) PORT_DIPLOCATION("DSW3:4,5") PORT_DIPSETTING( 0x18, "10 In 1 Back" ) PORT_DIPSETTING( 0x10, "8 In 1 Back" ) PORT_DIPSETTING( 0x08, "6 In 1 Back" ) PORT_DIPSETTING( 0x00, "No Coins Back" ) PORT_DIPNAME( 0x20, 0x00, "Display Of Doll At All Fr. Bonus" ) PORT_DIPLOCATION("DSW3:6") PORT_DIPSETTING( 0x20, "Off" ) PORT_DIPSETTING( 0x00, "On" ) PORT_DIPNAME( 0x40, 0x40, "Unused" ) PORT_DIPLOCATION("DSW3:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW3:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x07, 0x05, "Credit Limit" ) PORT_DIPLOCATION("DSW4:1,2,3") PORT_DIPSETTING( 0x07, "5,000" ) PORT_DIPSETTING( 0x06, "10,000" ) PORT_DIPSETTING( 0x05, "20,000" ) PORT_DIPSETTING( 0x04, "30,000" ) PORT_DIPSETTING( 0x03, "40,000" ) PORT_DIPSETTING( 0x02, "50,000" ) PORT_DIPSETTING( 0x01, "100,000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x08, 0x00, "Display Of Payout Limit" ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "Type Of Coin D" ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, "C-Type" ) PORT_DIPSETTING( 0x00, "D-Type" ) PORT_DIPNAME( 0x20, 0x20, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x20, "16" ) PORT_DIPNAME( 0x40, 0x40, "Reel Speed" ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW4:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW5") PORT_DIPNAME( 0x03, 0x00, "Key In Rate" ) PORT_DIPLOCATION("DSW5:1,2") PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) // A-Type PORT_DIPSETTING( 0x01, "1 Coin/20 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x03, "1 Coin/100 Credits" )PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) // B-Type PORT_DIPSETTING( 0x01, "1 Coin/20 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x03, "1 Coin/100 Credits" )PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPNAME( 0x0c, 0x0c, "Coin A Rate" ) PORT_DIPLOCATION("DSW5:3,4") PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x0c, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x30, 0x30, "Coin D Rate" ) PORT_DIPLOCATION("DSW5:5,6") PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) // C-Type PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x10, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) // D-Type PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x20, "1 Coin/25 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x30, "1 Coin/50 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0xc0, 0xc0, "Coin C Rate" ) PORT_DIPLOCATION("DSW5:7,8") PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0xc0, "1 Coin/10 Credits" ) INPUT_PORTS_END /* no manual - best guesses */ static INPUT_PORTS_START( tonypok ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / Big / Red") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / D-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Small / Black") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start / Deal / Draw") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_START("DSW1") /* needs to be mapped correctly */ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1") /* unknown */ PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:2") /* unknown */ PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:3") /* unknown */ PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4") /* unknown */ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:5") /* unknown */ PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") /* unknown */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7") /* unknown */ PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8") /* unknown */ PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x07, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x00, "40%" ) PORT_DIPSETTING( 0x01, "45%" ) PORT_DIPSETTING( 0x02, "50%" ) PORT_DIPSETTING( 0x03, "60%" ) PORT_DIPSETTING( 0x04, "65%" ) PORT_DIPSETTING( 0x05, "70%" ) PORT_DIPSETTING( 0x06, "75%" ) PORT_DIPSETTING( 0x07, "80%" ) PORT_DIPNAME( 0x18, 0x18, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") /* not checked */ PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x20, "100 Odds Sound" ) PORT_DIPLOCATION("DSW2:6") /* not checked */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Key In Type" ) PORT_DIPLOCATION("DSW2:7") /* OK */ PORT_DIPSETTING( 0x40, "A-Type" ) PORT_DIPSETTING( 0x00, "B-Type" ) PORT_DIPNAME( 0x80, 0x80, "Coin D Rate" ) PORT_DIPLOCATION("DSW2:8") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x03, "Key In Rate" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) /* A-Type */ PORT_DIPSETTING( 0x01, "1 Coin/20 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x03, "1 Coin/100 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) /* B-Type */ PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x02, "1 Coin/25 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x03, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPNAME( 0x04, 0x04, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:3") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:4") /* unknown */ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:5") /* unknown */ PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:6") /* unknown */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:7") /* unknown */ PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") /* unknown */ PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x07, 0x07, "Coin In Limit" ) PORT_DIPLOCATION("DSW4:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "1,000" ) PORT_DIPSETTING( 0x05, "5,000" ) PORT_DIPSETTING( 0x02, "10,000" ) PORT_DIPSETTING( 0x00, "20,000" ) PORT_DIPNAME( 0x08, 0x08, "Instant W-Up Game" ) PORT_DIPLOCATION("DSW4:4") /* OK */ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* play W-up game right away from bet screen! */ PORT_DIPNAME( 0x10, 0x10, "Attract Mode Demo" ) PORT_DIPLOCATION("DSW4:5") /* OK */ PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) /* Title screen only */ PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Title screen and demo */ PORT_DIPNAME( 0x20, 0x20, "Bonus Game Type" ) PORT_DIPLOCATION("DSW4:6") /* OK */ PORT_DIPSETTING( 0x20, "Big / Small" ) PORT_DIPSETTING( 0x00, "Black / Red" ) PORT_DIPNAME( 0x40, 0x40, "Card Type" ) PORT_DIPLOCATION("DSW4:7") /* OK */ PORT_DIPSETTING( 0x40, "Standard" ) PORT_DIPSETTING( 0x00, "Jets" ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") /* OK */ PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW5") PORT_DIPNAME( 0x07, 0x07, "Lowest Winning Hand" ) PORT_DIPLOCATION("DSW5:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "2 Pair" ) PORT_DIPSETTING( 0x06, "Any Pair" ) PORT_DIPSETTING( 0x05, "6s Or Higher" ) PORT_DIPSETTING( 0x04, "10s Or Higher" ) PORT_DIPSETTING( 0x03, "Jacks Or Higher" ) PORT_DIPSETTING( 0x02, "Queens Or Higher" ) PORT_DIPSETTING( 0x01, "Kings Or Higher" ) PORT_DIPSETTING( 0x00, "Ace Pair" ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:4") /* unknown */ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "Number Of Draws" ) PORT_DIPLOCATION("DSW5:5") /* OK */ PORT_DIPSETTING( 0x10, "1" ) PORT_DIPSETTING( 0x00, "2" ) PORT_DIPNAME( 0x20, 0x00, "Joker In Deck" ) PORT_DIPLOCATION("DSW5:6") PORT_DIPSETTING( 0x20, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0xc0, 0xc0, "Minimum Bet" ) PORT_DIPLOCATION("DSW5:7,8") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0xc0, "10" ) PORT_DIPSETTING( 0x80, "20") PORT_DIPSETTING( 0x40, "30" ) INPUT_PORTS_END /* taken from manual - (it's a starting point) consider everything unverified not all DIP banks are actually hooked up as I/O map is currently based on what crazybon actually reads */ static INPUT_PORTS_START( pkrmast ) PORT_START("IN0") // PLAYER PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V) PORT_NAME("Bet Red / 2") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Stop 3 / Small / 1 / Info") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B) PORT_NAME("Bet Blue / D-UP / 3") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Stop 1 / Take") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Stop 2 / Big / Ticket") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start / Stop All / 4") PORT_START("IN1") // COIN PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN1:1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN1:2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN1:3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN1:4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN1:5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN1:6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN1:7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN1:8") PORT_START("IN2") // TEST PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("IN2:1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("IN2:2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN2:3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN2:4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN2:5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN2:6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) PORT_NAME("IN2:7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("IN2:8") PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x00, "Freeze Pair On Line" ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, "Off" ) PORT_DIPSETTING( 0x00, "On" ) PORT_DIPNAME( 0x02, 0x02, "Hopper Out" ) PORT_DIPLOCATION("DSW1:2") PORT_DIPSETTING( 0x02, "Active Low" ) PORT_DIPSETTING( 0x00, "Active High" ) PORT_DIPNAME( 0x04, 0x04, "Type Of Payout" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Switch" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x08, 0x00, "W-Up '7'" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, "Loss" ) PORT_DIPSETTING( 0x00, "Even" ) PORT_DIPNAME( 0x10, 0x10, "W-Up Pay Rate" ) PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, "70%" ) PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPNAME( 0x20, 0x20, "W-Up Game" ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0x00, "Bet Max" ) PORT_DIPLOCATION("DSW1:7,8") PORT_DIPSETTING( 0xc0, "16" ) PORT_DIPSETTING( 0x80, "32" ) PORT_DIPSETTING( 0x40, "64" ) PORT_DIPSETTING( 0x00, "96" ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x07, "30%" ) PORT_DIPSETTING( 0x06, "40%" ) PORT_DIPSETTING( 0x05, "45%" ) PORT_DIPSETTING( 0x04, "50%" ) PORT_DIPSETTING( 0x03, "55%" ) PORT_DIPSETTING( 0x02, "60%" ) PORT_DIPSETTING( 0x01, "65%" ) PORT_DIPSETTING( 0x00, "70%" ) PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x00, "100 Odds Sound" ) PORT_DIPLOCATION("DSW2:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, "Key In Type" ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x00, "A-Type" ) PORT_DIPSETTING( 0x40, "B-Type" ) PORT_DIPNAME( 0x80, 0x00, "Type Of Coin D" ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x00, "C Type" ) PORT_DIPSETTING( 0x80, "D Type" ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x00, "Key In Rate" ) PORT_DIPLOCATION("DSW3:1,2") PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) /* A Type */ PORT_DIPSETTING( 0x01, "1 Coin/20 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x03, "1 Coin/100 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) /* B Type */ PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x02, "1 Coin/25 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x03, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPNAME( 0x0c, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:3,4") PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x0c, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x30, 0x00, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:5,6") PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x80,EQUALS,0x00) /* C Type */ PORT_DIPSETTING( 0x10, "1 Coin/20 Credits" ) PORT_CONDITION("DSW2",0x80,EQUALS,0x00) PORT_DIPSETTING( 0x20, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x80,EQUALS,0x00) PORT_DIPSETTING( 0x30, "1 Coin/100 Credits" ) PORT_CONDITION("DSW2",0x80,EQUALS,0x00) PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C) ) PORT_CONDITION("DSW2",0x80,EQUALS,0x80) /* D Type */ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x80,EQUALS,0x80) PORT_DIPSETTING( 0x20, "1 Coin/25 Credits" ) PORT_CONDITION("DSW2",0x80,EQUALS,0x80) PORT_DIPSETTING( 0x30, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x80,EQUALS,0x80) PORT_DIPNAME( 0xc0, 0x00, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:7,8") PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0xc0, "1 Coin/10 Credits" ) PORT_START("DSW4") PORT_DIPNAME( 0x07, 0x00, "Credit Limit" ) PORT_DIPLOCATION("DSW4:1,2,3") PORT_DIPSETTING( 0x07, "5000" ) PORT_DIPSETTING( 0x06, "10000" ) PORT_DIPSETTING( 0x05, "20000" ) PORT_DIPSETTING( 0x04, "30000" ) PORT_DIPSETTING( 0x03, "40000" ) PORT_DIPSETTING( 0x02, "50000" ) PORT_DIPSETTING( 0x01, "100000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x08, 0x00, "Display Credit Limit" ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x00, "Bet Limit For Center Super 7" ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, "Limited" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x00, "Bonus Play Min Bet" ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x20, "16" ) PORT_DIPNAME( 0x40, 0x40, "Reel Speed" ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) PORT_DIPNAME( 0x80, 0x00, "Hopper Out By Coin A" ) PORT_DIPLOCATION("DSW4:8") PORT_DIPSETTING( 0x80, "On" ) PORT_DIPSETTING( 0x00, "Off" ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x00, "Display Doll On Demo" ) PORT_DIPLOCATION("DSW5:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x06, 0x06, "Coin In Limit" ) PORT_DIPLOCATION("DSW5:2,3") PORT_DIPSETTING( 0x00, "1000" ) PORT_DIPSETTING( 0x02, "5000" ) PORT_DIPSETTING( 0x04, "10000" ) PORT_DIPSETTING( 0x06, "20000" ) PORT_DIPNAME( 0x18, 0x18, "Condition For 3 Kind Bonus" ) PORT_DIPLOCATION("DSW5:4,5") PORT_DIPSETTING( 0x18, "3-2-1" ) PORT_DIPSETTING( 0x10, "6-3-1" ) PORT_DIPSETTING( 0x08, "9-5-1" ) PORT_DIPSETTING( 0x00, "12-7-1" ) PORT_DIPNAME( 0x20, 0x00, "Display Doll On Fruit & Cherry Bonus" ) PORT_DIPLOCATION("DSW5:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, "Coin Out Rate" ) PORT_DIPLOCATION("DSW5:7") PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPNAME( 0x80, 0x00, "Run Cards In W-Up" ) PORT_DIPLOCATION("DSW5:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW6") PORT_DIPNAME( 0x01, 0x00, "Card Type" ) PORT_DIPLOCATION("DSW6:1") PORT_DIPSETTING( 0x01, "Cards" ) PORT_DIPSETTING( 0x00, "Missiles" ) PORT_DIPNAME( 0x02, 0x02, "Type Of W-Up Game" ) PORT_DIPLOCATION("DSW6:2") PORT_DIPSETTING( 0x00, "Big / Small" ) PORT_DIPSETTING( 0x02, "Red / Black" ) PORT_DIPNAME( 0x04, 0x00, "Hold After 1st Hold" ) PORT_DIPLOCATION("DSW6:3") PORT_DIPSETTING( 0x04, "Off" ) PORT_DIPSETTING( 0x00, "On" ) PORT_DIPNAME( 0x08, 0x00, "Royal Win" ) PORT_DIPLOCATION("DSW6:4") PORT_DIPSETTING( 0x08, "Off" ) PORT_DIPSETTING( 0x00, "On" ) PORT_DIPNAME( 0x10, 0x00, "Joker" ) PORT_DIPLOCATION("DSW6:5") PORT_DIPSETTING( 0x10, "Off" ) PORT_DIPSETTING( 0x00, "On" ) PORT_DIPNAME( 0xe0, 0x00, "One Pair Win Type" ) PORT_DIPLOCATION("DSW6:6,7,8") PORT_DIPSETTING( 0x80, "No Win" ) PORT_DIPSETTING( 0x60, "Any Pair" ) PORT_DIPSETTING( 0x40, "6s & Better" ) PORT_DIPSETTING( 0xe0, "10s & Beter" ) PORT_DIPSETTING( 0xc0, "Jacks & Better" ) PORT_DIPSETTING( 0xa0, "Queens & Better" ) PORT_DIPSETTING( 0x20, "Kings & Better" ) PORT_DIPSETTING( 0x00, "Ace Pair" ) PORT_START("DSW7") PORT_DIPNAME( 0x03, 0x01, "Minimum Bet To Play" ) PORT_DIPLOCATION("DSW7:1,2") PORT_DIPSETTING( 0x01, "1" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPSETTING( 0x03, "8" ) PORT_DIPSETTING( 0x00, "10" ) PORT_DIPNAME( 0x0c, 0x04, "Keys Panel Type" ) PORT_DIPLOCATION("DSW7:3,4") PORT_DIPSETTING( 0x04, "A Type" ) PORT_DIPSETTING( 0x0c, "B Type" ) PORT_DIPSETTING( 0x08, "C Type" ) PORT_DIPSETTING( 0x00, "D Type" ) PORT_DIPNAME( 0x10, 0x00, "Chance Bonus" ) PORT_DIPLOCATION("DSW7:5") PORT_DIPSETTING( 0x10, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0x20, 0x00, "Sound At Run & Open Cards" ) PORT_DIPLOCATION("DSW7:6") PORT_DIPSETTING( 0x20, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0xc0, 0x80, "Main Game Type" ) PORT_DIPLOCATION("DSW7:7,8") PORT_DIPSETTING( 0x40, "Cherry Master Only - Full Demo" ) PORT_DIPSETTING( 0xc0, "Poker Only - Full Demo" ) PORT_DIPSETTING( 0x80, "Full Demo Of Both Games" ) PORT_DIPSETTING( 0x00, "Logo Only Demo Of Both Games" ) INPUT_PORTS_END static INPUT_PORTS_START( chry10 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Stop 2 / Big / Bonus Game") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Blue Bet / D-UP / Card 3") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("Stop 1 / Take") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("Red Bet / Card 2") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("Stop 3 / Small / Info / Card 1") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("Start / Stop All / Card 4") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_INCLUDE( cb3_dsw1 ) PORT_MODIFY("DSW1") /* Game Style not checked */ /* Hopper Out Switch not checked */ /* Payout Mode not checked */ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4") /* normally '7' In Double Up Game but doesn't seem to do anything */ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Double Up Game Pay Rate OK */ /* Double Up Game OK */ /* Bet Max OK */ PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x00, "40%" ) PORT_DIPSETTING( 0x01, "45%" ) PORT_DIPSETTING( 0x02, "50%" ) PORT_DIPSETTING( 0x03, "55%" ) PORT_DIPSETTING( 0x04, "60%" ) PORT_DIPSETTING( 0x05, "65%" ) PORT_DIPSETTING( 0x06, "70%" ) PORT_DIPSETTING( 0x07, "80%" ) /* Hopper Limit not checked */ /* 100+ Odds Sound not checked */ /* Key In Type OK - note that definition of A-Type and B-Type are reversed compared to cmv4 */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x03, "Key In Rate" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) /* A-Type */ PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x02, "1 Coin/25 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x03, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) /* B-Type */ PORT_DIPSETTING( 0x01, "1 Coin/20 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x03, "1 Coin/100 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPNAME( 0x0c, 0x0c, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x04, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x08, "1 Coin/50 Credits" ) PORT_DIPSETTING( 0x0c, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x30, 0x30, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:5,6") /* OK */ PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) /* C-Type */ PORT_DIPSETTING( 0x20, "2 Coins/10 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, "1 Coin/20 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, "1 Ticket/50 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) /* D-Type */ PORT_DIPSETTING( 0x10, "1 Ticket/100 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x20, "1 Ticket/200 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x30, "1 Ticket/500 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0xc0, 0xc0, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:7,8") /* OK */ PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x40, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x80, "1 Coin/50 Credits" ) PORT_DIPSETTING( 0xc0, "1 Coin/100 Credits" ) PORT_INCLUDE( cb3_dsw4 ) /* all OK */ PORT_INCLUDE( cb3_dsw5 ) /* DSW5-1 not checked */ /* Coin In Limit not working */ /* Coin Out Rate not checked */ /* Double Up Girl not working (always shows face in demo) */ /* Coin In Rate not checked */ INPUT_PORTS_END static INPUT_PORTS_START( ncb3 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("P1 - Stop 2 / Big / Bonus Game / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("P1 - Blue Bet / D-UP / Card 3") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 - Stop 1 / Take") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_V) PORT_NAME("P1 - Red Bet / Card 2") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("P1 - Stop 3 / Small / Info / Card 1") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_N) PORT_NAME("P1 - Start / Stop All / Card 4") PORT_INCLUDE( cmv4_coins ) PORT_INCLUDE( cmv4_service ) PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON8 ) PORT_CODE(KEYCODE_S) PORT_NAME("P2 - Stop 2 / Big / Bonus Game / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_G) PORT_NAME("P2 - Blue Bet / D-UP / Card 3") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_CODE(KEYCODE_A) PORT_NAME("P2 - Stop 1 / Take") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_F) PORT_NAME("P2 - Red Bet / Card 2") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 - Stop 3 / Small / Info / Card 1") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_CODE(KEYCODE_H) PORT_NAME("P2 - Start / Stop All / Card 4") PORT_INCLUDE( cb3_dsw1 ) /* Game Style not checked */ /* Hopper Out Switch not checked */ /* Payout Mode not checked */ /* '7' In Double Up Game OK */ /* Double Up Game Pay Rate OK */ /* Double Up Game OK */ /* Bet Max OK */ PORT_INCLUDE( cmv4_dsw2 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x00, "55%" ) PORT_DIPSETTING( 0x01, "60%" ) PORT_DIPSETTING( 0x02, "65%" ) PORT_DIPSETTING( 0x03, "70%" ) PORT_DIPSETTING( 0x04, "75%" ) PORT_DIPSETTING( 0x05, "80%" ) PORT_DIPSETTING( 0x06, "85%" ) PORT_DIPSETTING( 0x07, "90%" ) /* Hopper Limit not checked */ /* 100+ Odds Sound not checked */ /* Key In Type OK - note that definition of A-Type and B-Type are reversed compared to cmv4 */ /* Center Super 7 Bet Limit related with Min. Bet For Bonus Play (DSW4-6) */ PORT_INCLUDE( cb3_dsw3 ) /* all OK */ PORT_INCLUDE( cb3_dsw4 ) /* all OK */ PORT_INCLUDE( cb3_dsw5 ) /* DSW5-1 not checked */ /* Coin In Limit not working */ /* Coin Out Rate not checked */ /* Double Up Girl not working (always shows face in demo) */ /* Coin In Rate not checked */ INPUT_PORTS_END static INPUT_PORTS_START( cb3a ) PORT_INCLUDE( ncb3 ) PORT_MODIFY("DSW1") PORT_DIPNAME( 0x10, 0x10, "W-Up Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "50%" ) PORT_DIPSETTING( 0x10, "80%" ) INPUT_PORTS_END static INPUT_PORTS_START( lucky8 ) PORT_START("IN0") /* d800 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_B) PORT_NAME("P1 - Big / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_C) PORT_NAME("P1 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_V) PORT_NAME("P1 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_N) PORT_NAME("P1 - Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("P1 - Start") PORT_START("IN1") /* d801 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_CODE(KEYCODE_G) PORT_NAME("P2 - Big / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_F) PORT_NAME("P2 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_CODE(KEYCODE_A) PORT_NAME("P2 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_CODE(KEYCODE_H) PORT_NAME("P2 - Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_CODE(KEYCODE_S) PORT_NAME("P2 - Start") PORT_START("IN2") /* d802 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN3") /* d810 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_NAME("Coin D") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") PORT_START("IN4") /* d811 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Hopper Coin Switch" ) PORT_DIPLOCATION("DSW1:2") PORT_DIPSETTING( 0x02, "Active Low" ) PORT_DIPSETTING( 0x00, "Active High" ) PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Payout Switch" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x08, 0x00, "'7' In Double Up Game" ) PORT_DIPLOCATION("DSW1:4") /* OK */ PORT_DIPSETTING( 0x08, "Lose" ) PORT_DIPSETTING( 0x00, "Even" ) PORT_DIPNAME( 0x10, 0x10, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x10, "80%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_DIPNAME( 0x20, 0x20, "Double Up Game" ) PORT_DIPLOCATION("DSW1:6") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0x00, "Special Odds" ) PORT_DIPLOCATION("DSW1:7,8") /* doesn't seem to actually do anything - in W-4 manual but probably unused in these game */ PORT_DIPSETTING( 0xc0, "None" ) PORT_DIPSETTING( 0x80, "Limited to X 300 (X 1000)" ) PORT_DIPSETTING( 0x40, "Limited to X 500 (X 5000)" ) PORT_DIPSETTING( 0x00, "Limited to X 1000 (X 10000)" ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x07, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "80%" ) PORT_DIPSETTING( 0x06, "83%" ) PORT_DIPSETTING( 0x05, "86%" ) PORT_DIPSETTING( 0x04, "89%" ) PORT_DIPSETTING( 0x03, "92%" ) PORT_DIPSETTING( 0x02, "95%" ) PORT_DIPSETTING( 0x01, "98%" ) PORT_DIPSETTING( 0x00, "101%" ) /* ??? */ PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x20, "Over 100 Bet Sound" ) PORT_DIPLOCATION("DSW2:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Paytable Settings" ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x40, "Low Pay" ) PORT_DIPSETTING( 0x00, "High Pay" ) PORT_DIPNAME( 0x80, 0x80, "Double Up Game Type" ) PORT_DIPLOCATION("DSW2:8") /* OK */ PORT_DIPSETTING( 0x80, "Reels (automatic)" ) PORT_DIPSETTING( 0x00, "Cards (Big/Small)" ) PORT_START("DSW3") /* marked as DSW4 in manual */ PORT_DIPNAME( 0x0f, 0x07, "Coin D Rate" ) PORT_DIPLOCATION("DSW4:1,2,3,4") /* OK - all other values are 10C/1C */ PORT_DIPSETTING( 0x0f, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x01, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x02, "5 Coins/2 Credits" ) PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x05, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x09, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x0a, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x0b, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x70, 0x60, "Coin C Rate" ) PORT_DIPLOCATION("DSW4:5,6,7") /* OK - all other values are 10C/1C */ PORT_DIPSETTING( 0x70, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x10, "9 Coins/1 Credit" ) PORT_DIPSETTING( 0x20, DEF_STR( 6C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) PORT_DIPNAME( 0x80, 0x80, "4th Coin" ) PORT_DIPLOCATION("DSW4:8") /* OK */ PORT_DIPSETTING( 0x80, "As Coin A" ) PORT_DIPSETTING( 0x00, "As Hopper Line" ) PORT_START("DSW4") /* marked as DSW3 in manual */ PORT_DIPNAME( 0x07, 0x07, "Key In Rate" ) PORT_DIPLOCATION("DSW3:1,2,3") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x02, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x03, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x04, "1 Coin/40 Credits" ) PORT_DIPSETTING( 0x05, "1 Coin/50 Credits" ) PORT_DIPSETTING( 0x06, "1 Coin/60 Credits" ) PORT_DIPSETTING( 0x07, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x38, 0x38, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:4,5,6") /* OK */ PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_6C ) ) /* manual says 1C/8C */ PORT_DIPSETTING( 0x28, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( lucky8a ) PORT_INCLUDE( lucky8 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x07, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x07, "30%" ) PORT_DIPSETTING( 0x06, "40%" ) PORT_DIPSETTING( 0x05, "50%" ) PORT_DIPSETTING( 0x04, "60%" ) PORT_DIPSETTING( 0x03, "70%" ) PORT_DIPSETTING( 0x02, "80%" ) PORT_DIPSETTING( 0x01, "90%" ) PORT_DIPSETTING( 0x00, "100%" ) INPUT_PORTS_END static INPUT_PORTS_START( lucky8b ) PORT_INCLUDE( lucky8 ) PORT_MODIFY("IN1") /* Player 2 controls not used in this set */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_MODIFY("DSW1") PORT_DIPNAME( 0x10, 0x10, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x10, "60%" ) PORT_DIPSETTING( 0x00, "75%" ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x07, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "58%" ) PORT_DIPSETTING( 0x06, "62%" ) PORT_DIPSETTING( 0x05, "66%" ) PORT_DIPSETTING( 0x04, "70%" ) PORT_DIPSETTING( 0x03, "74%" ) PORT_DIPSETTING( 0x02, "78%" ) PORT_DIPSETTING( 0x01, "82%" ) PORT_DIPSETTING( 0x00, "86%" ) INPUT_PORTS_END static INPUT_PORTS_START( lucky8d ) PORT_INCLUDE( lucky8 ) PORT_MODIFY("DSW1") PORT_DIPNAME( 0x10, 0x10, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x10, "60%" ) PORT_DIPSETTING( 0x00, "70%" ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x07, 0x07, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "43%" ) PORT_DIPSETTING( 0x06, "47%" ) PORT_DIPSETTING( 0x05, "53%" ) PORT_DIPSETTING( 0x04, "57%" ) PORT_DIPSETTING( 0x03, "63%" ) PORT_DIPSETTING( 0x02, "67%" ) PORT_DIPSETTING( 0x01, "73%" ) PORT_DIPSETTING( 0x00, "79%" ) INPUT_PORTS_END static INPUT_PORTS_START( ns8linew ) PORT_START("IN0") /* b800 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_B) PORT_NAME("P1 - Big / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_C) PORT_NAME("P1 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_V) PORT_NAME("P1 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_N) PORT_NAME("P1 - Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("P1 - Start") PORT_START("IN1") /* $b801 - P2 Controls... Leftover? Once switched all lamps turn off and no P2 big/small inputs */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_CODE(KEYCODE_G) PORT_NAME("P2 - Big / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_F) PORT_NAME("P2 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_CODE(KEYCODE_A) PORT_NAME("P2 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_CODE(KEYCODE_H) PORT_NAME("P2 - Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_CODE(KEYCODE_S) PORT_NAME("P2 - Start") PORT_START("IN2") /* $b802 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN3") /* $b810 - Money in */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B"); PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_NAME("Coin D"); PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C"); PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") PORT_START("IN4") /* $b811 - Service controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Hopper Coin Switch" ) PORT_DIPLOCATION("DSW1:2") /* not checked */ PORT_DIPSETTING( 0x02, "Active Low" ) PORT_DIPSETTING( 0x00, "Active High" ) PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") /* not checked */ PORT_DIPSETTING( 0x04, "Payout Switch" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x18, 0x18, "Double-Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:4,5") /* OK */ PORT_DIPSETTING( 0x18, "60%" ) PORT_DIPSETTING( 0x10, "70%" ) PORT_DIPSETTING( 0x08, "80%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0x00, "Special Odds" ) PORT_DIPLOCATION("DSW1:7,8") /* not checked */ PORT_DIPSETTING( 0xc0, "None" ) PORT_DIPSETTING( 0xb0, "Limited to x300 (x1000)" ) PORT_DIPSETTING( 0x40, "Limited to x500 (x5000)" ) PORT_DIPSETTING( 0x00, "Limited to x1000 (x10000)" ) PORT_START("DSW2") PORT_DIPNAME( 0x03, 0x01, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2") /* OK */ PORT_DIPSETTING( 0x03, "60%" ) PORT_DIPSETTING( 0x02, "70%" ) PORT_DIPSETTING( 0x01, "80%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_DIPNAME( 0x04, 0x04, "Double Up Game" ) PORT_DIPLOCATION("DSW2:3") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04, DEF_STR( On ) ) PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") /* not checked */ PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x20, "Over 100 Bet Sound" ) PORT_DIPLOCATION("DSW2:6") /* not checked */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Odds Table" ) PORT_DIPLOCATION("DSW2:7") /* not checked */ PORT_DIPSETTING( 0x40, "A - Low" ) PORT_DIPSETTING( 0x00, "B - High" ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") /* not working */ PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x0f, 0x07, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:1,2,3,4") /* OK - all other values are all 10C/1C */ PORT_DIPSETTING( 0x0f, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x01, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x02, "5 Coins/2 Credits" ) PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x05, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x09, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x0a, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x0b, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x70, 0x60, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:5,6,7") /* OK - all other values are 10C/1C */ PORT_DIPSETTING( 0x70, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x10, "9 Coins/1 Credit" ) PORT_DIPSETTING( 0x20, DEF_STR( 6C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) PORT_DIPNAME( 0x80, 0x80, "4th Coin" ) PORT_DIPLOCATION("DSW3:8") /* OK */ PORT_DIPSETTING( 0x80, "As Coin A" ) PORT_DIPSETTING( 0x00, "As Hopper Line" ) PORT_START("DSW4") PORT_DIPNAME( 0x07, 0x07, "Key In Rate" ) PORT_DIPLOCATION("DSW4:1,2,3") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x01, "1 Coin /10 Credits" ) PORT_DIPSETTING( 0x02, "1 Coin /20 Credits" ) PORT_DIPSETTING( 0x03, "1 Coin /25 Credits" ) PORT_DIPSETTING( 0x04, "1 Coin /40 Credits" ) PORT_DIPSETTING( 0x05, "1 Coin /50 Credits" ) PORT_DIPSETTING( 0x06, "1 Coin /60 Credits" ) PORT_DIPSETTING( 0x07, "1 Coin /100 Credits" ) PORT_DIPNAME( 0x38, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW4:4,5,6") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_6C ) ) // manual says 1c/8c PORT_DIPSETTING( 0x28, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") /* not checked */ PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") /* not checked */ PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( ns8linwa ) PORT_START("IN0") /* b800 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_B) PORT_NAME("P1 - Big / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_C) PORT_NAME("P1 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_V) PORT_NAME("P1 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_N) PORT_NAME("P1 - Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("P1 - Start") PORT_START("IN1") /* $b801 - P2 Controls... Not set */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN2") /* $b802 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN3") /* $b810 - Money in */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B"); PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_NAME("Coin D"); PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C"); PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") PORT_START("IN4") /* $b811 - Service controls */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1") // not checked PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Hopper Coin Switch" ) PORT_DIPLOCATION("DSW1:2") // not checked PORT_DIPSETTING( 0x02, "Active Low" ) PORT_DIPSETTING( 0x00, "Active High" ) PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:3") // not checked PORT_DIPSETTING( 0x04, "Payout Switch" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4") // not checked PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x30, 0x30, "Double-Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5,6") // OK PORT_DIPSETTING( 0x00, "60%" ) // OK PORT_DIPSETTING( 0x10, "65%" ) // OK PORT_DIPSETTING( 0x20, "70%" ) // OK PORT_DIPSETTING( 0x30, "75%" ) // OK PORT_DIPNAME( 0xc0, 0x00, "Special Odds" ) PORT_DIPLOCATION("DSW1:7,8") // not checked PORT_DIPSETTING( 0xc0, "None" ) PORT_DIPSETTING( 0xb0, "Limited to x300 (x1000)" ) PORT_DIPSETTING( 0x40, "Limited to x500 (x5000)" ) PORT_DIPSETTING( 0x00, "Limited to x1000 (x10000)" ) PORT_START("DSW2") PORT_DIPNAME( 0x03, 0x01, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2") // OK PORT_DIPSETTING( 0x03, "58%" ) // OK PORT_DIPSETTING( 0x02, "62%" ) // OK PORT_DIPSETTING( 0x01, "66%" ) // OK PORT_DIPSETTING( 0x00, "70%" ) // OK PORT_DIPNAME( 0x04, 0x04, "Double Up Game" ) PORT_DIPLOCATION("DSW2:3") // not checked PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04, DEF_STR( On ) ) PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") // not checked PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x20, "Over 100 Bet Sound" ) PORT_DIPLOCATION("DSW2:6") // not checked PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Odds Table" ) PORT_DIPLOCATION("DSW2:7") // not checked PORT_DIPSETTING( 0x40, "A - Low" ) PORT_DIPSETTING( 0x00, "B - High" ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") // not checked PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x0f, 0x07, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:1,2,3,4") // not checked PORT_DIPSETTING( 0x0f, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x01, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x02, "5 Coins/2 Credits" ) PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x05, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x09, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x0a, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x0b, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x70, 0x60, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:5,6,7") // not checked PORT_DIPSETTING( 0x70, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x10, "9 Coins/1 Credit" ) PORT_DIPSETTING( 0x20, DEF_STR( 6C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) PORT_DIPNAME( 0x80, 0x80, "4th Coin" ) PORT_DIPLOCATION("DSW3:8") // not checked PORT_DIPSETTING( 0x80, "As Coin A" ) PORT_DIPSETTING( 0x00, "As Hopper Line" ) PORT_START("DSW4") PORT_DIPNAME( 0x07, 0x03, "Key In Rate" ) PORT_DIPLOCATION("DSW4:1,2,3") // OK PORT_DIPSETTING( 0x00, "1 Pulse / 5 Credits" ) // OK PORT_DIPSETTING( 0x01, "1 Pulse / 10 Credits" ) // OK PORT_DIPSETTING( 0x02, "1 Pulse / 20 Credits" ) // OK PORT_DIPSETTING( 0x03, "1 Pulse / 100 Credits" ) // OK PORT_DIPSETTING( 0x04, "1 Pulse / 110 Credits" ) // OK PORT_DIPSETTING( 0x05, "1 Pulse / 120 Credits" ) // OK PORT_DIPSETTING( 0x06, "1 Pulse / 130 Credits" ) // OK PORT_DIPSETTING( 0x07, "1 Pulse / 500 Credits" ) // OK PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") // not checked PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x30, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW4:5,6") // OK PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) // OK PORT_DIPSETTING( 0x10, DEF_STR( 1C_2C ) ) // OK PORT_DIPSETTING( 0x20, DEF_STR( 1C_5C ) ) // OK PORT_DIPSETTING( 0x30, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") // not checked PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") // not checked PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( luckylad ) // CHECK & FIX ME PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("Odds table") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Keep 3") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Keep 2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Keep 1") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Keep 5") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Keep 4") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_NAME("Coin D") PORT_START("IN4") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( ladylinr ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_H) PORT_NAME("Hopper Muenze (Hopper Coin") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_J) PORT_NAME("Hopper Voll (Hopper Fill)") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME("Abschreib (Payout)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Aufsteller (Supervisor)") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Buchhaltung (Bookkeeping)") PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Hoch (High) / Stop 3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("Gamble (D-UP)") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_NAME("Nehmen (Take)") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Setzen (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Tief (Low) / Stop 1 / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Start / Stop 2") PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, "Remote Credits" ) PORT_DIPLOCATION("DSW1:1,2") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, "10" ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x03, "100" ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x00, "20 credits" ) PORT_DIPSETTING( 0x10, "50 Credits" ) PORT_DIPNAME( 0x20, 0x20, "Coin B & C" ) PORT_DIPLOCATION("DSW1:6") /* OK */ PORT_DIPSETTING( 0x00, "10 credits" ) PORT_DIPSETTING( 0x20, "20 credits" ) PORT_DIPNAME( 0x40, 0x40, "Reels Speed" ) PORT_DIPLOCATION("DSW1:7") /* OK */ PORT_DIPSETTING( 0x40, DEF_STR( Normal ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) PORT_DIPNAME( 0x80, 0x00, "Input Test Mode" ) PORT_DIPLOCATION("DSW1:8") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) /* there are 2 extra DSW banks... both are tied to a daughterboard, maybe hooked to a device. they are not related to the original hardware, and are not listed in the Input Test Mode. */ INPUT_PORTS_END static INPUT_PORTS_START( kkotnoli ) PORT_START("IN0") /* d800 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_B) PORT_NAME("P1 - Big / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_C) PORT_NAME("P1 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_V) PORT_NAME("P1 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_N) PORT_NAME("P1 - Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("P1 - Start") PORT_START("IN1") /* d801 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_CODE(KEYCODE_G) PORT_NAME("P2 - Big / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_F) PORT_NAME("P2 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_CODE(KEYCODE_A) PORT_NAME("P2 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_CODE(KEYCODE_H) PORT_NAME("P2 - Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_CODE(KEYCODE_S) PORT_NAME("P2 - Start") PORT_START("IN2") /* d802 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN3") /* d810 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) // Coin1 1 coin/1 credit PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) // Coin2 10 coins/1 credit PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) // Coin3 2 coins/1 credit PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) // Coin4 1 coin/10 credits PORT_START("IN4") /* d811 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") /* dips 1-7 appear to do nothing */ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, "Double Up Game Type" ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, "Reels (automatic)" ) /* Fix me - reel graphics do not show in game */ PORT_DIPSETTING( 0x00, "Flowers (Big/Small)" ) INPUT_PORTS_END static INPUT_PORTS_START( bingowng ) PORT_START("IN0") /* d800 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_B) PORT_NAME("P1 - Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_C) PORT_NAME("P1 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_V) PORT_NAME("P1 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_N) PORT_NAME("P1 - Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("P1 - Start") PORT_START("IN1") /* d801 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_CODE(KEYCODE_G) PORT_NAME("P2 - Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_F) PORT_NAME("P2 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_CODE(KEYCODE_A) PORT_NAME("P2 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_CODE(KEYCODE_H) PORT_NAME("P2 - Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_CODE(KEYCODE_S) PORT_NAME("P2 - Start") PORT_START("IN2") /* d802 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN3") /* d810 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_NAME( "Coin D" ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME( "Coin C" ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME( "Coin B" ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME( "Coin A" ) PORT_START("IN4") /* d811 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "Cabinet Style" ) PORT_DIPLOCATION("DSW1:1") /* not checked */ PORT_DIPSETTING( 0x00, "Cocktail" ) PORT_DIPSETTING( 0x01, "Upright" ) PORT_DIPNAME( 0x02, 0x02, "Hopper Coin Switch") PORT_DIPLOCATION("DSW1:2") /* not checked */ PORT_DIPSETTING( 0x00, "Active Low" ) PORT_DIPSETTING( 0x02, "Active High" ) PORT_DIPNAME( 0x04, 0x04, "Payout Type" ) PORT_DIPLOCATION("DSW1:3") /* not checked */ PORT_DIPSETTING( 0x04, "Take Button" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x18, 0x18, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:4,5") /* OK */ PORT_DIPSETTING( 0x18, "75%" ) PORT_DIPSETTING( 0x10, "80%" ) PORT_DIPSETTING( 0x08, "85%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* On a W-4 PCB these are used as: "Special Odds-Prohibition Of Winning...(Odds B)" - see DSW2-7 PORT_DIPNAME( 0x80, 0x00, "Special Odds" ) PORT_DIPLOCATION("DSW1:7,8") PORT_DIPSETTING( 0x00, "None" ) PORT_DIPSETTING( 0x40, "x300 (x1000)" ) PORT_DIPSETTING( 0x80, "x500 (x5000" ) PORT_DIPSETTING( 0xc0, "x1000 (x10000) */ PORT_START("DSW2") PORT_DIPNAME( 0x03, 0x02, "Main Game Rate" ) PORT_DIPLOCATION("DSW2:1,2") /* OK */ PORT_DIPSETTING( 0x03, "Very Easy" ) PORT_DIPSETTING( 0x02, "Easy" ) PORT_DIPSETTING( 0x01, "Hard" ) PORT_DIPSETTING( 0x00, "Very Hard" ) PORT_DIPNAME( 0x04, 0x00, "Double Up Game" ) PORT_DIPLOCATION("DSW2:3") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04, DEF_STR( On ) ) PORT_DIPNAME( 0x18, 0x18, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") /* not checked */ PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "1000" ) PORT_DIPSETTING( 0x08, "500" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x20, "Sound for 100+ Bet" ) PORT_DIPLOCATION("DSW2:6") /* not checked */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* On a W-4 PCB these are used as: PORT_DIPNAME( 0x40, 0x40, "Odds" ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x40, "Type A" ) PORT_DIPSETTING( 0x00, "Type B" ) PORT_DIPNAME( 0x80, 0x80, "Type Of W-Up Game" ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, "Slots" ) PORT_DIPSETTING( 0x00, "Big/Small Card" ) */ /* On a W-4 PCB DSW3 & DSW4 are reversed and all dips on DSW4 are set to off! */ PORT_START("DSW3") PORT_DIPNAME( 0x0f, 0x07, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:1,2,3,4") /* OK - other values are all 10C/1C */ PORT_DIPSETTING( 0x0f, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x01, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x02, "5 Coins/2 Credits" ) PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x05, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x06, DEF_STR( 2C_3C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x09, DEF_STR( 1C_3C ) ) PORT_DIPNAME( 0x70, 0x60, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:5,6,7") /* OK - other values are 10C/1C */ PORT_DIPSETTING( 0x70, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x10, "9 Coins/1 Credit" ) PORT_DIPSETTING( 0x20, DEF_STR( 6C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_1C ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( bingownga ) PORT_INCLUDE( bingowng ) PORT_MODIFY("DSW4") PORT_DIPNAME( 0x07, 0x07, "Coin B Rate" ) PORT_DIPLOCATION("DSW4:1,2,3") /* OK - all other values are 2C/1C */ PORT_DIPSETTING( 0x07, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_5C ) ) PORT_DIPNAME( 0x38, 0x38, "Coin A Rate" ) PORT_DIPLOCATION("DSW4:4,5,6") /* OK - all other values are 1C/1C, manual says 0x30 = 1C/100C but it doesn't work */ PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_6C ) ) PORT_DIPSETTING( 0x28, "1 Coin/10 Credits" ) INPUT_PORTS_END static INPUT_PORTS_START( mbstar ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("IN0-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_2) PORT_NAME("Increment top's 'S' (bet?)") // Increment top's 'S' (looks like bet) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_NAME("IN0-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("IN0-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_5) PORT_NAME("Collect") // Collect. Also used to blank the BK. PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("IN0-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_7) PORT_NAME("Bookkeeping: Down") // BK: down. PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8) PORT_NAME("Bookkeeping: Set/Enter - Start") // BK: enter. (start?) PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN1-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN1-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN1-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN1-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN1-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN1-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN1-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN1-8") PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("IN2-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("IN2-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN2-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN2-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN2-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN2-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) PORT_NAME("IN2-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("IN2-8") PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z) PORT_NAME("IN3-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X) PORT_NAME("IN3-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C) PORT_NAME("IN3-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_V) PORT_NAME("Coin 1") PORT_IMPULSE(2) // coin 1 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_B) PORT_NAME("Coin 2") PORT_IMPULSE(2) // coin 2 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_N) PORT_NAME("Note") // note acceptor PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_M) PORT_NAME("Remote") // remote credits PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_L) PORT_NAME("Coin 3 (tokens)") // coin 3 (tokens) PORT_START("IN4") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("IN4-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Operator Bookkeeping") // operator bookkeeping PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("IN4-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("IN4-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Payout") // payout? PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("IN4-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("IN4-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Supervisor Bookkeeping") // supervisor bookkeeping PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "DSW1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "DSW2") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) // enter in a different mode, and no attract. PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) // seems to accellerate the different mode. PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x01, 0x01, "DSW3") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "DSW4") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( magodds ) PORT_START("IN0") /* d800 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_CODE(KEYCODE_X) PORT_NAME("P1 - Big / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_CODE(KEYCODE_B) PORT_NAME("P1 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_Z) PORT_NAME("P1 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_V) PORT_NAME("P1 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_C) PORT_NAME("P1 - Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_N) PORT_NAME("P1 - Start") PORT_START("IN1") /* d801 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_CODE(KEYCODE_S) PORT_NAME("P2 - Big / Switch Controls") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON10 ) PORT_CODE(KEYCODE_G) PORT_NAME("P2 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON11 ) PORT_CODE(KEYCODE_A) PORT_NAME("P2 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_CODE(KEYCODE_F) PORT_NAME("P2 - Bet") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_CODE(KEYCODE_D) PORT_NAME("P2 - Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_CODE(KEYCODE_H) PORT_NAME("P2 - Start") PORT_START("IN2") /* d802 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN3") /* d810 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin D") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin C") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") PORT_START("IN4") /* d811 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("Hopper") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */ PORT_DIPSETTING( 0x05, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x04, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x03, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x02, "1 Coin/30 Credits" ) PORT_DIPSETTING( 0x01, "1 Coin/40 Credits" ) PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_DIPNAME( 0x38, 0x00, "Key In Rate" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK - aka Coin B */ PORT_DIPSETTING( 0x10, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x18, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x20, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x28, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x30, "1 Coin/40 Credits" ) PORT_DIPSETTING( 0x38, "1 Coin/50 Credits" ) PORT_DIPSETTING( 0x08, "1 Coin/60 Credits" ) PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) PORT_DIPNAME( 0xc0, 0x00, "Coin C Rate" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x40, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x80, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0xc0, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x04, "Main Game Level" ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x00, "+4 - 56%" ) PORT_DIPSETTING( 0x01, "+3 - 60%" ) PORT_DIPSETTING( 0x02, "+2 - 64%" ) PORT_DIPSETTING( 0x03, "+1 - 68%" ) PORT_DIPSETTING( 0x04, "0 - 72%" ) PORT_DIPSETTING( 0x05, "-1 - 76%" ) PORT_DIPSETTING( 0x06, "-2 - 80%" ) PORT_DIPSETTING( 0x07, "-3 - 84%" ) PORT_DIPNAME( 0x08, 0x08, "Nudity / Strip" ) PORT_DIPLOCATION("DSW2:4") /* OK */ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") /* marked as DSW4 */ PORT_DIPNAME( 0x03, 0x03, "Coin In Limit" ) PORT_DIPLOCATION("DSW4:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1000" ) PORT_DIPSETTING( 0x01, "2000" ) PORT_DIPSETTING( 0x02, "3000" ) PORT_DIPSETTING( 0x03, "Unlimited" ) PORT_DIPNAME( 0x04, 0x00, "Hopper Switch" ) PORT_DIPLOCATION("DSW4:3") /* not checked */ PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0xf0, 0xf0, "Coin D Rate" ) PORT_DIPLOCATION("DSW4:5,6,7,8") /* OK */ PORT_DIPSETTING( 0x00, "10 Coins/1 Credit" ) PORT_DIPSETTING( 0x10, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x20, "5 Coins/2 Credits" ) PORT_DIPSETTING( 0x30, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 4C_3C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 3C_2C ) ) PORT_DIPSETTING( 0x70, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 2C_3C ) ) PORT_DIPSETTING( 0x90, DEF_STR( 2C_5C ) ) PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0xa0, "1 Coin/10 Credits" ) PORT_START("DSW4") /* marked as DSW3 */ PORT_DIPNAME( 0x03, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW3:1,2") /* not checked */ PORT_DIPSETTING( 0x03, "1000" ) PORT_DIPSETTING( 0x02, "500" ) PORT_DIPSETTING( 0x01, "300" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x0c, 0x0c, "Max Bet" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x04, "16" ) PORT_DIPSETTING( 0x08, "32" ) PORT_DIPSETTING( 0x0c, "64" ) PORT_DIPNAME( 0x70, 0x00, "Credit Limit" ) PORT_DIPLOCATION("DSW3:5,6,7") /* OK */ PORT_DIPSETTING( 0x70, "5000" ) PORT_DIPSETTING( 0x60, "10000" ) PORT_DIPSETTING( 0x50, "20000" ) PORT_DIPSETTING( 0x40, "30000" ) PORT_DIPSETTING( 0x30, "40000" ) PORT_DIPSETTING( 0x20, "50000" ) PORT_DIPSETTING( 0x10, "90000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( schery97 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Stop All / Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Take / Select Card") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("Display Pts/Ticket") /* undocumented - works when credited */ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Note In") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") // doesn't work in v352c4 PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "Level 1 (Easiest)" ) PORT_DIPSETTING( 0x06, "Level 2" ) PORT_DIPSETTING( 0x05, "Level 3" ) PORT_DIPSETTING( 0x04, "Level 4" ) PORT_DIPSETTING( 0x03, "Level 5" ) PORT_DIPSETTING( 0x02, "Level 6" ) PORT_DIPSETTING( 0x01, "Level 7" ) PORT_DIPSETTING( 0x00, "Level 8 (Hardest)" ) PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x08, "10" ) PORT_DIPSETTING( 0x10, "24" ) PORT_DIPSETTING( 0x18, "32" ) PORT_DIPSETTING( 0x20, "40" ) PORT_DIPSETTING( 0x28, "48" ) PORT_DIPSETTING( 0x30, "64" ) PORT_DIPSETTING( 0x38, "80" ) PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x80, "16" ) PORT_DIPSETTING( 0xc0, "24" ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "Double Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x02, "Skill Spinning" ) PORT_DIPLOCATION("DSW2:2") /* OK (listed as Non-Stop spinning in the manual) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_DIPNAME( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x60, 0x00, "Note In Value" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */ PORT_DIPSETTING( 0x00, "100" ) PORT_DIPSETTING( 0x20, "200" ) PORT_DIPSETTING( 0x40, "500" ) PORT_DIPSETTING( 0x60, "1000" ) PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x01, "8" ) PORT_DIPSETTING( 0x02, "10" ) /* 16 in the manual */ PORT_DIPSETTING( 0x03, "16" ) /* 24 in the manual */ PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Points" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x00, "1000" ) PORT_DIPSETTING( 0x04, "5000" ) PORT_DIPSETTING( 0x08, "10000" ) PORT_DIPSETTING( 0x0c, "90000" ) PORT_DIPNAME( 0xf0, 0x00, "Clear / Ticket Unit" ) PORT_DIPLOCATION("DSW3:5,6,7,8") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x10, "4" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x30, "10" ) PORT_DIPSETTING( 0x40, "15" ) PORT_DIPSETTING( 0x50, "20" ) PORT_DIPSETTING( 0x60, "25" ) PORT_DIPSETTING( 0x70, "30" ) PORT_DIPSETTING( 0x80, "40" ) PORT_DIPSETTING( 0x90, "50" ) PORT_DIPSETTING( 0xa0, "60" ) PORT_DIPSETTING( 0xb0, "75" ) PORT_DIPSETTING( 0xc0, "80" ) PORT_DIPSETTING( 0xd0, "100" ) PORT_DIPSETTING( 0xe0, "200" ) PORT_DIPSETTING( 0xf0, "500" ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "Check Account" ) PORT_DIPLOCATION("DSW4:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x00, "Show In Confirm Screen" ) PORT_DIPLOCATION("DSW4:2") /* OK */ PORT_DIPSETTING( 0x00, "Level of Difficulty" ) /* percentage in the manual */ PORT_DIPSETTING( 0x02, "Percentage" ) /* level of difficulty in the manual */ PORT_DIPNAME( 0x04, 0x00, "Initial Bonus Settings After Reset" ) PORT_DIPLOCATION("DSW4:3") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, "Type 1" ) PORT_DIPSETTING( 0x04, "Type 2" ) PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8") /* OK */ PORT_DIPSETTING( 0xe0, "Continuous" ) PORT_DIPSETTING( 0xc0, "Max 1 Ticket Per Game" ) PORT_DIPSETTING( 0xa0, "Max 2 Ticket Per Game" ) PORT_DIPSETTING( 0x80, "Max 3 Ticket Per Game" ) PORT_DIPSETTING( 0x60, "Max 4 Ticket Per Game" ) PORT_DIPSETTING( 0x40, "Max 5 Ticket Per Game" ) PORT_DIPSETTING( 0x20, "Max 8 Ticket Per Game" ) PORT_DIPSETTING( 0x00, "Max 10 Ticket Per Game" ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) /* DIP switches 2 to 5 work only for version 3.51 and above */ PORT_DIPNAME( 0x02, 0x00, "Limit Score of Each Game to Max 10x Bet or $5.00" ) PORT_DIPLOCATION("DSW5:2") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x02, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0x04, 0x00, "Play Remaining Score when No Credit" ) PORT_DIPLOCATION("DSW5:3") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x04, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x04, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0x08, 0x00, "Reset Remaining Score to Zero" ) PORT_DIPLOCATION("DSW5:4") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x08, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0x10, 0x00, "Ticket Dispense from Score" ) PORT_DIPLOCATION("DSW5:5") /* OK */ PORT_DIPSETTING( 0x00, "Use TDDD" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x10, "Use Interface" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x10, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0x20, 0x20, "Reel Speed (ver 2.3)" ) PORT_DIPLOCATION("DSW5:6") /* OK (turn the machine off/on after change) */ PORT_DIPSETTING( 0x20, "Slow" ) PORT_DIPSETTING( 0x00, "Fast" ) PORT_DIPNAME( 0x40, 0x00, "Talking (ver 2.1)" ) PORT_DIPLOCATION("DSW5:7") /* OK (turn the machine off/on after change) */ PORT_DIPSETTING( 0x40, "Very Little (only sounds)" ) PORT_DIPSETTING( 0x00, "Full (sounds & speech)" ) PORT_DIPNAME( 0x80, 0x00, "Count Game to Issue Ticket" ) PORT_DIPLOCATION("DSW5:8") /* OK (turn the machine off/on after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) INPUT_PORTS_END static INPUT_PORTS_START( nfb96 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Stop All / Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Take / Select Card") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("Display Pts/Ticket") /* undocumented - works when credited */ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Note In") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings / Confirm") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "Level 1 (Easiest)" ) PORT_DIPSETTING( 0x06, "Level 2" ) PORT_DIPSETTING( 0x05, "Level 3" ) PORT_DIPSETTING( 0x04, "Level 4" ) PORT_DIPSETTING( 0x03, "Level 5" ) PORT_DIPSETTING( 0x02, "Level 6" ) PORT_DIPSETTING( 0x01, "Level 7" ) PORT_DIPSETTING( 0x00, "Level 8 (Hardest)" ) PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */ PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x08, "20" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x10, "30" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x18, "40" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x00, "8" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x08, "16" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x10, "24" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x18, "32" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x20, "40" ) PORT_DIPSETTING( 0x28, "48" ) PORT_DIPSETTING( 0x30, "64" ) PORT_DIPSETTING( 0x38, "80" ) PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x40, "20" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x80, "30" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0xc0, "40" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x00, "8" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x40, "16" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x80, "24" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPSETTING( 0xc0, "32" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "Double Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x02, "Skill Spinning" ) PORT_DIPLOCATION("DSW2:2") /* OK (listed as Non-Stop spinning in the manual) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_DIPNAME( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x60, 0x00, "Note In Value" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */ PORT_DIPSETTING( 0x00, "100" ) PORT_DIPSETTING( 0x20, "200" ) PORT_DIPSETTING( 0x40, "500" ) PORT_DIPSETTING( 0x60, "1000" ) PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x01, "10" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x02, "20" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x03, "30" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x01, "8" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x02, "16" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x03, "24" ) PORT_CONDITION("DSW5",0x10,EQUALS,0x10) PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Points" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x00, "1000" ) PORT_DIPSETTING( 0x04, "5000" ) PORT_DIPSETTING( 0x08, "10000" ) PORT_DIPSETTING( 0x0c, "90000" ) PORT_DIPNAME( 0xf0, 0x00, "Clear / Ticket Unit" ) PORT_DIPLOCATION("DSW3:5,6,7,8") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x10, "4" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x30, "10" ) PORT_DIPSETTING( 0x40, "15" ) PORT_DIPSETTING( 0x50, "20" ) PORT_DIPSETTING( 0x60, "25" ) PORT_DIPSETTING( 0x70, "30" ) PORT_DIPSETTING( 0x80, "40" ) PORT_DIPSETTING( 0x90, "50" ) PORT_DIPSETTING( 0xa0, "60" ) PORT_DIPSETTING( 0xb0, "75" ) PORT_DIPSETTING( 0xc0, "80" ) PORT_DIPSETTING( 0xd0, "100" ) PORT_DIPSETTING( 0xe0, "200" ) PORT_DIPSETTING( 0xf0, "500" ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "Check Account" ) PORT_DIPLOCATION("DSW4:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x00, "Show In Confirm Screen" ) PORT_DIPLOCATION("DSW4:2") /* OK */ PORT_DIPSETTING( 0x00, "Level of Difficulty" ) /* percentage in the manual */ PORT_DIPSETTING( 0x02, "Percentage" ) /* level of difficulty in the manual */ PORT_DIPNAME( 0x04, 0x00, "Initial Bonus Settings After Reset" ) PORT_DIPLOCATION("DSW4:3") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, "Type 1" ) PORT_DIPSETTING( 0x04, "Type 2" ) PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8") /* OK */ PORT_DIPSETTING( 0xe0, "Continuous" ) PORT_DIPSETTING( 0xc0, "Max 1 Ticket Per Game" ) PORT_DIPSETTING( 0xa0, "Max 2 Ticket Per Game" ) PORT_DIPSETTING( 0x80, "Max 3 Ticket Per Game" ) PORT_DIPSETTING( 0x60, "Max 4 Ticket Per Game" ) PORT_DIPSETTING( 0x40, "Max 5 Ticket Per Game" ) PORT_DIPSETTING( 0x20, "Max 8 Ticket Per Game" ) PORT_DIPSETTING( 0x00, "Max 10 Ticket Per Game" ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, "Limit Score of Each Game to Max 10x Bet or $5.00" ) PORT_DIPLOCATION("DSW5:2") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, "Unused when DSW4-5 OFF" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x02, "Unused when DSW4-5 OFF" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0x04, 0x00, "Use Printer" ) PORT_DIPLOCATION("DSW5:3") /* OK */ PORT_DIPSETTING( 0x00, "No (Use TDDD)" ) PORT_DIPSETTING( 0x04, DEF_STR( Yes ) ) PORT_DIPNAME( 0x08, 0x08, "Show Game Name & Odds Table" ) PORT_DIPLOCATION("DSW5:4") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, "Min-Max Bet Type" ) PORT_DIPLOCATION("DSW5:5") /* OK */ PORT_DIPSETTING( 0x10, "Base 8" ) PORT_DIPSETTING( 0x00, "Base 10" ) PORT_DIPNAME( 0x20, 0x20, "Play Score when no point left" ) PORT_DIPLOCATION("DSW5:6") /* OK (turn the machine off/on after change) */ PORT_DIPSETTING( 0x20, DEF_STR( No ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x20, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0x40, 0x00, "Reset Remaining Score when Game Over" ) PORT_DIPLOCATION("DSW5:7") /* OK (turn the machine off/on after change) */ PORT_DIPSETTING( 0x40, DEF_STR( No ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x40, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x00, DEF_STR( Unused ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0x80, 0x00, "Advanced Count Game" ) PORT_DIPLOCATION("DSW5:8") /* OK (turn the machine off/on after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) INPUT_PORTS_END /* Displays tkt info on screen but has no settings or hopper controls other than "Ticket Out By" DSW */ /* All marked as "Unknown" until a manual or more information is found */ static INPUT_PORTS_START( nfb96tx ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused coin switch */ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Stop All / Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Take / Select Card") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Ticket In") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused keyin? - causes counter errors */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused coin switch */ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused keyout? */ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "Level 1 (Easiest)" ) PORT_DIPSETTING( 0x06, "Level 2" ) PORT_DIPSETTING( 0x05, "Level 3" ) PORT_DIPSETTING( 0x04, "Level 4" ) PORT_DIPSETTING( 0x03, "Level 5" ) PORT_DIPSETTING( 0x02, "Level 6" ) PORT_DIPSETTING( 0x01, "Level 7" ) PORT_DIPSETTING( 0x00, "Level 8 (Hardest)" ) PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x08, "16" ) PORT_DIPSETTING( 0x10, "24" ) PORT_DIPSETTING( 0x18, "32" ) PORT_DIPSETTING( 0x20, "40" ) PORT_DIPSETTING( 0x28, "48" ) PORT_DIPSETTING( 0x30, "64" ) PORT_DIPSETTING( 0x38, "80" ) PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) PORT_DIPSETTING( 0x80, "24" ) PORT_DIPSETTING( 0xc0, "32" ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "Double Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x02, "Skill Spinning" ) PORT_DIPLOCATION("DSW2:2") /* OK (listed as Non-Stop spinning in the manual) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_DIPNAME( 0x04, 0x04, "Coin In Rate" ) PORT_DIPLOCATION("DSW2:3") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) /* Nickel slots in manual */ PORT_DIPSETTING( 0x04, "1 Coin/25 Credits" ) /* Penny slots in manual */ PORT_DIPNAME( 0x38, 0x10, "Ticket In Value" ) PORT_DIPLOCATION("DSW2:4,5,6") /* OK */ PORT_DIPSETTING( 0x00, "10" ) PORT_DIPSETTING( 0x08, "20" ) PORT_DIPSETTING( 0x10, "25" ) PORT_DIPSETTING( 0x18, "50" ) PORT_DIPSETTING( 0x20, "100" ) PORT_DIPSETTING( 0x28, "125" ) PORT_DIPSETTING( 0x30, "250" ) PORT_DIPSETTING( 0x38, "500" ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in other manuals */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x00, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x01, "8" ) PORT_DIPSETTING( 0x02, "16" ) PORT_DIPSETTING( 0x03, "24" ) PORT_DIPNAME( 0x0c, 0x08, "Coin In Limit" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x00, "1000" ) PORT_DIPSETTING( 0x04, "5000" ) PORT_DIPSETTING( 0x08, "10000" ) PORT_DIPSETTING( 0x0c, "90000" ) PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:5") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:6") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:7") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "Check Account" ) PORT_DIPLOCATION("DSW4:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, "Initial Bonus Settings After Reset" ) PORT_DIPLOCATION("DSW4:3") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, "Type 1" ) PORT_DIPSETTING( 0x04, "Type 2" ) PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:2") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, "Ticket Out By" ) PORT_DIPLOCATION("DSW5:3") /* OK */ PORT_DIPSETTING( 0x00, "Interface" ) PORT_DIPSETTING( 0x04, "Direct Drive" ) PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:4") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:5") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:6") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:7") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:8") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( fb2010 ) // hit 'start1' to init NVRAM for first time PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused coin switch */ PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Stop All / Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Take / Select Card") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Ticket In") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused keyin? - causes counter errors */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused coin switch */ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused keyout? */ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "Double Up" ) PORT_DIPLOCATION("DSW2:1") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Skill Spin" ) PORT_DIPLOCATION("DSW2:2") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, "Show Odds / Title" ) PORT_DIPLOCATION("DSW5:4") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW5:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "Show 'Game' Text" ) PORT_DIPLOCATION("DSW5:8") // causes corruption in D-Up game? PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( roypok96 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_NAME("D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_NAME("Take / Select Card") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x03, "Game Rate" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "Level 1 - 90%" ) PORT_DIPSETTING( 0x06, "Level 2 - 85%" ) PORT_DIPSETTING( 0x05, "Level 3 - 80%" ) PORT_DIPSETTING( 0x04, "Level 4 - 75%" ) PORT_DIPSETTING( 0x03, "Level 5 - 70%" ) PORT_DIPSETTING( 0x02, "Level 6 - 65%" ) PORT_DIPSETTING( 0x01, "Level 7 - 60%" ) PORT_DIPSETTING( 0x00, "Level 8 - 55%" ) PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x08, "16" ) PORT_DIPSETTING( 0x10, "24" ) PORT_DIPSETTING( 0x18, "32" ) PORT_DIPSETTING( 0x20, "40" ) PORT_DIPSETTING( 0x28, "48" ) PORT_DIPSETTING( 0x30, "64" ) PORT_DIPSETTING( 0x38, "80" ) PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) PORT_DIPSETTING( 0x80, "24" ) PORT_DIPSETTING( 0xc0, "32" ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "Double Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x00, "Use Printer" ) PORT_DIPLOCATION("DSW2:2") PORT_DIPSETTING( 0x00, "No (TDDD)" ) /* (Ticket Dispenser Direct Drive) */ PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) /* Use Auto Ticket Dispense only */ PORT_DIPNAME( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x60, 0x00, "Note In Value" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */ PORT_DIPSETTING( 0x00, "100" ) PORT_DIPSETTING( 0x20, "200" ) PORT_DIPSETTING( 0x40, "500" ) PORT_DIPSETTING( 0x60, "1000" ) PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x01, "8" ) PORT_DIPSETTING( 0x02, "16" ) PORT_DIPSETTING( 0x03, "24" ) PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x00, "1000" ) PORT_DIPSETTING( 0x04, "5000" ) PORT_DIPSETTING( 0x08, "10000" ) PORT_DIPSETTING( 0x0c, "90000" ) PORT_DIPNAME( 0xf0, 0x00, "Clear / Ticket Unit" ) PORT_DIPLOCATION("DSW3:5,6,7,8") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x10, "4" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x30, "10" ) PORT_DIPSETTING( 0x40, "20" ) PORT_DIPSETTING( 0x50, "25" ) PORT_DIPSETTING( 0x60, "30" ) PORT_DIPSETTING( 0x70, "40" ) PORT_DIPSETTING( 0x80, "50" ) PORT_DIPSETTING( 0x90, "60" ) PORT_DIPSETTING( 0xa0, "80" ) PORT_DIPSETTING( 0xb0, "100" ) PORT_DIPSETTING( 0xc0, "200" ) PORT_DIPSETTING( 0xd0, "300" ) PORT_DIPSETTING( 0xe0, "400" ) PORT_DIPSETTING( 0xf0, "500" ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "Check Account" ) PORT_DIPLOCATION("DSW4:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x00, "Show Coin In Limit" ) PORT_DIPLOCATION("DSW4:2") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPSETTING( 0x02, DEF_STR( No ) ) PORT_DIPNAME( 0x04, 0x00, "Initial Bonus Settings After Reset" ) PORT_DIPLOCATION("DSW4:3") /* not checked */ PORT_DIPSETTING( 0x00, "Type 1" ) PORT_DIPSETTING( 0x04, "Type 2" ) PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* not checked */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* not checked */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8") /* OK */ PORT_DIPSETTING( 0xe0, "Continuous" ) PORT_DIPSETTING( 0xc0, "Max 1 Ticket Per Game" ) PORT_DIPSETTING( 0xa0, "Max 2 Ticket Per Game" ) PORT_DIPSETTING( 0x80, "Max 3 Ticket Per Game" ) PORT_DIPSETTING( 0x60, "Max 4 Ticket Per Game" ) PORT_DIPSETTING( 0x40, "Max 5 Ticket Per Game" ) PORT_DIPSETTING( 0x20, "Max 8 Ticket Per Game" ) PORT_DIPSETTING( 0x00, "Max 10 Ticket Per Game" ) /* Only versions 3.6 and up make use of DSW5. */ PORT_START("DSW5") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END static INPUT_PORTS_START( roypok96a ) PORT_INCLUDE( roypok96 ) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x01, "8" ) PORT_DIPSETTING( 0x02, "10" ) PORT_DIPSETTING( 0x03, "16" ) /* DSW5 is under top board, 1-6 are unused and should be set to off. Switches 7 & 8 are adjustable without removing top board. */ PORT_MODIFY("DSW5") PORT_DIPNAME( 0x01, 0x00, "Unused - leave off" ) PORT_DIPLOCATION("DSW5:1") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, "Unused - leave off" ) PORT_DIPLOCATION("DSW5:2") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, "Unused - leave off" ) PORT_DIPLOCATION("DSW5:3") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x00, "Unused - leave off" ) PORT_DIPLOCATION("DSW5:4") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x00, "Unused - leave off" ) PORT_DIPLOCATION("DSW5:5") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, "Unused - leave off" ) PORT_DIPLOCATION("DSW5:6") PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, "Reset Remaining Score To Zero" ) PORT_DIPLOCATION("DSW5:7") PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x40, DEF_STR( Yes ) ) PORT_DIPNAME( 0x80, 0x00, "Count Game To Issue Ticket" ) PORT_DIPLOCATION("DSW5:8") PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x80, DEF_STR( Yes ) ) INPUT_PORTS_END static INPUT_PORTS_START( pokonl97 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 / Big / Bet 10") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 / Take / Select Card") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5 / Play (Bet 1)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 / Small / End") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_DEAL ) PORT_NAME("Start / Draw") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("Display Pts/Ticket") /* OK - works when credited */ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "Level 1 - 90%" ) PORT_DIPSETTING( 0x06, "Level 2 - 85%" ) PORT_DIPSETTING( 0x05, "Level 3 - 80%" ) PORT_DIPSETTING( 0x04, "Level 4 - 75%" ) PORT_DIPSETTING( 0x03, "Level 5 - 70%" ) PORT_DIPSETTING( 0x02, "Level 6 - 65%" ) PORT_DIPSETTING( 0x01, "Level 7 - 60%" ) PORT_DIPSETTING( 0x00, "Level 8 - 55%" ) PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */ PORT_DIPSETTING( 0x00, "10" ) PORT_DIPSETTING( 0x08, "20" ) PORT_DIPSETTING( 0x10, "30" ) PORT_DIPSETTING( 0x18, "40" ) PORT_DIPSETTING( 0x20, "50" ) PORT_DIPSETTING( 0x28, "60" ) PORT_DIPSETTING( 0x30, "70" ) PORT_DIPSETTING( 0x38, "80" ) PORT_DIPNAME( 0xc0, 0x80, "Big Hands Frequency" ) PORT_DIPLOCATION("DSW1:7,8") /* OK - hit frequency of 4/5-of a kind & flushes */ PORT_DIPSETTING( 0x00, "Level 1 - Lowest" ) PORT_DIPSETTING( 0x40, "Level 2" ) PORT_DIPSETTING( 0x80, "Level 3" ) PORT_DIPSETTING( 0xc0, "Level 4 - Highest" ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "Double-Up Game" ) PORT_DIPLOCATION("DSW2:1") PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x00, "Use Printer" ) PORT_DIPLOCATION("DSW2:2") PORT_DIPSETTING( 0x00, "No (TDDD)" ) /* (Ticket Dispenser Direct Drive) */ PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) /* Use AUTO TKT DISPENSE only */ PORT_DIPNAME( 0x1c, 0x10, "Coin In Rate" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x60, 0x00, "Note In Value" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */ PORT_DIPSETTING( 0x00, "100" ) PORT_DIPSETTING( 0x20, "200" ) PORT_DIPSETTING( 0x40, "500" ) PORT_DIPSETTING( 0x60, "1000" ) PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x01, "2" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x03, "8" ) PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x00, "1000" ) PORT_DIPSETTING( 0x04, "5000" ) PORT_DIPSETTING( 0x08, "10000" ) PORT_DIPSETTING( 0x0c, "90000" ) PORT_DIPNAME( 0xf0, 0x00, "Clear / Ticket Unit" ) PORT_DIPLOCATION("DSW3:5,6,7,8") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x10, "4" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x30, "10" ) PORT_DIPSETTING( 0x40, "20" ) PORT_DIPSETTING( 0x50, "25" ) PORT_DIPSETTING( 0x60, "30" ) PORT_DIPSETTING( 0x70, "40" ) PORT_DIPSETTING( 0x80, "50" ) PORT_DIPSETTING( 0x90, "60" ) PORT_DIPSETTING( 0xa0, "80" ) PORT_DIPSETTING( 0xb0, "100" ) PORT_DIPSETTING( 0xc0, "200" ) PORT_DIPSETTING( 0xd0, "300" ) PORT_DIPSETTING( 0xe0, "400" ) PORT_DIPSETTING( 0xf0, "500" ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "Check Account" ) PORT_DIPLOCATION("DSW4:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, "Type of Game" ) PORT_DIPLOCATION("DSW4:3") /* OK */ PORT_DIPSETTING( 0x00, "Discard" ) PORT_DIPSETTING( 0x04, "Hold" ) PORT_DIPNAME( 0x08, 0x08, "Odds Table" ) PORT_DIPLOCATION("DSW4:4") /* OK */ PORT_DIPSETTING( 0x08, "Table 1" ) PORT_DIPSETTING( 0x00, "Table 2" ) PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* not checked */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7,8") PORT_DIPSETTING( 0xe0, "Continuous" ) PORT_DIPSETTING( 0xc0, "Max 1 Ticket Per Game" ) PORT_DIPSETTING( 0xa0, "Max 2 Ticket Per Game" ) PORT_DIPSETTING( 0x80, "Max 3 Ticket Per Game" ) PORT_DIPSETTING( 0x60, "Max 4 Ticket Per Game" ) PORT_DIPSETTING( 0x40, "Max 5 Ticket Per Game" ) PORT_DIPSETTING( 0x20, "Max 8 Ticket Per Game" ) PORT_DIPSETTING( 0x00, "Max 10 Ticket Per Game" ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:1") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:2") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, "Use Printer" ) PORT_DIPLOCATION("DSW5:3") /* OK */ PORT_DIPSETTING( 0x00, "No (Use TDDD)" ) PORT_DIPSETTING( 0x04, DEF_STR( Yes ) ) PORT_DIPNAME( 0x08, 0x08, "Show Game Name & Odds Table" ) PORT_DIPLOCATION("DSW5:4") /* not checked */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:5") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:6") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:7") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("DSW5:8") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( match98 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_CODE(KEYCODE_C) PORT_NAME("Hit / Big / Stop") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_CODE(KEYCODE_X) PORT_NAME("Auto Hit / Double") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_CODE(KEYCODE_B) PORT_NAME("Play (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_CODE(KEYCODE_V) PORT_NAME("Small") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_INCLUDE( cmv4_service ) PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x03, "Game Level (Difficulty)" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "Level 1" ) PORT_DIPSETTING( 0x06, "Level 2" ) PORT_DIPSETTING( 0x05, "Level 3" ) PORT_DIPSETTING( 0x04, "Level 4" ) PORT_DIPSETTING( 0x03, "Level 5" ) PORT_DIPSETTING( 0x02, "Level 6" ) PORT_DIPSETTING( 0x01, "Level 7" ) PORT_DIPSETTING( 0x00, "Level 8" ) PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x08, "10" ) PORT_DIPSETTING( 0x10, "30" ) PORT_DIPSETTING( 0x18, "40" ) PORT_DIPSETTING( 0x20, "50" ) PORT_DIPSETTING( 0x28, "60" ) PORT_DIPSETTING( 0x30, "80" ) PORT_DIPSETTING( 0x38, "100" ) PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x80, "20" ) PORT_DIPSETTING( 0xc0, "30" ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:1") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:2") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x60, 0x00, "Note In Value" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */ PORT_DIPSETTING( 0x00, "100" ) PORT_DIPSETTING( 0x20, "200" ) PORT_DIPSETTING( 0x40, "500" ) PORT_DIPSETTING( 0x60, "1000" ) PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x01, "8" ) PORT_DIPSETTING( 0x02, "10" ) PORT_DIPSETTING( 0x03, "20" ) PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Point" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x00, "1000" ) PORT_DIPSETTING( 0x04, "5000" ) PORT_DIPSETTING( 0x08, "10000" ) PORT_DIPSETTING( 0x0c, "90000" ) PORT_DIPNAME( 0xf0, 0x00, "Clear / Ticket Unit" ) PORT_DIPLOCATION("DSW3:5,6,7,8") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x10, "4" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x30, "10" ) PORT_DIPSETTING( 0x40, "20" ) PORT_DIPSETTING( 0x50, "25" ) PORT_DIPSETTING( 0x60, "30" ) PORT_DIPSETTING( 0x70, "40" ) PORT_DIPSETTING( 0x80, "50" ) PORT_DIPSETTING( 0x90, "60" ) PORT_DIPSETTING( 0xa0, "80" ) PORT_DIPSETTING( 0xb0, "100" ) PORT_DIPSETTING( 0xc0, "200" ) PORT_DIPSETTING( 0xd0, "300" ) PORT_DIPSETTING( 0xe0, "400" ) PORT_DIPSETTING( 0xf0, "500" ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:!1") /* unknown */ PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:!2") /* unknown */ PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:!3") /* unknown */ PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:!4") /* unknown */ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:!5") /* not checked */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) PORT_DIPNAME( 0xe0, 0xe0, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:!6,!7,!8") /* OK */ PORT_DIPSETTING( 0xe0, "Continuous" ) PORT_DIPSETTING( 0xc0, "Max 1 Ticket Per Game" ) PORT_DIPSETTING( 0xa0, "Max 2 Ticket Per Game" ) PORT_DIPSETTING( 0x80, "Max 3 Ticket Per Game" ) PORT_DIPSETTING( 0x60, "Max 4 Ticket Per Game" ) PORT_DIPSETTING( 0x40, "Max 5 Ticket Per Game" ) PORT_DIPSETTING( 0x20, "Max 8 Ticket Per Game" ) PORT_DIPSETTING( 0x00, "Max 10 Ticket Per Game" ) PORT_START("DSW5") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END static INPUT_PORTS_START( nfb96bl ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Stop All / Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Stop 3 / Take / Select Card") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Stop 2 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") /* Note In */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) /* Coin A */ PORT_INCLUDE( cmv4_service ) PORT_START("DSW1") PORT_DIPNAME( 0x07, 0x03, "Game Rate" ) PORT_DIPLOCATION("DSW1:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "Level 1 - 90%" ) PORT_DIPSETTING( 0x06, "Level 2 - 85%" ) PORT_DIPSETTING( 0x05, "Level 3 - 80%" ) PORT_DIPSETTING( 0x04, "Level 4 - 75%" ) PORT_DIPSETTING( 0x03, "Level 5 - 70%" ) PORT_DIPSETTING( 0x02, "Level 6 - 65%" ) PORT_DIPSETTING( 0x01, "Level 7 - 60%" ) PORT_DIPSETTING( 0x00, "Level 8 - 55%" ) PORT_DIPNAME( 0x38, 0x38, "Maximum Play" ) PORT_DIPLOCATION("DSW1:4,5,6") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x08, "16" ) PORT_DIPSETTING( 0x10, "24" ) PORT_DIPSETTING( 0x18, "32" ) PORT_DIPSETTING( 0x20, "40" ) PORT_DIPSETTING( 0x28, "48" ) PORT_DIPSETTING( 0x30, "64" ) PORT_DIPSETTING( 0x38, "80" ) PORT_DIPNAME( 0xc0, 0x80, "Minimum Play for Bonus" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) PORT_DIPSETTING( 0x80, "24" ) PORT_DIPSETTING( 0xc0, "32" ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "Double-Up Game" ) PORT_DIPLOCATION("DSW2:1") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x01, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x02, "Skill Spinning" ) PORT_DIPLOCATION("DSW2:2") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x02, DEF_STR( Yes ) ) PORT_DIPNAME( 0x1c, 0x10, "Coin In" ) PORT_DIPLOCATION("DSW2:3,4,5") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x14, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x18, "1 Coin/25 Credits" ) PORT_DIPSETTING( 0x1c, "1 Coin/100 Credits" ) PORT_DIPNAME( 0x60, 0x00, "Note In Value" ) PORT_DIPLOCATION("DSW2:6,7") /* OK */ PORT_DIPSETTING( 0x00, "100" ) PORT_DIPSETTING( 0x20, "200" ) PORT_DIPSETTING( 0x40, "500" ) PORT_DIPSETTING( 0x60, "1000" ) PORT_DIPNAME( 0x80, 0x00, "WARNING: Always Off" ) PORT_DIPLOCATION("DSW2:8") /* Listed that way in the manual */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x02, "Minimum Play to Start" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x01, "8" ) PORT_DIPSETTING( 0x02, "16" ) PORT_DIPSETTING( 0x03, "24" ) PORT_DIPNAME( 0x0c, 0x08, "Max Coin In & Note In Points" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x00, "1000" ) PORT_DIPSETTING( 0x04, "5000" ) PORT_DIPSETTING( 0x08, "10000" ) PORT_DIPSETTING( 0x0c, "90000" ) PORT_DIPNAME( 0xf0, 0x00, "Clear / Ticket Unit" ) PORT_DIPLOCATION("DSW3:5,6,7,8") /* OK */ PORT_DIPSETTING( 0x00, "1" ) PORT_DIPSETTING( 0x10, "4" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x30, "10" ) PORT_DIPSETTING( 0x40, "20" ) PORT_DIPSETTING( 0x50, "25" ) PORT_DIPSETTING( 0x60, "30" ) PORT_DIPSETTING( 0x70, "40" ) PORT_DIPSETTING( 0x80, "50" ) PORT_DIPSETTING( 0x90, "60" ) PORT_DIPSETTING( 0xa0, "80" ) PORT_DIPSETTING( 0xb0, "100" ) PORT_DIPSETTING( 0xc0, "200" ) PORT_DIPSETTING( 0xd0, "300" ) PORT_DIPSETTING( 0xe0, "400" ) PORT_DIPSETTING( 0xf0, "500" ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "Check Account" ) PORT_DIPLOCATION("DSW4:1") /* OK */ PORT_DIPSETTING( 0x01, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0x02, 0x00, "Show Coin In Limit On Screen" ) PORT_DIPLOCATION("DSW4:2") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPNAME( 0x04, 0x00, "Initial Bonus Settings After Reset" ) PORT_DIPLOCATION("DSW4:3") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, "Type 1" ) PORT_DIPSETTING( 0x04, "Type 2" ) PORT_DIPNAME( 0x08, 0x08, "Bonus Accumulation" ) PORT_DIPLOCATION("DSW4:4") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, "Auto Ticket Dispense" ) PORT_DIPLOCATION("DSW4:5") /* OK (need a reset after change) */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) PORT_DIPNAME( 0x60, 0x00, "Ticket Dispense Mode" ) PORT_DIPLOCATION("DSW4:6,7") /* OK */ PORT_DIPSETTING( 0x60, "Continuous" ) PORT_DIPSETTING( 0x40, "Max 1 Ticket Per Game" ) PORT_DIPSETTING( 0x20, "Max 5 Tickets Per Game" ) PORT_DIPSETTING( 0x00, "Max 10 Tickets Per Game" ) PORT_DIPNAME( 0x80, 0x00, "Show In Confirm Screen" ) PORT_DIPLOCATION("DSW4:8") /* OK */ PORT_DIPSETTING( 0x00, "Level of Difficulty" ) PORT_DIPSETTING( 0x80, "Percentage" ) PORT_START("DSW5") PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END /* no manual - similiar to nfb96 sets */ static INPUT_PORTS_START( nfm ) PORT_INCLUDE( nfb96bl ) PORT_MODIFY( "IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* tied to hopper somehow? fill/empty switch? */ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* display ticket value? */ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* keyin? tied to ticket clear value */ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Stats") /* DSW4-1 must be on to access account menu */ PORT_MODIFY( "DSW2" ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:2") /* unknown */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, "Spin Length" ) PORT_DIPLOCATION("DSW2:8") /* OK */ PORT_DIPSETTING( 0x00, "Long" ) PORT_DIPSETTING( 0x80, "Short" ) INPUT_PORTS_END static INPUT_PORTS_START( unkch_controls ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_NAME("Bet A / Stop 2") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_NAME("Cash Out") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_NAME("Take / Stop 1") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet B / D-Up") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_NAME("Small / Stop 3") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_CODE(KEYCODE_B) PORT_NAME("Big") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) /* Trips "call attendant" state if activated while credited - something to do with hopper out? */ PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("tickets", ticket_dispenser_device, line_r) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) INPUT_PORTS_END static INPUT_PORTS_START( unkch ) PORT_INCLUDE( unkch_controls ) /* Like many of the other games on this hardware, there is an input & dip test screen that you can stumble in to. Also a picture viewer option. Can't figure out exactly how to make it repeatable... */ PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, "Game Level" ) PORT_DIPLOCATION("DSW1:1,2") /* OK */ PORT_DIPSETTING( 0x03, "Easy" ) PORT_DIPSETTING( 0x02, "Mid 1" ) PORT_DIPSETTING( 0x01, "Mid 2" ) PORT_DIPSETTING( 0x00, "Hard" ) PORT_DIPNAME( 0x04, 0x04, "Punti" ) PORT_DIPLOCATION("DSW1:3") /* OK */ PORT_DIPSETTING( 0x04, "Ticket" ) PORT_DIPSETTING( 0x00, "Gettoni" ) PORT_DIPNAME( 0x08, 0x08, "Ticket Dispenser" ) PORT_DIPLOCATION("DSW1:4") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, "Reel Speed" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x10, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) PORT_DIPNAME( 0x60, 0x60, "Super Jackpot" ) PORT_DIPLOCATION("DSW1:6,7") /* OK */ PORT_DIPSETTING( 0x60, DEF_STR( No ) ) PORT_DIPSETTING( 0x20, "5%" ) PORT_DIPSETTING( 0x00, "10%" ) PORT_DIPSETTING( 0x40, "20%" ) PORT_DIPNAME( 0x80, 0x80, "Bet Step On 8" ) PORT_DIPLOCATION("DSW1:8") /* OK */ PORT_DIPSETTING( 0x80, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_START("DSW2") PORT_DIPNAME( 0x0f, 0x0f, "Main/Bonus Game Rate" ) PORT_DIPLOCATION("DSW2:1,2,3,4") /* OK - all other values are 83% / 88% */ PORT_DIPSETTING( 0x00, "50% / 55%" ) PORT_DIPSETTING( 0x01, "53% / 58%" ) PORT_DIPSETTING( 0x02, "56% / 61%" ) PORT_DIPSETTING( 0x03, "59% / 64%" ) PORT_DIPSETTING( 0x04, "62% / 67%" ) PORT_DIPSETTING( 0x05, "65% / 70%" ) PORT_DIPSETTING( 0x06, "68% / 73%" ) PORT_DIPSETTING( 0x07, "71% / 76%" ) PORT_DIPSETTING( 0x08, "74% / 79%" ) PORT_DIPSETTING( 0x09, "77% / 82%" ) PORT_DIPSETTING( 0x0a, "80% / 85%" ) PORT_DIPSETTING( 0x0f, "83% / 88%" ) PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) PORT_DIPLOCATION("DSW2:5,6") /* OK */ PORT_DIPSETTING( 0x00, "10 (5)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 5 in settings screen but limits at 10 in gameplay */ PORT_DIPSETTING( 0x10, "20 (10)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 10 in settings screen but limits at 20 in gameplay */ PORT_DIPSETTING( 0x20, "40 (20)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 20 in settings screen but limits at 40 in gameplay */ PORT_DIPSETTING( 0x00, "5" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) PORT_DIPSETTING( 0x10, "10" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) PORT_DIPSETTING( 0x20, "20" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) PORT_DIPSETTING( 0x30, "64" ) /* always individual irrespective of DSW3-8 */ PORT_DIPNAME( 0x40, 0x40, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW2:7") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x02, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x03, "1 Coin/50 Credits" ) PORT_DIPNAME( 0x04, 0x00, "Gettoni/Ticket" ) PORT_DIPLOCATION("DSW3:3") /* OK */ PORT_DIPSETTING( 0x00, "10/100" ) PORT_DIPSETTING( 0x04, "20/200" ) PORT_DIPNAME( 0x18, 0x00, "Key In Rate" ) PORT_DIPLOCATION("DSW3:4,5") /* OK */ PORT_DIPSETTING( 0x00, "1 Coin/25 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 5*5 */ PORT_DIPSETTING( 0x08, "1 Coin/50 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 5*10 */ PORT_DIPSETTING( 0x10, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 5*20 */ PORT_DIPSETTING( 0x18, "1 Coin/250 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x00) /* 5*50 */ PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*5 */ PORT_DIPSETTING( 0x08, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*10 */ PORT_DIPSETTING( 0x10, "1 Coin/200 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*20 */ PORT_DIPSETTING( 0x18, "1 Coin/500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x01) /* 10*50 */ PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*5 */ PORT_DIPSETTING( 0x08, "1 Coin/200 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*10 */ PORT_DIPSETTING( 0x10, "1 Coin/400 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*20 */ PORT_DIPSETTING( 0x18, "1 Coin/1,000 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x02) /* 20*50 */ PORT_DIPSETTING( 0x00, "1 Coin/250 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*5 */ PORT_DIPSETTING( 0x08, "1 Coin/500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*10 */ PORT_DIPSETTING( 0x10, "1 Coin/1,000 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*20 */ PORT_DIPSETTING( 0x18, "1 Coin/2,500 Credits" ) PORT_CONDITION("DSW3",0x03,EQUALS,0x03) /* 50*50 */ PORT_DIPNAME( 0x20, 0x00, "Coin B Enable" ) PORT_DIPLOCATION("DSW3:6") /* OK */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, "Coin B Rate" ) PORT_DIPLOCATION("DSW3:7") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPNAME( 0x80, 0x00, "Max Bet Type" ) PORT_DIPLOCATION("DSW3:8") /* OK */ PORT_DIPSETTING( 0x80, "Total" ) /* Max Bet applies to total of BET-A and BET-B unless set to 64 */ PORT_DIPSETTING( 0x00, "Individual" ) /* Max Bet applies individually to each of BET-A and BET-B */ PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, "Super Jackpot Half" ) PORT_DIPLOCATION("DSW4:4") /* OK */ PORT_DIPSETTING( 0x08, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x60, 0x60, "Red Game Credit" ) PORT_DIPLOCATION("DSW4:6,7") /* OK */ PORT_DIPSETTING( 0x40, "0" ) PORT_DIPSETTING( 0x20, "1" ) PORT_DIPSETTING( 0x00, "10" ) PORT_DIPSETTING( 0x60, "20" ) PORT_DIPNAME( 0x80, 0x80, "Cherry/Bell Bonus" ) PORT_DIPLOCATION("DSW4:8") /* OK */ PORT_DIPSETTING( 0x80, "x6 / x3" ) PORT_DIPSETTING( 0x00, "x9 / x5" ) INPUT_PORTS_END static INPUT_PORTS_START( unkch3 ) PORT_INCLUDE( unkch_controls ) PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, "Game Level" ) PORT_DIPLOCATION("DSW1:1,2") /* OK */ PORT_DIPSETTING( 0x03, "Easy" ) PORT_DIPSETTING( 0x02, "Mid 1" ) PORT_DIPSETTING( 0x01, "Mid 2" ) PORT_DIPSETTING( 0x00, "Hard" ) PORT_DIPNAME( 0x04, 0x04, "Punti Unit" ) PORT_DIPLOCATION("DSW1:3") /* OK */ PORT_DIPSETTING( 0x00, "500" ) PORT_DIPSETTING( 0x04, "1000" ) PORT_DIPNAME( 0x08, 0x08, "Ticket Dispenser" ) PORT_DIPLOCATION("DSW1:4") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, "Reel Speed" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x10, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) PORT_DIPLOCATION("DSW2:5,6") /* OK */ PORT_DIPSETTING( 0x00, "10 (5)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 5 in settings screen but limits at 10 in gameplay */ PORT_DIPSETTING( 0x10, "20 (10)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 10 in settings screen but limits at 20 in gameplay */ PORT_DIPSETTING( 0x20, "40 (20)" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x80) /* shows 20 in settings screen but limits at 40 in gameplay */ PORT_DIPSETTING( 0x00, "5" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) PORT_DIPSETTING( 0x10, "10" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) PORT_DIPSETTING( 0x20, "20" ) PORT_CONDITION("DSW3",0x80,EQUALS,0x00) PORT_DIPSETTING( 0x30, "64" ) /* always individual irrespective of DSW3-8 */ PORT_DIPNAME( 0x40, 0x40, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW2:7") /* OK - called 'Bet Minimum' in settings screen */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown) ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, "Coin B Enable" ) PORT_DIPLOCATION("DSW3:6") /* OK */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, "Coin B Rate" ) PORT_DIPLOCATION("DSW3:7") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPNAME( 0x80, 0x00, "Max Bet Type" ) PORT_DIPLOCATION("DSW3:8") /* OK */ PORT_DIPSETTING( 0x80, "Total" ) /* Max Bet applies to total of BET-A and BET-B unless set to 64 */ PORT_DIPSETTING( 0x00, "Individual" ) /* Max Bet applies individually to each of BET-A and BET-B */ PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "Test Mode" ) PORT_DIPLOCATION("DSW4:5") /* OK */ PORT_DIPSETTING( 0x10, "Disable" ) PORT_DIPSETTING( 0x00, "Enable" ) /* hold 'Settings' on reset to access */ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "Cherry/Bell Bonus" ) PORT_DIPLOCATION("DSW4:8") /* OK */ PORT_DIPSETTING( 0x80, "x6 / x3" ) PORT_DIPSETTING( 0x00, "x9 / x5" ) INPUT_PORTS_END static INPUT_PORTS_START( unkch4 ) PORT_INCLUDE( unkch_controls ) PORT_MODIFY("IN0") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C") /* Like many of the other games on this hardware, there is an input & dip test screen that you can stumble in to. Also a picture viewer option. Can't figure out exactly how to make it repeatable... */ PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, "Game Level" ) PORT_DIPLOCATION("DSW1:1,2") /* OK */ PORT_DIPSETTING( 0x03, "Easy" ) PORT_DIPSETTING( 0x02, "Mid 1" ) PORT_DIPSETTING( 0x01, "Mid 2" ) PORT_DIPSETTING( 0x00, "Hard" ) PORT_DIPNAME( 0x04, 0x04, "Punti" ) PORT_DIPLOCATION("DSW1:3") /* OK */ PORT_DIPSETTING( 0x04, "Ticket" ) /* payout rate 100 */ PORT_DIPSETTING( 0x00, "Gettoni" ) /* payout rate 10 */ PORT_DIPNAME( 0x08, 0x08, "Ticket Dispenser" ) PORT_DIPLOCATION("DSW1:4") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPSETTING( 0x08, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, "Reel Speed" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x10, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) PORT_DIPNAME( 0x60, 0x60, "Super Jackpot" ) PORT_DIPLOCATION("DSW1:6,7") /* shows in test mode but always seems to be enabled in gameplay */ PORT_DIPSETTING( 0x60, DEF_STR( No ) ) PORT_DIPSETTING( 0x20, "5%" ) PORT_DIPSETTING( 0x00, "10%" ) PORT_DIPSETTING( 0x40, "20%" ) PORT_DIPNAME( 0x80, 0x80, "Bet Step On 8" ) PORT_DIPLOCATION("DSW1:8") /* OK */ PORT_DIPSETTING( 0x80, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_START("DSW2") PORT_DIPNAME( 0x0f, 0x0f, "Main/Bonus Game Rate" ) PORT_DIPLOCATION("DSW2:1,2,3,4") /* OK - all other values are 83% / 88% */ PORT_DIPSETTING( 0x00, "50% / 55%" ) PORT_DIPSETTING( 0x01, "53% / 58%" ) PORT_DIPSETTING( 0x02, "56% / 61%" ) PORT_DIPSETTING( 0x03, "59% / 64%" ) PORT_DIPSETTING( 0x04, "62% / 67%" ) PORT_DIPSETTING( 0x05, "65% / 70%" ) PORT_DIPSETTING( 0x06, "68% / 73%" ) PORT_DIPSETTING( 0x07, "71% / 76%" ) PORT_DIPSETTING( 0x08, "74% / 79%" ) PORT_DIPSETTING( 0x09, "77% / 82%" ) PORT_DIPSETTING( 0x0a, "80% / 85%" ) PORT_DIPSETTING( 0x0f, "83% / 88%" ) PORT_DIPNAME( 0x30, 0x30, "Max Bet" ) PORT_DIPLOCATION("DSW2:5,6") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x10, "16" ) PORT_DIPSETTING( 0x20, "32" ) PORT_DIPSETTING( 0x30, "64" ) PORT_DIPNAME( 0x40, 0x40, "Min. Bet For Bonus Play" ) PORT_DIPLOCATION("DSW2:7") /* OK */ PORT_DIPSETTING( 0x00, "8" ) PORT_DIPSETTING( 0x40, "16" ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x07, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:1,2,3") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x02, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_8C ) ) PORT_DIPSETTING( 0x05, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x06, "1 Coin/20 Credits" ) PORT_DIPSETTING( 0x07, "1 Coin/50 Credits" ) PORT_DIPNAME( 0x18, 0x00, "Key In Rate" ) PORT_DIPLOCATION("DSW3:4,5") /* OK */ PORT_DIPSETTING( 0x00, "5x Coin A" ) PORT_DIPSETTING( 0x08, "10x Coin A" ) PORT_DIPSETTING( 0x10, "20x Coin A" ) PORT_DIPSETTING( 0x18, "50x Coin A" ) PORT_DIPNAME( 0x20, 0x00, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:6") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW3",0x07,EQUALS,0x00) /* 1*5 */ PORT_DIPSETTING( 0x20, "1 Coin/10 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x00) /* 1*10 */ PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x01) /* 2*5 */ PORT_DIPSETTING( 0x20, "1 Coin/20 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x01) /* 2*10 */ PORT_DIPSETTING( 0x00, "1 Coin/20 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x02) /* 4*5 */ PORT_DIPSETTING( 0x20, "1 Coin/40 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x02) /* 4*10 */ PORT_DIPSETTING( 0x00, "1 Coin/25 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x03) /* 5*5 */ PORT_DIPSETTING( 0x20, "1 Coin/50 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x03) /* 5*10 */ PORT_DIPSETTING( 0x00, "1 Coin/40 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x04) /* 8*5 */ PORT_DIPSETTING( 0x20, "1 Coin/80 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x04) /* 8*10 */ PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x05) /* 10*5 */ PORT_DIPSETTING( 0x20, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x05) /* 10*10 */ PORT_DIPSETTING( 0x00, "1 Coin/100 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x06) /* 20*5 */ PORT_DIPSETTING( 0x20, "1 Coin/200 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x06) /* 20*10 */ PORT_DIPSETTING( 0x00, "1 Coin/250 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x07) /* 50*5 */ PORT_DIPSETTING( 0x20, "1 Coin/500 Credits" ) PORT_CONDITION("DSW3",0x07,EQUALS,0x07) /* 50*10 */ PORT_DIPNAME( 0x40, 0x00, "Coin B Rate" ) PORT_DIPLOCATION("DSW3:7") /* OK */ PORT_DIPSETTING( 0x00, "1x Coin C" ) PORT_DIPSETTING( 0x40, "2x Coin C" ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "Cherry/Bell Bonus" ) PORT_DIPLOCATION("DSW4:8") /* OK */ PORT_DIPSETTING( 0x80, "x6 / x3" ) PORT_DIPSETTING( 0x00, "x9 / x5" ) INPUT_PORTS_END static INPUT_PORTS_START( magoddsc ) PORT_START("IN0") PORT_DIPNAME( 0x01, 0x01, "IN0") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("IN1") PORT_DIPNAME( 0x01, 0x01, "IN1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("IN2") PORT_DIPNAME( 0x01, 0x01, "IN2") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("IN3") PORT_DIPNAME( 0x01, 0x01, "IN3") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("IN4") PORT_DIPNAME( 0x01, 0x01, "IN4") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "DSW1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "DSW2") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x01, 0x01, "DSW3") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "DSW4") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( megaline ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("IN0-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_NAME("IN0-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_NAME("IN0-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("IN0-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_NAME("IN0-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("IN0-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_NAME("IN0-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_NAME("IN0-8") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN1-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN1-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN1-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN1-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN1-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN1-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN1-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN1-8") PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("IN2-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("IN2-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN2-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN2-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN2-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN2-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) PORT_NAME("IN2-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("IN2-8") PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z) PORT_NAME("IN3-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X) PORT_NAME("IN3-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C) PORT_NAME("IN3-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V) PORT_NAME("IN3-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B) PORT_NAME("IN3-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N) PORT_NAME("IN3-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M) PORT_NAME("IN3-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) PORT_NAME("IN3-8") PORT_START("IN4") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("IN4-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("IN4-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("IN4-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("IN4-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("IN4-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("IN4-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("IN4-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("IN4-8") PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "DSW1" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "DSW2" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x01, 0x01, "DSW3" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "DSW4" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( bonusch ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("IN0-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_NAME("IN0-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_NAME("IN0-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("IN0-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_NAME("IN0-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("IN0-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_NAME("IN0-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_NAME("IN0-8") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN1-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN1-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN1-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN1-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN1-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN1-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN1-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN1-8") PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("IN2-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("IN2-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN2-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN2-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN2-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN2-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) PORT_NAME("IN2-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("IN2-8") PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z) PORT_NAME("IN3-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X) PORT_NAME("IN3-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C) PORT_NAME("IN3-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V) PORT_NAME("IN3-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B) PORT_NAME("IN3-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N) PORT_NAME("IN3-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M) PORT_NAME("IN3-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) PORT_NAME("IN3-8") PORT_START("IN4") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("IN4-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("IN4-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("IN4-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("IN4-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("IN4-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("IN4-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("IN4-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("IN4-8") PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "DSW1" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "DSW2" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x01, 0x01, "DSW3" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "DSW4" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x01, "DSW5" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( feverch ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("IN0-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_NAME("IN0-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_NAME("IN0-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("IN0-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_NAME("IN0-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("IN0-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_NAME("IN0-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_NAME("IN0-8") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) PORT_NAME("IN1-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) PORT_NAME("IN1-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) PORT_NAME("IN1-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) PORT_NAME("IN1-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN1-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN1-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN1-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN1-8") PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("IN2-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("IN2-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("IN2-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("IN2-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("IN2-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("IN2-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_J) PORT_NAME("IN2-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("IN2-8") PORT_START("IN3") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Z) PORT_NAME("IN3-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X) PORT_NAME("IN3-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_C) PORT_NAME("IN3-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_V) PORT_NAME("IN3-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_B) PORT_NAME("IN3-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N) PORT_NAME("IN3-6") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M) PORT_NAME("IN3-7") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) PORT_NAME("IN3-8") PORT_START("IN4") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("IN4-1") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("IN4-2") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("IN4-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("IN4-4") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("IN4-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("IN4-6") PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("IN4-7") // if low "check voltage call attendant" message will appear PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("IN4-8") PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "DSW1" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "DSW2" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x01, 0x01, "DSW3" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "DSW4" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( star100 ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_NAME("Hold / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play (Bet)") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") // PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) PORT_NAME("IN0-1") // PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) PORT_NAME("IN0-2") // PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) PORT_NAME("IN0-3: BIG") // PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) PORT_NAME("IN0-4: DOUBLE UP") // PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) PORT_NAME("IN0-5: TAKE") // PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) PORT_NAME("IN0-6: BET") // PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_7) PORT_NAME("IN0-7: SMALL") // PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_NAME("IN0-8: START") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C") PORT_START("IN2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out / Attendant") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("Hopper Limited Payout") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_SERVICE ) PORT_NAME("Settings / Test Mode") PORT_TOGGLE PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_NAME("Statistics") PORT_START("IN3") // reflected in test mode PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN4") // reflected in test mode PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x00, "Key Out" ) PORT_DIPLOCATION("SW1:1") PORT_DIPSETTING( 0x00, "x1" ) PORT_DIPSETTING( 0x01, "x100" ) PORT_DIPNAME( 0x02, 0x02, "Bonus Rate" ) PORT_DIPLOCATION("SW1:2") PORT_DIPSETTING( 0x00, "1/24" ) PORT_DIPSETTING( 0x02, "1/32" ) PORT_DIPNAME( 0x04, 0x04, "Spin Rate" ) PORT_DIPLOCATION("SW1:3") PORT_DIPSETTING( 0x04, "Slow" ) PORT_DIPSETTING( 0x00, "Fast" ) PORT_DIPNAME( 0x18, 0x18, "Double Up Rate" ) PORT_DIPLOCATION("SW1:4,5") PORT_DIPSETTING( 0x18, "60%" ) PORT_DIPSETTING( 0x10, "70%" ) PORT_DIPSETTING( 0x08, "80%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_DIPNAME( 0xe0, 0xe0, "Game Rate" ) PORT_DIPLOCATION("SW1:6,7,8") PORT_DIPSETTING( 0xe0, "50%" ) PORT_DIPSETTING( 0xc0, "60%" ) PORT_DIPSETTING( 0xa0, "65%" ) PORT_DIPSETTING( 0x80, "70%" ) PORT_DIPSETTING( 0x60, "75%" ) PORT_DIPSETTING( 0x40, "80%" ) PORT_DIPSETTING( 0x20, "85%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_START("DSW2") PORT_DIPNAME( 0x01, 0x01, "Bonus Min Bet" ) PORT_DIPLOCATION("SW2:1") PORT_DIPSETTING( 0x01, "16" ) PORT_DIPSETTING( 0x00, "32" ) PORT_DIPNAME( 0x02, 0x02, "Number of Jackpot" ) PORT_DIPLOCATION("SW2:2") PORT_DIPSETTING( 0x00, "3 2" ) PORT_DIPSETTING( 0x02, "6 3" ) PORT_DIPNAME( 0x04, 0x04, "Double Up" ) PORT_DIPLOCATION("SW2:3") PORT_DIPSETTING( 0x04, DEF_STR( Yes ) ) PORT_DIPSETTING( 0x00, DEF_STR( No ) ) PORT_DIPNAME( 0x18, 0x18, "Payout Limit" ) PORT_DIPLOCATION("SW2:4,5") PORT_DIPSETTING( 0x18, "1000" ) PORT_DIPSETTING( 0x10, "2000" ) PORT_DIPSETTING( 0x08, "5000" ) PORT_DIPSETTING( 0x00, "No Limit" ) PORT_DIPNAME( 0x20, 0x20, "Bonus" ) PORT_DIPLOCATION("SW2:6") PORT_DIPSETTING( 0x20, "Normal" ) PORT_DIPSETTING( 0x00, "Random" ) PORT_DIPNAME( 0xc0, 0xc0, "Number of Clown" ) PORT_DIPLOCATION("SW2:7,8") PORT_DIPSETTING( 0xc0, "60%" ) PORT_DIPSETTING( 0x80, "70%" ) PORT_DIPSETTING( 0x40, "80%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_START("DSW3") PORT_DIPNAME( 0x07, 0x07, "Key In Rate" ) PORT_DIPLOCATION("SW3:1,2,3") PORT_DIPSETTING( 0x00, "100 Credits" ) PORT_DIPSETTING( 0x01, "110 Credits" ) PORT_DIPSETTING( 0x02, "120 Credits" ) PORT_DIPSETTING( 0x03, "130 Credits" ) PORT_DIPSETTING( 0x04, "200 Credits" ) PORT_DIPSETTING( 0x05, "400 Credits" ) PORT_DIPSETTING( 0x06, "500 Credits" ) PORT_DIPSETTING( 0x07, "1000 Credits" ) PORT_DIPNAME( 0x18, 0x00, "Bet Limit" ) PORT_DIPLOCATION("SW3:4,5") PORT_DIPSETTING( 0x18, "32 (Limit of Bonus: 1/4)" ) PORT_DIPSETTING( 0x10, "64 (Limit of Bonus: 1/2)" ) PORT_DIPSETTING( 0x08, "72 (Limit of Bonus: All)" ) PORT_DIPSETTING( 0x00, "80 (Limit of Bonus: All)" ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4-0") PORT_DIPNAME( 0x07, 0x07, "Coinage A, B & C" ) PORT_DIPLOCATION("SW4:1,2,3") PORT_DIPSETTING( 0x00, "1 Coin / 1 Credit" ) PORT_DIPSETTING( 0x01, "1 Coin / 5 Credits" ) PORT_DIPSETTING( 0x02, "1 Coin / 10 Credits" ) PORT_DIPSETTING( 0x03, "1 Coin / 20 Credits" ) PORT_DIPSETTING( 0x04, "1 Coin / 30 Credits" ) PORT_DIPSETTING( 0x05, "1 Coin / 40 Credits" ) PORT_DIPSETTING( 0x06, "1 Coin / 50 Credits" ) PORT_DIPSETTING( 0x07, "1 Coin / 100 Credit" ) /* the following two are 'bonus', and need conditional port since they are in different banks */ PORT_DIPNAME( 0x08, 0x08, "Bonus (switch-1)" ) PORT_DIPLOCATION("SW4:4") PORT_DIPSETTING( 0x08, "20000" ) PORT_CONDITION("DSW4-1", 0x01, NOTEQUALS, 0x00) PORT_DIPSETTING( 0x08, "40000" ) PORT_CONDITION("DSW4-1", 0x01, EQUALS, 0x00) PORT_DIPSETTING( 0x00, "30000" ) PORT_CONDITION("DSW4-1", 0x01, NOTEQUALS, 0x00) PORT_DIPSETTING( 0x00, "50000" ) PORT_CONDITION("DSW4-1", 0x01, EQUALS, 0x00) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW4-1") PORT_DIPNAME( 0x01, 0x01, "Bonus (switch-2)" ) PORT_DIPLOCATION("SW4:5") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Max Bonus" ) PORT_DIPLOCATION("SW4:6") PORT_DIPSETTING( 0x00, "100000" ) PORT_DIPSETTING( 0x02, "200000" ) PORT_DIPNAME( 0x0c, 0x0c, "Minimum Bet" ) PORT_DIPLOCATION("SW4:7,8") PORT_DIPSETTING( 0x0c, "1" ) PORT_DIPSETTING( 0x08, "8" ) PORT_DIPSETTING( 0x04, "16" ) PORT_DIPSETTING( 0x00, "32" ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW5") // physically tied to ay8910 port A, but unused... PORT_DIPNAME( 0x01, 0x01, "DSW5" ) PORT_DIPLOCATION("SW5:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW5:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW5:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW5:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW5:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW5:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW5:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW5:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW6") // physically tied to ay8910 port B, but unused... PORT_DIPNAME( 0x01, 0x01, "DSW6" ) PORT_DIPLOCATION("SW6:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW6:2") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW6:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW6:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW6:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW6:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW6:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW6:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( crazybon ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_HIGH ) PORT_NAME("Big / Hold") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_D_UP ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_GAMBLE_TAKE ) /* also works as stop all and hold pair */ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_LOW ) PORT_NAME("Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_INCLUDE( cmv4_coins ) PORT_MODIFY("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_INCLUDE( cmv4_service ) PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x00, "Hold Pair" ) PORT_DIPLOCATION("DSW1:1") /* OK */ PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Double Up Jack" ) PORT_DIPLOCATION("DSW1:2") /* from manual, not checked */ PORT_DIPSETTING( 0x02, "Poker" ) PORT_DIPSETTING( 0x00, "Missile" ) PORT_DIPNAME( 0x04, 0x00, "Coin Out Rate" ) PORT_DIPLOCATION("DSW1:3") /* OK */ PORT_DIPSETTING( 0x04, "1" ) PORT_DIPSETTING( 0x00, "10" ) PORT_CONDITION("DSW3-0",0x03,EQUALS,0x03) PORT_DIPSETTING( 0x00, "50" ) PORT_CONDITION("DSW3-0",0x03,EQUALS,0x02) PORT_DIPSETTING( 0x00, "100" ) PORT_CONDITION("DSW3-0",0x03,EQUALS,0x01) PORT_DIPSETTING( 0x00, "500" ) PORT_CONDITION("DSW3-0",0x03,EQUALS,0x00) PORT_DIPNAME( 0x08, 0x00, "'7' In Double Up Game" ) PORT_DIPLOCATION("DSW1:4") /* OK */ PORT_DIPSETTING( 0x08, "Even" ) PORT_DIPSETTING( 0x00, "Win" ) PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:5") /* OK */ PORT_DIPSETTING( 0x10, "80%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_DIPNAME( 0x20, 0x00, "Double Up Game" ) PORT_DIPLOCATION("DSW1:6") /* OK */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0x40, "Max Bet" ) PORT_DIPLOCATION("DSW1:7,8") /* OK */ PORT_DIPSETTING( 0xc0, "16" ) PORT_DIPSETTING( 0x80, "32" ) PORT_DIPSETTING( 0x40, "64" ) PORT_DIPSETTING( 0x00, "96" ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x07, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:1,2,3") /* OK */ PORT_DIPSETTING( 0x00, "55%" ) PORT_DIPSETTING( 0x01, "60%" ) PORT_DIPSETTING( 0x02, "65%" ) PORT_DIPSETTING( 0x03, "70%" ) PORT_DIPSETTING( 0x04, "75%" ) PORT_DIPSETTING( 0x05, "80%" ) PORT_DIPSETTING( 0x06, "85%" ) PORT_DIPSETTING( 0x07, "90%" ) PORT_DIPNAME( 0x18, 0x18, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:4,5") /* not checked */ PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x08, "500" ) PORT_DIPSETTING( 0x10, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x00, "Mode" ) PORT_DIPLOCATION("DSW2:6") /* OK */ PORT_DIPSETTING( 0x00, "Game" ) PORT_DIPSETTING( 0x20, "Stealth" ) PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3-0") PORT_DIPNAME( 0x03, 0x02, "Key In Rate" ) PORT_DIPLOCATION("DSW3:1,2") /* OK */ PORT_DIPSETTING( 0x03, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_DIPSETTING( 0x01, "1 Coin/100 Credits" ) PORT_DIPSETTING( 0x00, "1 Coin/500 Credits" ) PORT_DIPNAME( 0x0c, 0x00, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:3,4") /* OK */ PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x04, "1 Coin/10 Credits" ) PORT_DIPSETTING( 0x00, "1 Coin/50 Credits" ) PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW3-1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:5") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:6") PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW3:7") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x08, "Lock Into Stealth Mode" ) PORT_DIPLOCATION("DSW3:8") /* OK */ PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* prevents switching to game mode with start/bet buttons */ PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_START("DSW4") PORT_DIPNAME( 0x07, 0x01, "Credit Limit" ) PORT_DIPLOCATION("DSW4:1,2,3") /* OK */ PORT_DIPSETTING( 0x07, "5,000" ) PORT_DIPSETTING( 0x06, "10,000" ) PORT_DIPSETTING( 0x05, "20,000" ) PORT_DIPSETTING( 0x04, "30,000" ) PORT_DIPSETTING( 0x03, "40,000" ) PORT_DIPSETTING( 0x02, "50,000" ) PORT_DIPSETTING( 0x01, "100,000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x08, 0x00, "Limit Credit" ) PORT_DIPLOCATION("DSW4:4") /* from manual, not checked */ PORT_DIPSETTING( 0x08, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0x10, 0x10, "Fast Take With" ) PORT_DIPLOCATION("DSW4:5") /* OK */ PORT_DIPSETTING( 0x10, "Take" ) PORT_DIPSETTING( 0x00, "Start" ) PORT_DIPNAME( 0x20, 0x20, "Bonus Min Bet" ) PORT_DIPLOCATION("DSW4:6") /* OK */ PORT_DIPSETTING( 0x20, "16" ) PORT_DIPSETTING( 0x00, "32" ) PORT_DIPNAME( 0x40, 0x00, "Reel Speed" ) PORT_DIPLOCATION("DSW4:7") /* OK */ PORT_DIPSETTING( 0x40, DEF_STR( Low ) ) PORT_DIPSETTING( 0x00, DEF_STR( High ) ) PORT_DIPNAME( 0x80, 0x80, "C.B" ) PORT_DIPLOCATION("DSW4:8") /* from manual, not checked */ PORT_DIPSETTING( 0x80, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_START("DSW5") PORT_DIPNAME( 0x01, 0x00, "Print" ) PORT_DIPLOCATION("DSW5:1") /* from manual, not checked */ PORT_DIPSETTING( 0x01, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0x06, 0x06, "Max Key In" ) PORT_DIPLOCATION("DSW5:2,3") /* OK */ PORT_DIPSETTING( 0x06, "1,000" ) PORT_DIPSETTING( 0x04, "5,000" ) PORT_DIPSETTING( 0x02, "10,000" ) PORT_DIPSETTING( 0x00, "20,000" ) PORT_DIPNAME( 0x18, 0x00, "Condition For 3 Fruit Bonus" ) PORT_DIPLOCATION("DSW5:4,5") /* OK */ PORT_DIPSETTING( 0x18, "5-<-7" ) /* don't know what "<" means, but that's what the game displays */ PORT_DIPSETTING( 0x10, "5-9-5" ) PORT_DIPSETTING( 0x08, "5-6-3" ) PORT_DIPSETTING( 0x00, "5-3-2" ) PORT_DIPNAME( 0x60, 0x20, "Game Min Bet" ) PORT_DIPLOCATION("DSW5:6,7") /* OK */ PORT_DIPSETTING( 0x60, "1" ) PORT_DIPSETTING( 0x40, "8" ) PORT_DIPSETTING( 0x20, "16" ) PORT_DIPSETTING( 0x00, "32" ) PORT_DIPNAME( 0x80, 0x80, "Card Shuffle Animation" ) PORT_DIPLOCATION("DSW5:8") /* OK */ PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( cmpacman ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_UP) PORT_NAME("Stop 2 / Big / Up") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_CODE(KEYCODE_X) PORT_CODE(KEYCODE_LEFT) PORT_NAME("Stop 1 / D-UP / Left") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_DOWN) PORT_NAME("Stop All / Take / Down") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_CODE(KEYCODE_V) PORT_NAME("Stop 3 / Small / Info") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Start / Right") PORT_INCLUDE( cmv4_coins ) PORT_MODIFY("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("Hidden switch for change games") PORT_INCLUDE( cmv4_service ) PORT_MODIFY("IN2") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* Tied to GND and to the hidden switch that change games. (PC0+GND) -+-> PB0 */ PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, "Unknown" ) PORT_DIPLOCATION("DSW1:!1") /* not checked */ PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:!2") /* not checked */ PORT_DIPSETTING( 0x02, "Active Low" ) PORT_DIPSETTING( 0x00, "Active High" ) PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:!3") /* not checked */ PORT_DIPSETTING( 0x04, "Payout Switch" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x08, 0x00, "'7' In Double Up Game" ) PORT_DIPLOCATION("DSW1:!4") /* OK */ PORT_DIPSETTING( 0x00, "Lose" ) PORT_DIPSETTING( 0x08, "Even" ) PORT_DIPNAME( 0x10, 0x00, "Double Up Game Pay Rate" ) PORT_DIPLOCATION("DSW1:!5") /* OK */ PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPSETTING( 0x10, "90%" ) PORT_DIPNAME( 0x20, 0x00, "Double Up Game" ) PORT_DIPLOCATION("DSW1:!6") /* OK */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:!7,!8") /* OK */ PORT_DIPSETTING( 0x00, "16" ) PORT_DIPSETTING( 0x40, "32" ) PORT_DIPSETTING( 0x80, "64" ) PORT_DIPSETTING( 0xc0, "96" ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:!1,!2,!3") /* OK */ PORT_DIPSETTING( 0x07, "55%" ) PORT_DIPSETTING( 0x06, "60%" ) PORT_DIPSETTING( 0x05, "65%" ) PORT_DIPSETTING( 0x04, "70%" ) PORT_DIPSETTING( 0x03, "75%" ) PORT_DIPSETTING( 0x02, "80%" ) PORT_DIPSETTING( 0x01, "85%" ) PORT_DIPSETTING( 0x00, "90%" ) PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:!4,!5") /* not checked */ PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x00, "100 Odds Sound" ) PORT_DIPLOCATION("DSW2:!6") /* not checked */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Key-In Type" ) PORT_DIPLOCATION("DSW2:!7") /* OK */ PORT_DIPSETTING( 0x40, "A-Type" ) PORT_DIPSETTING( 0x00, "B-Type" ) PORT_DIPNAME( 0x80, 0x00, "Center Super 7 Bet Limit" ) PORT_DIPLOCATION("DSW2:!8") /* related with DSW 4-6 */ PORT_DIPSETTING( 0x80, "Unlimited" ) PORT_DIPSETTING( 0x00, "Limited" ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x03, "Key In Rate" ) PORT_DIPLOCATION("DSW3:!1,!2") /* OK */ PORT_DIPSETTING( 0x00, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) /* A-Type */ PORT_DIPSETTING( 0x01, "1 Coin/20 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x02, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x03, "1 Coin/100 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x40) PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) /* B-Type */ PORT_DIPSETTING( 0x01, "1 Coin/10 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x02, "1 Coin/25 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPSETTING( 0x03, "1 Coin/50 Credits" ) PORT_CONDITION("DSW2",0x40,EQUALS,0x00) PORT_DIPNAME( 0x0c, 0x0c, "Coin A Rate" ) PORT_DIPLOCATION("DSW3:!3,!4") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x08, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x0c, "1 Coin/10 Credits" ) PORT_DIPNAME( 0x30, 0x30, "Coin D Rate" ) PORT_DIPLOCATION("DSW3:!5,!6") /* OK */ PORT_DIPSETTING( 0x30, DEF_STR( 5C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) /* C-Type */ PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x10, DEF_STR( 1C_1C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( 1C_2C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x10) PORT_DIPSETTING( 0x00, DEF_STR( 1C_5C ) ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) /* D-Type */ PORT_DIPSETTING( 0x10, "1 Coin/10 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x20, "1 Coin/25 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPSETTING( 0x30, "1 Coin/50 Credits" ) PORT_CONDITION("DSW4",0x10,EQUALS,0x00) PORT_DIPNAME( 0xc0, 0xc0, "Coin C Rate" ) PORT_DIPLOCATION("DSW3:!7,!8") /* OK */ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0xc0, "1 Coin/10 Credits" ) PORT_INCLUDE( cmv4_dsw4 ) /* Display Of Payout Limit not working; all others OK */ PORT_INCLUDE( cmv4_dsw5 ) PORT_MODIFY("DSW5") /* Display of Doll On Demo only affects payout table screen */ /* Coin In Limit OK */ /* Condition For 3 Kind Of Bonus OK */ /* Display Of Doll At All Fr. Bonus not checked */ PORT_DIPNAME( 0x40, 0x40, "Card Shuffle Animation" ) PORT_DIPLOCATION("DSW5:7") /* OK */ PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) /* Test Mode For Disp. Of Doll not working */ INPUT_PORTS_END static INPUT_PORTS_START( cmtetris ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Stop 2 / Big / Right") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_CODE(KEYCODE_X) PORT_NAME("Stop 1 / D-UP") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_UP) PORT_NAME("Stop All / Take / Up") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_CODE(KEYCODE_V) PORT_CODE(KEYCODE_LEFT) PORT_NAME("Stop 3 / Small / Info / Left") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_DOWN) PORT_NAME("Start / Down") PORT_START("IN1") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_K) PORT_NAME("Hidden switch for Cherry Master") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) PORT_NAME("Hidden switch for Tetris") PORT_BIT( 0x0c, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_NAME("Coin B") /* Coin Service (tied to PPI u34 PB3 to also coin Tetris game) */ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) PORT_NAME("Coin D") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) PORT_NAME("Coin C") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_NAME("Coin A") PORT_INCLUDE( cmv4_service ) PORT_MODIFY("IN2") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_CUSTOM ) /* Tied to GND and to the hidden switch that change games. (PC0+GND) -+-> (PB0|PB1) */ PORT_START("DSW1") PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:!1") /* OK */ PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Hopper Out Switch" ) PORT_DIPLOCATION("DSW1:!2") /* OK */ PORT_DIPSETTING( 0x02, "Active Low" ) PORT_DIPSETTING( 0x00, "Active High" ) PORT_DIPNAME( 0x04, 0x04, "Payout Mode" ) PORT_DIPLOCATION("DSW1:!3") /* OK */ PORT_DIPSETTING( 0x04, "Payout Switch" ) PORT_DIPSETTING( 0x00, "Automatic" ) PORT_DIPNAME( 0x08, 0x00, "W-UP '7'" ) PORT_DIPLOCATION("DSW1:!4") /* not checked */ PORT_DIPSETTING( 0x08, "Loss" ) PORT_DIPSETTING( 0x00, "Even" ) PORT_DIPNAME( 0x10, 0x00, "W-UP Pay Rate" ) PORT_DIPLOCATION("DSW1:!5") /* OK */ PORT_DIPSETTING( 0x00, "80%" ) PORT_DIPSETTING( 0x10, "90%" ) PORT_DIPNAME( 0x20, 0x00, "W-UP Game" ) PORT_DIPLOCATION("DSW1:!6") /* OK */ PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0xc0, 0xc0, "Bet Max" ) PORT_DIPLOCATION("DSW1:!7,!8") /* OK */ PORT_DIPSETTING( 0x00, "16" ) PORT_DIPSETTING( 0x40, "32" ) PORT_DIPSETTING( 0x80, "64" ) PORT_DIPSETTING( 0xc0, "96" ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x00, "Main Game Pay Rate" ) PORT_DIPLOCATION("DSW2:!1,!2,!3") /* OK */ PORT_DIPSETTING( 0x07, "35%" ) PORT_DIPSETTING( 0x06, "40%" ) PORT_DIPSETTING( 0x05, "45%" ) PORT_DIPSETTING( 0x04, "50%" ) PORT_DIPSETTING( 0x03, "55%" ) PORT_DIPSETTING( 0x02, "60%" ) PORT_DIPSETTING( 0x01, "65%" ) PORT_DIPSETTING( 0x00, "70%" ) PORT_DIPNAME( 0x18, 0x00, "Hopper Limit" ) PORT_DIPLOCATION("DSW2:!4,!5") /* OK */ PORT_DIPSETTING( 0x18, "300" ) PORT_DIPSETTING( 0x10, "500" ) PORT_DIPSETTING( 0x08, "1000" ) PORT_DIPSETTING( 0x00, "Unlimited" ) PORT_DIPNAME( 0x20, 0x00, "100 Odds Sound" ) PORT_DIPLOCATION("DSW2:!6") /* not checked */ PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Key-In Type" ) PORT_DIPLOCATION("DSW2:!7") /* OK */ PORT_DIPSETTING( 0x40, "A-Type" ) PORT_DIPSETTING( 0x00, "B-Type" ) PORT_DIPNAME( 0x80, 0x00, "Center Super 7 Bet Limit" ) PORT_DIPLOCATION("DSW2:!8") /* related with DSW 4-6 */ PORT_DIPSETTING( 0x80, "Unlimited" ) PORT_DIPSETTING( 0x00, "Limited" ) PORT_INCLUDE( cmv4_dsw3 ) /* all OK */ PORT_INCLUDE( cmv4_dsw4 ) /* Display Of Payout Limit not working; all others OK */ PORT_INCLUDE( cmv4_dsw5 ) /* Display of Doll On Demo only affects payout table screen */ /* Coin In Limit OK */ /* Condition For 3 Kind Of Bonus not checked */ /* Display Of Doll At All Fr. Bonus not checked */ /* DSW5-7 listed as unused */ /* Test Mode For Disp. Of Doll not working */ INPUT_PORTS_END static INPUT_PORTS_START( flam7_w4 ) PORT_START("IN0") /* b800 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) PORT_NAME("Button Lockout") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 - Big") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet 1") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 - Low") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") /* b801 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN2") /* b802 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER( "fl7w4_id", ds2401_device, read ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN3") /* b810 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("Main Door SW") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("Change") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("Logic Door SW") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("Cash Door SW") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN3-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Coin B") // confirmed. PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin A") // confirmed. PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Coin C or Mars") // confirmed. PORT_START("IN4") /* b811 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("WT RXD") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("COUT RTS") // related to hopper... PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN4-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN4-4 Active") // This one is active in real PCB. PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN4-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Collect") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Books / Stats / Setup") PORT_TOGGLE PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, "Payout" ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "Amusement (no credits out)" ) PORT_DIPSETTING( 0x02, "Ticket Printer" ) PORT_DIPSETTING( 0x01, "Hopper Payout" ) PORT_DIPSETTING( 0x00, "Remote Clear" ) PORT_DIPNAME( 0x04, 0x04, "Game Speed" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Fast Game" ) PORT_DIPSETTING( 0x00, "Slow Game" ) PORT_DIPNAME( 0x08, 0x08, "Double-Up" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0x30, 0x30, "Graphics Type" ) PORT_DIPLOCATION("DSW1:5,6") PORT_DIPSETTING( 0x30, "Regular Fruit" ) PORT_DIPSETTING( 0x20, "Graphics Option 1" ) // Numbers. PORT_DIPSETTING( 0x10, "Graphics Option 2" ) // Red, White & Blue 7's. PORT_DIPSETTING( 0x00, "Graphics Option 3" ) // Hollywood Nights. PORT_DIPNAME( 0xc0, 0xc0, "Paytable" ) PORT_DIPLOCATION("DSW1:7,8") PORT_DIPSETTING( 0xc0, "9322" ) PORT_DIPSETTING( 0x80, "9323" ) PORT_DIPSETTING( 0x40, "9324" ) PORT_DIPSETTING( 0x00, "9321" ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x07, "Credits Per Coin A" ) PORT_DIPLOCATION("DSW2:1,2,3") PORT_DIPSETTING( 0x07, "1" ) PORT_DIPSETTING( 0x06, "2" ) PORT_DIPSETTING( 0x05, "4" ) PORT_DIPSETTING( 0x04, "5" ) PORT_DIPSETTING( 0x03, "6" ) PORT_DIPSETTING( 0x02, "10" ) PORT_DIPSETTING( 0x01, "25" ) PORT_DIPSETTING( 0x00, "50" ) PORT_DIPNAME( 0x38, 0x38, "Credits Per Coin B" ) PORT_DIPLOCATION("DSW2:4,5,6") PORT_DIPSETTING( 0x38, "1" ) PORT_DIPSETTING( 0x30, "2" ) PORT_DIPSETTING( 0x28, "4" ) PORT_DIPSETTING( 0x20, "5" ) PORT_DIPSETTING( 0x18, "6" ) PORT_DIPSETTING( 0x10, "10" ) PORT_DIPSETTING( 0x08, "25" ) PORT_DIPSETTING( 0x00, "50" ) PORT_DIPNAME( 0xc0, 0xc0, "Credits Per Bill" ) PORT_DIPLOCATION("DSW2:7,8") PORT_DIPSETTING( 0xc0, "1" ) PORT_DIPSETTING( 0x80, "5" ) PORT_DIPSETTING( 0x40, "10" ) PORT_DIPSETTING( 0x00, "100" ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x03, "Maximum Bet" ) PORT_DIPLOCATION("DSW3:1,2") PORT_DIPSETTING( 0x03, "8" ) PORT_DIPSETTING( 0x02, "16" ) PORT_DIPSETTING( 0x01, "32" ) PORT_DIPSETTING( 0x00, "32" ) // confirmed. PORT_DIPNAME( 0x04, 0x04, "Coin-In Timeout" ) PORT_DIPLOCATION("DSW3:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x18, 0x18, "Denomination" ) PORT_DIPLOCATION("DSW3:4,5") PORT_DIPSETTING( 0x18, "50 Cents" ) PORT_DIPSETTING( 0x10, "25 Cents" ) PORT_DIPSETTING( 0x08, "10 Cents" ) PORT_DIPSETTING( 0x00, "5 Cents" ) PORT_DIPNAME( 0x60, 0x60, "Progressive Sign" ) PORT_DIPLOCATION("DSW3:6,7") PORT_DIPSETTING( 0x60, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, "Single Level" ) PORT_DIPSETTING( 0x20, "Multi Level" ) PORT_DIPSETTING( 0x00, "Test Mode" ) PORT_DIPNAME( 0x80, 0x80, "DSW3_80 Unknown" ) PORT_DIPLOCATION("DSW3:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "Button Lockout" ) PORT_DIPLOCATION("DSW4:1") PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Lockout Polarity" ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, "Active High" ) PORT_DIPSETTING( 0x00, "Active Low" ) PORT_DIPNAME( 0x0c, 0x0c, "Printer Type" ) PORT_DIPLOCATION("DSW4:3,4") PORT_DIPSETTING( 0x0c, "Epson 267A" ) PORT_DIPSETTING( 0x08, "Star 300" ) PORT_DIPSETTING( 0x04, "Ithaca 76" ) PORT_DIPSETTING( 0x00, "Spare" ) PORT_DIPNAME( 0x10, 0x10, "DSW4_10 Unknown" ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, "DSW4_20 Unknown" ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "DSW4_40 Unknown" ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "DSW4_80 Unknown" ) PORT_DIPLOCATION("DSW4:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( flaming7 ) PORT_START("IN0") /* b800 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_L) PORT_NAME("Button Lockout") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("Hold 1 - Big") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("Hold 5") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("Hold 3 - Double-Up") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("Hold 4 - Take Score") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Bet 1") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("Hold 2 - Low") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) PORT_NAME("Start") PORT_START("IN1") /* b801 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN2") /* b802 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER( "fl7w4_id", ds2401_device, read ) // Same input, different device. PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_START("IN3") /* b810 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("Main Door SW") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_H) PORT_NAME("Change") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F) PORT_NAME("Logic Door SW") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_G) PORT_NAME("Cash Door SW") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_T) PORT_NAME("IN3-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Coin B") // confirmed. PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin A") // confirmed. PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Coin C or Mars") // confirmed. PORT_START("IN4") /* b811 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("WT RXD") PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("COUT RTS") // related to hopper... PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) PORT_NAME("IN4-3") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) PORT_NAME("IN4-4 Active") // This one is active in real PCB. PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) PORT_NAME("IN4-5") PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Collect") PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_R) PORT_NAME("Reset") PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_0) PORT_NAME("Books / Stats / Setup") PORT_TOGGLE PORT_START("DSW1") PORT_DIPNAME( 0x03, 0x03, "Credits Out" ) PORT_DIPLOCATION("DSW1:1,2") PORT_DIPSETTING( 0x03, "Amusement (no credits out)" ) PORT_DIPSETTING( 0x02, "Ticket Printer" ) PORT_DIPSETTING( 0x01, "Hopper Payout" ) PORT_DIPSETTING( 0x00, "Remote Clear" ) PORT_DIPNAME( 0x04, 0x04, "Game Speed" ) PORT_DIPLOCATION("DSW1:3") PORT_DIPSETTING( 0x04, "Fast Game" ) PORT_DIPSETTING( 0x00, "Slow Game" ) PORT_DIPNAME( 0x08, 0x08, "Lock-Up on 7 or 8 of a kind" ) PORT_DIPLOCATION("DSW1:4") PORT_DIPSETTING( 0x08, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_DIPNAME( 0x30, 0x30, "Graphics Type" ) PORT_DIPLOCATION("DSW1:5,6") PORT_DIPSETTING( 0x30, "Regular Fruit" ) PORT_DIPSETTING( 0x20, "Numbers" ) PORT_DIPSETTING( 0x10, "Graphics Option 1" ) PORT_DIPSETTING( 0x00, "Graphics Option 2" ) PORT_DIPNAME( 0xc0, 0xc0, "Paytable" ) PORT_DIPLOCATION("DSW1:7,8") PORT_DIPSETTING( 0xc0, "9325 (92.50%)" ) PORT_DIPSETTING( 0x80, "9326 (90.45%)" ) PORT_DIPSETTING( 0x40, "9327 (90.53%)" ) PORT_DIPSETTING( 0x00, "9328 (90.60%)" ) PORT_START("DSW2") PORT_DIPNAME( 0x07, 0x07, "Bonus Pay" ) PORT_DIPLOCATION("DSW2:1,2,3") // percentage of how quickly the internal progressive advances. PORT_DIPSETTING( 0x07, "1.00%" ) PORT_DIPSETTING( 0x06, "2.00%" ) PORT_DIPSETTING( 0x05, "3.30%" ) PORT_DIPSETTING( 0x04, "4.00%" ) PORT_DIPSETTING( 0x03, "5.00%" ) PORT_DIPSETTING( 0x02, "6.20%" ) PORT_DIPSETTING( 0x01, "8.30%" ) PORT_DIPSETTING( 0x00, "10%" ) PORT_DIPNAME( 0x08, 0x00, "Internal Progressive" ) PORT_DIPLOCATION("DSW2:4") PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x10, "Not Used (Leave OFF)" ) PORT_DIPLOCATION("DSW2:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, "Not Used (Leave OFF)" ) PORT_DIPLOCATION("DSW2:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Not Used (Leave OFF)" ) PORT_DIPLOCATION("DSW2:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "Not Used (Leave OFF)" ) PORT_DIPLOCATION("DSW2:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("DSW3") PORT_DIPNAME( 0x03, 0x03, "Maximum Bet" ) PORT_DIPLOCATION("DSW3:1,2") PORT_DIPSETTING( 0x03, "8" ) PORT_DIPSETTING( 0x02, "16" ) PORT_DIPSETTING( 0x01, "32" ) PORT_DIPSETTING( 0x00, "64" ) PORT_DIPNAME( 0x04, 0x04, "Coin-In Timeout" ) PORT_DIPLOCATION("DSW3:3") PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x38, 0x38, "Denomination" ) PORT_DIPLOCATION("DSW3:4,5,6") PORT_DIPSETTING( 0x38, "$1.00" ) PORT_DIPSETTING( 0x30, "50 Cents" ) PORT_DIPSETTING( 0x28, "25 Cents" ) PORT_DIPSETTING( 0x20, "10 Cents" ) PORT_DIPSETTING( 0x18, "5 Cents" ) PORT_DIPSETTING( 0x10, "5 Cents" ) PORT_DIPSETTING( 0x08, "5 Cents" ) PORT_DIPSETTING( 0x00, "5 Cents" ) PORT_DIPNAME( 0xc0, 0xc0, "Progressive Sign" ) PORT_DIPLOCATION("DSW3:7,8") PORT_DIPSETTING( 0xc0, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, "Single Level" ) PORT_DIPSETTING( 0x40, "Multi Level" ) // use this setting *only* if using external sign. PORT_DIPSETTING( 0x00, "Test Mode" ) PORT_START("DSW4") PORT_DIPNAME( 0x01, 0x01, "Button Lockout" ) PORT_DIPLOCATION("DSW4:1") // this is used to lockout the button panel switches... PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x02, "Lockout Polarity" ) PORT_DIPLOCATION("DSW4:2") PORT_DIPSETTING( 0x02, "Active High" ) PORT_DIPSETTING( 0x00, "Active Low" ) PORT_DIPNAME( 0x0c, 0x0c, "Printer Type" ) PORT_DIPLOCATION("DSW4:3,4") PORT_DIPSETTING( 0x0c, "Epson 267A" ) PORT_DIPSETTING( 0x08, "Star 300" ) PORT_DIPSETTING( 0x04, "Ithaca 76" ) PORT_DIPSETTING( 0x00, "Citizen 3541" ) PORT_DIPNAME( 0x10, 0x10, "Paper Low Sensor" ) PORT_DIPLOCATION("DSW4:5") PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x20, "Not Used (Leave OFF)" ) PORT_DIPLOCATION("DSW4:6") PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x40, "Not Used (Leave OFF)" ) PORT_DIPLOCATION("DSW4:7") PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x80, "Not Used (Leave OFF)" ) PORT_DIPLOCATION("DSW4:8") PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END /***************************************************** * Graphics Layouts & Decode * *****************************************************/ static const gfx_layout charlayout = { 8,8, /* 8*8 characters */ 4096, /* 4096 characters */ 3, /* 3 bits per pixel */ { 2, 4, 6 }, /* the bitplanes are packed in one byte */ { 0*8+0, 0*8+1, 1*8+0, 1*8+1, 2*8+0, 2*8+1, 3*8+0, 3*8+1 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 32*8 /* every char takes 32 consecutive bytes */ }; static const gfx_layout charlayout_chry10 = { 8,8, /* 8*8 characters */ RGN_FRAC(1,1), /* 4096 characters */ 3, /* 3 bits per pixel */ { 2, 4, 6 }, /* the bitplanes are packed in one byte */ { 3*8+0, 3*8+1, 2*8+0, 2*8+1, 1*8+0, 1*8+1, 0*8+0, 0*8+1 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 32*8 /* every char takes 32 consecutive bytes */ }; static const gfx_layout charlayout_goldfrui = { 8,8, /* 8*8 characters */ 4096, /* 4096 characters */ 3, /* 3 bits per pixel */ { 2, 4, 6 }, /* the bitplanes are packed in one byte */ { 0*8+0, 0*8+1, 2*8+0, 2*8+1, 1*8+0, 1*8+1, 3*8+0, 3*8+1 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 32*8 /* every char takes 32 consecutive bytes */ }; static const gfx_layout charlayout_cb3e = { 8,8, /* 8*8 characters */ 4096, /* 4096 characters */ 3, /* 3 bits per pixel */ { 2, 4, 6 }, /* the bitplanes are packed in one byte */ { 2*8+0, 2*8+1, 3*8+0, 3*8+1, 0*8+0, 0*8+1, 1*8+0, 1*8+1 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 32*8 /* every char takes 32 consecutive bytes */ }; static const gfx_layout tilelayout = { 8,32, /* 8*32 characters */ 256, /* 256 tiles */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, { 0, 1, 1*8+0, 1*8+1, 2*8+0, 2*8+1, 3*8+0, 3*8+1 }, { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 32*8, 36*8, 40*8, 44*8, 48*8, 52*8, 56*8, 60*8, 64*8, 68*8, 72*8, 76*8, 80*8, 84*8, 88*8, 92*8, 96*8, 100*8, 104*8, 108*8, 112*8, 116*8, 120*8, 124*8 }, 128*8 /* every char takes 128 consecutive bytes */ }; static const gfx_layout tilelayoutbl = { 8,32, /* 8*32 characters */ 256, /* 256 tiles */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, { 0, 1, 2*8+0, 2*8+1, 1*8+0, 1*8+1, 3*8+0, 3*8+1 }, { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 32*8, 36*8, 40*8, 44*8, 48*8, 52*8, 56*8, 60*8, 64*8, 68*8, 72*8, 76*8, 80*8, 84*8, 88*8, 92*8, 96*8, 100*8, 104*8, 108*8, 112*8, 116*8, 120*8, 124*8 }, 128*8 /* every char takes 128 consecutive bytes */ }; static const gfx_layout tilelayout_chry10 = { 8,32, /* 8*32 characters */ 256, /* 256 tiles */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, { 3*8+0, 3*8+1, 2*8+0, 2*8+1, 1*8+0, 1*8+1, 0*8+0, 0*8+1 }, { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 32*8, 36*8, 40*8, 44*8, 48*8, 52*8, 56*8, 60*8, 64*8, 68*8, 72*8, 76*8, 80*8, 84*8, 88*8, 92*8, 96*8, 100*8, 104*8, 108*8, 112*8, 116*8, 120*8, 124*8 }, 128*8 /* every char takes 128 consecutive bytes */ }; static const gfx_layout tilelayout_cb3e = { 8,32, /* 8*32 characters */ 256, /* 256 tiles */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, { 2*8+0, 2*8+1,3*8+0, 3*8+1, 0, 1, 1*8+0, 1*8+1 }, { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 32*8, 36*8, 40*8, 44*8, 48*8, 52*8, 56*8, 60*8, 64*8, 68*8, 72*8, 76*8, 80*8, 84*8, 88*8, 92*8, 96*8, 100*8, 104*8, 108*8, 112*8, 116*8, 120*8, 124*8 }, 128*8 /* every char takes 128 consecutive bytes */ }; static const gfx_layout tiles8x8x3_layout = { 8,8, RGN_FRAC(1,3), 3, { RGN_FRAC(0,3), RGN_FRAC(1,3), RGN_FRAC(2,3) }, { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, 8*8 }; static const gfx_layout tiles8x32x4_layout = { 8,32, RGN_FRAC(1,4), 4, { RGN_FRAC(0,4), RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) }, { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8, 16*8,17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8, 24*8,25*8, 26*8, 27*8, 28*8, 29*8, 30*8, 31*8 }, 32*8 }; // cmasterc set static const gfx_layout tiles8x32x4alt_layout = { 8,32, RGN_FRAC(1,2), 4, { RGN_FRAC(1,2)+0, RGN_FRAC(1,2)+4, 0, 4 }, { 3, 2, 1, 0, 11, 10, 9, 8 }, { 0*16, 1*16, 2*16, 3*16, 4*16, 5*16, 6*16, 7*16, 8*16, 9*16, 10*16, 11*16, 12*16, 13*16, 14*16, 15*16, 16*16,17*16, 18*16, 19*16, 20*16, 21*16, 22*16, 23*16, 24*16,25*16, 26*16, 27*16, 28*16, 29*16, 30*16, 31*16 }, 16*32 }; static const uint32_t layout_xoffset[128] = { STEP32(0*128,4),STEP32(1*128,4),STEP32(2*128,4),STEP32(3*128,4) }; static const uint32_t layout_yoffset[128] = { STEP32(0*16384, 512),STEP32(1*16384,512),STEP32(2*16384,512),STEP32(3*16384,512) }; static const gfx_layout tiles128x128x4_layout = { 128,128, RGN_FRAC(1,1), 4, { 0, 1, 2, 3 }, EXTENDED_XOFFS, EXTENDED_YOFFS, 4 * 16384, /* object takes 8 consecutive bytes */ layout_xoffset, layout_yoffset }; static const uint32_t layout_xoffset256[256] = { STEP32(0*128,4),STEP32(1*128,4),STEP32(2*128,4),STEP32(3*128,4), STEP32(4*128,4), STEP32(5*128,4), STEP32(6*128,4), STEP32(7*128,4) }; static const uint32_t layout_yoffset256[256] = { STEP32(0*32768, 1024),STEP32(1*32768,1024),STEP32(2*32768,1024),STEP32(3*32768,1024),STEP32(4*32768,1024), STEP32(5*32768,1024),STEP32(6*32768,1024),STEP32(7*32768,1024) }; static const gfx_layout tiles256x128x4_layout = { 256,256, RGN_FRAC(1,1), 4, { 0, 1, 2, 3 }, EXTENDED_XOFFS, EXTENDED_YOFFS, 8 * 32768, /* object takes 8 consecutive bytes */ layout_xoffset256, layout_yoffset256 }; #if 0 // decodes an extra plane for cmv4 / cmasterb, not sure if we need to static const gfx_layout tiles8x32x5_layout = { 8,32, RGN_FRAC(1,5), 5, { RGN_FRAC(0,5), RGN_FRAC(1,5), RGN_FRAC(2,5), RGN_FRAC(3,5), RGN_FRAC(4,5) }, { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8, 16*8,17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8, 24*8,25*8, 26*8, 27*8, 28*8, 29*8, 30*8, 31*8 }, 32*8 }; #endif static const gfx_layout cb3c_tiles8x8_layout = { 8,8, RGN_FRAC(1,1), 4, { 0, 1, 2, 3 }, { 4, 0, 12, 8, 20, 16, 28, 24 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 8*32 }; static const gfx_layout cb3c_tiles8x32_layout = { 8,32, RGN_FRAC(1,1), 4, { 0, 1, 2, 3 }, { 4, 0, 12, 8, 20, 16, 28, 24 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32, 16*32, 17*32, 18*32, 19*32, 20*32, 21*32, 22*32, 23*32, 24*32, 25*32, 26*32, 27*32, 28*32, 29*32, 30*32, 31*32 }, 32*32 }; static const gfx_layout tiles8x8x4_layout = { 8, 8, RGN_FRAC(1,4), /* 4096 tiles */ 4, { 0, RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) }, /* bitplanes are separated */ { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, 8*8 /* every char takes 8 consecutive bytes */ }; static const gfx_layout sangho_charlayout = { 8,8, /* 8*8 characters */ RGN_FRAC(1,1), /* 4096 characters */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, /* the bitplanes are packed in one byte */ { 0*8+0, 0*8+1, 1*8+0, 1*8+1, 2*8+0, 2*8+1, 3*8+0, 3*8+1 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 32*8 /* every char takes 32 consecutive bytes */ }; static const gfx_layout sangho_tilelayout = { 8,32, /* 8*32 characters */ RGN_FRAC(1,1), /* 1024 tiles */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, { 0, 1, 1*8+0, 1*8+1, 2*8+0, 2*8+1, 3*8+0, 3*8+1 }, { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 32*8, 36*8, 40*8, 44*8, 48*8, 52*8, 56*8, 60*8, 64*8, 68*8, 72*8, 76*8, 80*8, 84*8, 88*8, 92*8, 96*8, 100*8, 104*8, 108*8, 112*8, 116*8, 120*8, 124*8 }, 128*8 /* every char takes 128 consecutive bytes */ }; static const gfx_layout super9_charlayout = { 8,8, /* 8*8 characters */ 4096, /* 4096 characters */ 3, /* 3 bits per pixel */ { 2, 4, 6 }, /* the bitplanes are packed in one byte */ { 0*8+0, 0*8+1, 1*8+0, 1*8+1, 2*8+0, 2*8+1, 3*8+0, 3*8+1 }, { 0*32, 4*32, 2*32, 6*32, 1*32, 5*32, 3*32, 7*32 }, 32*8 /* every char takes 32 consecutive bytes */ }; static const gfx_layout super9_tilelayout = // Green is OK. Red needs normal goldstar order... { 8,32, /* 8*32 characters */ 256, /* 256 tiles */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, { 1, 0, 1*8+1, 1*8+0, 2*8+1, 2*8+0, 3*8+1, 3*8+0 }, { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 32*8, 36*8, 40*8, 44*8, 48*8, 52*8, 56*8, 60*8, 64*8, 68*8, 72*8, 76*8, 80*8, 84*8, 88*8, 92*8, 96*8, 100*8, 104*8, 108*8, 112*8, 116*8, 120*8, 124*8 }, 128*8 /* every char takes 128 consecutive bytes */ }; static const gfx_layout flaming7_charlayout = { 8,8, /* 8*8 characters */ 4096, /* 4096 characters */ 3, /* 3 bits per pixel */ { 2, 4, 6 }, /* the bitplanes are packed in one byte */ { 2*8+0, 2*8+1, 3*8+0, 3*8+1, 0*8+0, 0*8+1, 1*8+0, 1*8+1 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 32*8 /* every char takes 32 consecutive bytes */ }; static const gfx_layout flaming7_tilelayout = { 8,32, /* 8*32 characters */ 256, /* 256 tiles */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, { 2*8+0, 2*8+1, 3*8+0, 3*8+1, 0, 1, 1*8+0, 1*8+1 }, { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 32*8, 36*8, 40*8, 44*8, 48*8, 52*8, 56*8, 60*8, 64*8, 68*8, 72*8, 76*8, 80*8, 84*8, 88*8, 92*8, 96*8, 100*8, 104*8, 108*8, 112*8, 116*8, 120*8, 124*8 }, 128*8 /* every char takes 128 consecutive bytes */ }; static const gfx_layout flam7_tw_charlayout = { 8,8, /* 8*8 characters */ 4096, /* 4096 characters */ 3, /* 3 bits per pixel */ { 2, 4, 6 }, /* the bitplanes are packed in one byte */ { 3*8+0, 3*8+1, 2*8+0, 2*8+1, 1*8+0, 1*8+1, 0*8+0, 0*8+1 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 32*8 /* every char takes 32 consecutive bytes */ }; static const gfx_layout flam7_tw_tilelayout = // FIXME { 8,32, /* 8*32 characters */ 256, /* 256 tiles */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, { 3*8+0, 3*8+1, 2*8+0, 1*8+0, 1*8+1, 2*8+1, 0, 1 }, { 0*8, 4*8, 8*8, 12*8, 16*8, 20*8, 24*8, 28*8, 32*8, 36*8, 40*8, 44*8, 48*8, 52*8, 56*8, 60*8, 64*8, 68*8, 72*8, 76*8, 80*8, 84*8, 88*8, 92*8, 96*8, 100*8, 104*8, 108*8, 112*8, 116*8, 120*8, 124*8 }, 128*8 /* every char takes 128 consecutive bytes */ }; static GFXDECODE_START( gfx_goldstar ) GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 128, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_bl ) GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tilelayoutbl, 128, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_ml ) GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0x18000, tilelayout, 128, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_goldfrui ) GFXDECODE_ENTRY( "gfx1", 0, charlayout_goldfrui, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tilelayoutbl, 128, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_chry10 ) GFXDECODE_ENTRY( "gfx1", 0, charlayout_chry10, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tilelayout_chry10, 128, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_cb3c ) GFXDECODE_ENTRY( "gfx1", 0, cb3c_tiles8x8_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, cb3c_tiles8x32_layout, 128, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_cb3e ) GFXDECODE_ENTRY( "gfx1", 0, charlayout_cb3e, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tilelayout_cb3e, 128, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_ncb3 ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x3_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x4_layout, 128, 4 ) GFXDECODE_END static GFXDECODE_START( gfx_bingownga ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x3_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0x6000, tiles8x32x4_layout, 128, 4 ) GFXDECODE_END static GFXDECODE_START( gfx_magodds ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x3_layout, 0, 32 ) GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x4_layout, 0, 16 ) GFXDECODE_END static GFXDECODE_START( gfx_cm ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x3_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x4_layout, 128+64, 4 ) // or is there a register for the +64? GFXDECODE_END static GFXDECODE_START( gfx_cmbitmap ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x3_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x4_layout, 128+64, 4 ) // or is there a register for the +64? GFXDECODE_ENTRY( "user1", 0, tiles128x128x4_layout, 128, 4 ) GFXDECODE_END static GFXDECODE_START( gfx_cmasterc ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x3_layout, 0, 16 ) GFXDECODE_ENTRY( "reels", 0, tiles8x32x4alt_layout, 128+64, 4 ) GFXDECODE_ENTRY( "user1", 0, tiles128x128x4_layout, 128, 4 ) GFXDECODE_END static GFXDECODE_START( gfx_cmast91 ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x3_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x4_layout, 128+64, 4 ) // or is there a register for the +64? GFXDECODE_ENTRY( "user1", 0, tiles256x128x4_layout, 128, 4 ) GFXDECODE_END #if 0 // decodes an extra plane for cmv4 / cmasterb, not sure if we need to static GFXDECODE_START( gfx_cmasterb ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x3_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x5_layout, 0, 4 ) GFXDECODE_END #endif static GFXDECODE_START( gfx_megaline ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x4_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x4_layout, 128, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_sangho ) GFXDECODE_ENTRY( "gfx1", 0, sangho_charlayout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, sangho_tilelayout, 128, 8 ) /* 7*16,16 title girl in 1st color 6*16,16 watermelon in game 4*16,16 blueberry in game 3*16,16 cherries in game 2*16,16 oranges and title girl in game 1*16,16 nines in game */ GFXDECODE_END static GFXDECODE_START( gfx_super9 ) GFXDECODE_ENTRY( "gfx1", 0, super9_charlayout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, super9_tilelayout, 128, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_flaming7 ) // gfx 2 still wrong... GFXDECODE_ENTRY( "gfx1", 0, flaming7_charlayout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, flaming7_tilelayout, 104, 8 ) GFXDECODE_END static GFXDECODE_START( gfx_flam7_tw ) // gfx 2 still wrong... GFXDECODE_ENTRY( "gfx1", 0, flam7_tw_charlayout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, flam7_tw_tilelayout, 104, 8 ) GFXDECODE_END static const gfx_layout tiles8x32_4bpp_layout = { 8,32, RGN_FRAC(1,4), 4, { RGN_FRAC(0,4), RGN_FRAC(1,4), RGN_FRAC(2,4), RGN_FRAC(3,4) }, { 0, 1, 2, 3, 4, 5, 6, 7}, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8, 16*8, 17*8, 18*8, 19*8, 20*8, 21*8, 22*8, 23*8, 24*8, 25*8, 26*8, 27*8, 28*8, 29*8, 30*8, 31*8 }, 32*8 }; static const gfx_layout tiles8x8_3bpp_layout = { 8,8, RGN_FRAC(1,3), 3, { RGN_FRAC(0,3), RGN_FRAC(1,3), RGN_FRAC(2,3) }, { 0, 1, 2, 3, 4, 5, 6, 7}, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, 8*8 }; static GFXDECODE_START( gfx_nfm ) GFXDECODE_ENTRY( "tilegfx", 0, tiles8x8_3bpp_layout, 0, 16 ) GFXDECODE_ENTRY( "reelgfx", 0, tiles8x32_4bpp_layout, 128+64, 4 ) GFXDECODE_ENTRY( "user1", 0, tiles128x128x4_layout, 128, 4 ) // wrong, needs correct decoding GFXDECODE_END static const gfx_layout tiles8x8x3_miss1bpp_layout = { 8,8, RGN_FRAC(1,1), 3, { 1, 2, 3 }, { 8, 12, 0, 4, 24, 28, 16, 20 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 8*32 }; static const gfx_layout tiles8x8x4alt_layout = { 8,8, RGN_FRAC(1,1), 4, { 0, 1, 2, 3 }, { 4, 0, 12, 8, 20, 16, 28, 24 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 8*32 }; static const gfx_layout tiles8x32x4alt2_layout = { 8,32, RGN_FRAC(1,1), 4, { 0, 1, 2, 3 }, { 4, 0, 12, 8, 20, 16, 28, 24 }, { STEP32(0,32) }, 32*32 }; static GFXDECODE_START( gfx_unkch ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x4alt_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x4alt2_layout, 0, 16 ) GFXDECODE_END static const gfx_layout tilescherrys_layout = { 8,32, RGN_FRAC(1,1), 4, { 3, 2, 1, 0 }, { 8, 12, 0, 4, 24, 28, 16, 20 }, { STEP32(0,32) }, 32*32 }; static GFXDECODE_START( gfx_cherrys ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8x3_miss1bpp_layout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tilescherrys_layout, 128, 8 ) GFXDECODE_END static const gfx_layout tiles8x32x4pkr_layout = { 8,32, /* 8*32 characters */ RGN_FRAC(1,1), /* 1024 characters */ 4, /* 4 bits per pixel */ { 0, 2, 4, 6 }, /* the bitplanes are packed in one byte */ { 0*8+0, 0*8+1, 1*8+0, 1*8+1, 2*8+0, 2*8+1, 3*8+0, 3*8+1 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32, 16*32, 17*32, 18*32, 19*32, 20*32, 21*32, 22*32, 23*32, 24*32, 25*32, 26*32, 27*32, 28*32, 29*32, 30*32, 31*32 }, 8*32*4 /* every char takes 128 consecutive bytes */ }; static GFXDECODE_START( gfx_pkrmast ) GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) GFXDECODE_ENTRY( "gfx2", 0, tiles8x32x4pkr_layout, 128+64, 16 ) GFXDECODE_END static const gfx_layout cm97_layout = { 8,8, RGN_FRAC(1,1), 4, { 0, 1, 2, 3 }, { 8, 12, 0, 4, 24, 28, 16, 20 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 8*32 }; static const gfx_layout cm97_layout32 = { 8,32, RGN_FRAC(1,1), 4, { 0,1,2,3 }, { 8,12,0,4,24,28, 16,20 }, { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, 8*32, 9*32, 10*32, 11*32, 12*32, 13*32, 14*32, 15*32, 16*32, 17*32, 18*32, 19*32, 20*32, 21*32, 22*32, 23*32, 24*32, 25*32, 26*32, 27*32, 28*32, 29*32, 30*32, 31*32 }, 32*32 }; static GFXDECODE_START( gfx_cm97 ) GFXDECODE_ENTRY( "gfx", 0, cm97_layout, 0x0, 32 ) GFXDECODE_ENTRY( "gfx", 0, cm97_layout32, 0x0, 32 ) GFXDECODE_END WRITE8_MEMBER(wingco_state::system_outputa_w) { //popmessage("system_outputa_w %02x",data); } WRITE8_MEMBER(wingco_state::system_outputb_w) { //popmessage("system_outputb_w %02x",data); } WRITE8_MEMBER(wingco_state::system_outputc_w) { m_nmi_enable = data & 8; m_vidreg = data & 2; //popmessage("system_outputc_w %02x",data); if (!m_nmi_enable) m_maincpu->set_input_line(INPUT_LINE_NMI, CLEAR_LINE); } WRITE8_MEMBER(goldstar_state::ay8910_outputa_w) { //popmessage("ay8910_outputa_w %02x",data); } WRITE8_MEMBER(goldstar_state::ay8910_outputb_w) { //popmessage("ay8910_outputb_w %02x",data); } void goldstar_state::goldstar(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &goldstar_state::goldstar_map); m_maincpu->set_addrmap(AS_IO, &goldstar_state::goldstar_readport); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_goldstar); PALETTE(config, m_palette).set_format(palette_device::BGR_233, 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW3"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); OKIM6295(config, "oki", OKI_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* clock frequency & pin 7 not verified */ } void goldstar_state::goldstbl(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &goldstar_state::goldstar_map); m_maincpu->set_addrmap(AS_IO, &goldstar_state::goldstar_readport); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_bl); PALETTE(config, m_palette).set_format(palette_device::BGR_233, 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW3"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); OKIM6295(config, "oki", OKI_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* clock frequency & pin 7 not verified */ } void goldstar_state::moonlght(machine_config &config) { goldstbl(config); m_gfxdecode->set_info(gfx_ml); } void goldstar_state::goldfrui(machine_config &config) { goldstbl(config); m_gfxdecode->set_info(gfx_goldfrui); } void sanghopm_state::star100(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &sanghopm_state::star100_map); m_maincpu->set_addrmap(AS_IO, &sanghopm_state::star100_readport); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(sanghopm_state::screen_update_sangho)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); PALETTE(config, m_palette).set_entries(0x100); RAMDAC(config, "ramdac", 0, "palette").set_addrmap(0, &sanghopm_state::ramdac_map); GFXDECODE(config, m_gfxdecode, m_palette, gfx_sangho); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(sanghopm_state, sangho) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW5"); aysnd.port_b_read_callback().set_ioport("DSW6"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); OKIM6295(config, "oki", OKI_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* clock frequency & pin 7 not verified */ } void goldstar_state::super9(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &goldstar_state::goldstar_map); // m_maincpu->set_addrmap(AS_PROGRAM, &goldstar_state::nfm_map); m_maincpu->set_addrmap(AS_IO, &goldstar_state::goldstar_readport); // m_maincpu->set_addrmap(AS_IO, &goldstar_state::unkch_portmap); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_super9); PALETTE(config, m_palette).set_format(palette_device::BGR_233, 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW3"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); OKIM6295(config, "oki", OKI_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* clock frequency & pin 7 not verified */ } void goldstar_state::cm_palette(palette_device &palette) const { // BBGGGRRR uint8_t const *const proms = memregion("proms")->base(); for (int i = 0; i < 0x100; i++) { uint8_t const data = proms[0x000 + i] | (proms[0x100 + i] << 4); palette.set_pen_color(i, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6)); } } void goldstar_state::cmast91_palette(palette_device &palette) const { uint8_t const *const proms = memregion("proms")->base(); for (int i = 0; i < 0x100; i++) { int const b = pal4bit(proms[0x000 + i]); int const g = pal4bit(proms[0x100 + i]); int const r = pal4bit(proms[0x200 + i]); palette.set_pen_color(i, rgb_t(r, g, b)); } } void goldstar_state::lucky8_palette(palette_device &palette) const { // BBGGGRRR uint8_t const *proms; proms = memregion("proms")->base(); for (int i = 0; i < 0x100; i++) { uint8_t const data = proms[0x000 + i] | (proms[0x100 + i] << 4); palette.set_pen_color(i, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6)); } proms = memregion("proms2")->base(); for (int i = 0; i < 0x20; i++) { uint8_t const data = proms[i]; palette.set_pen_color(i + 0x80, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6)); } } void goldstar_state::nfm_palette(palette_device &palette) const { // BBGGGRRR uint8_t const *const colours = memregion("colours")->base(); for (int i = 0; i < 0x100; i++) { uint8_t const data = bitswap<8>(colours[0x000 + i], 3, 2, 1, 0, 7, 6, 5, 4); palette.set_pen_color(i, pal3bit(data >> 0), pal3bit(data >> 3), pal2bit(data >> 6)); } // TODO: what's 0x100-0x1ff for? For the currently undecoded user1 ROM? } void cb3_state::ncb3(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &cb3_state::ncb3_map); m_maincpu->set_addrmap(AS_IO, &cb3_state::ncb3_readwriteport); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN3"); //Player2 controls, confirmed I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("IN1"); m_ppi[1]->in_pb_callback().set_ioport("IN2"); m_ppi[1]->in_pc_callback().set_ioport("DSW1"); I8255A(config, m_ppi[2]); m_ppi[2]->in_pa_callback().set_ioport("DSW2"); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3); PALETTE(config, m_palette, FUNC(goldstar_state::cm_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "snsnd", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW3"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } void cb3_state::cb3c(machine_config &config) { ncb3(config); m_gfxdecode->set_info(gfx_cb3c); } void cb3_state::cb3e(machine_config &config) { ncb3(config); m_gfxdecode->set_info(gfx_cb3e); } void cb3_state::chryangla(machine_config &config) { ncb3(config); m_maincpu->set_addrmap(AS_PROGRAM, &cb3_state::chryangla_map); m_maincpu->set_addrmap(AS_OPCODES, &cb3_state::chryangla_decrypted_opcodes_map); m_palette->set_init(FUNC(goldstar_state::lucky8_palette)); } void cb3_state::chrygld(machine_config &config) { ncb3(config); m_gfxdecode->set_info(gfx_chry10); } void cb3_state::cherrys(machine_config &config) { ncb3(config); m_gfxdecode->set_info(gfx_cherrys); } void cb3_state::eldoradd(machine_config &config) { ncb3(config); m_gfxdecode->set_info(gfx_cm97); } void goldstar_state::wcherry(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &goldstar_state::wcherry_map); m_maincpu->set_addrmap(AS_IO, &goldstar_state::wcherry_readwriteport); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN3"); //Player2 controls, confirmed I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("IN1"); m_ppi[1]->in_pb_callback().set_ioport("IN2"); m_ppi[1]->in_pc_callback().set_ioport("DSW1"); I8255A(config, m_ppi[2]); m_ppi[2]->in_pa_callback().set_ioport("DSW2"); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cb3e); PALETTE(config, m_palette, FUNC(goldstar_state::cm_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "snsnd", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW3"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } void cmaster_state::cm(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &cmaster_state::cm_map); m_maincpu->set_addrmap(AS_IO, &cmaster_state::cm_portmap); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("DSW1"); m_ppi[1]->in_pb_callback().set_ioport("DSW2"); m_ppi[1]->in_pc_callback().set_ioport("DSW3"); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cmbitmap); PALETTE(config, m_palette, FUNC(goldstar_state::cm_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW5"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } void cmaster_state::cmasterc(machine_config &config) { cm(config); m_gfxdecode->set_info(gfx_cmasterc); } void cmaster_state::cm97(machine_config &config) { cm(config); m_maincpu->set_addrmap(AS_IO, &cmaster_state::cm97_portmap); m_gfxdecode->set_info(gfx_cm97); config.device_remove("ppi8255_0"); config.device_remove("ppi8255_1"); } void cmaster_state::ss2001(machine_config &config) { cm97(config); m_maincpu->set_addrmap(AS_IO, &cmaster_state::ss2001_portmap); } void cmaster_state::chryangl(machine_config &config) { cm(config); m_maincpu->set_addrmap(AS_OPCODES, &cmaster_state::chryangl_decrypted_opcodes_map); } void goldstar_state::cmast91(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &goldstar_state::cm_map); m_maincpu->set_addrmap(AS_IO, &goldstar_state::cmast91_portmap); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("DSW1"); m_ppi[1]->in_pb_callback().set_ioport("DSW2"); m_ppi[1]->in_pc_callback().set_ioport("DSW3"); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 1*8, 31*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_cmast91)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cmast91); PALETTE(config, m_palette, FUNC(goldstar_state::cmast91_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW5"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } WRITE_LINE_MEMBER(wingco_state::masked_irq) { if (state && m_nmi_enable) m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); } void wingco_state::lucky8(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &wingco_state::lucky8_map); //->m_maincpu->set_addrmap(AS_IO, &wingco_state::goldstar_readport); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("IN3"); m_ppi[1]->in_pb_callback().set_ioport("IN4"); m_ppi[1]->in_pc_callback().set_ioport("DSW1"); I8255A(config, m_ppi[2]); m_ppi[2]->in_pa_callback().set_ioport("DSW2"); m_ppi[2]->out_pa_callback().set(FUNC(wingco_state::system_outputa_w)); m_ppi[2]->out_pb_callback().set(FUNC(wingco_state::system_outputb_w)); m_ppi[2]->out_pc_callback().set(FUNC(wingco_state::system_outputc_w)); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set(FUNC(wingco_state::masked_irq)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3); PALETTE(config, m_palette, FUNC(goldstar_state::lucky8_palette)).set_format(palette_device::BGR_233, 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "snsnd", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); ym2149_device &aysnd(YM2149(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW3"); aysnd.port_b_read_callback().set_ioport("DSW4"); aysnd.port_a_write_callback().set(FUNC(goldstar_state::ay8910_outputa_w)); aysnd.port_b_write_callback().set(FUNC(goldstar_state::ay8910_outputb_w)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } void wingco_state::lucky8f(machine_config &config) { lucky8(config); m_maincpu->set_addrmap(AS_OPCODES, &wingco_state::common_decrypted_opcodes_map); } void wingco_state::lucky8k(machine_config &config) { lucky8(config); nec_315_5136_device &maincpu(NEC_315_5136(config.replace(), m_maincpu, CPU_CLOCK)); maincpu.set_addrmap(AS_PROGRAM, &wingco_state::lucky8_map); maincpu.set_addrmap(AS_OPCODES, &wingco_state::common_decrypted_opcodes_map); maincpu.set_decrypted_tag(m_decrypted_opcodes); } void wingco_state::luckylad(machine_config &config) { lucky8(config); sega_315_spat_device &maincpu(SEGA_315_SPAT(config.replace(), m_maincpu, CPU_CLOCK)); // actually Falcon 03155096 encrypted Z80 maincpu.set_addrmap(AS_PROGRAM, &wingco_state::lucky8_map); maincpu.set_addrmap(AS_OPCODES, &wingco_state::common_decrypted_opcodes_map); maincpu.set_decrypted_tag(":decrypted_opcodes"); } void wingco_state::super972(machine_config &config) { lucky8(config); m_maincpu->set_addrmap(AS_OPCODES, &wingco_state::super972_decrypted_opcodes_map); } void wingco_state::bingowng(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &wingco_state::lucky8_map); //m_maincpu->set_addrmap(AS_IO, &wingco_state::goldstar_readport); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("IN3"); m_ppi[1]->in_pb_callback().set_ioport("IN4"); m_ppi[1]->in_pc_callback().set_ioport("DSW1"); I8255A(config, m_ppi[2]); m_ppi[2]->in_pa_callback().set_ioport("DSW2"); m_ppi[2]->out_pa_callback().set(FUNC(wingco_state::system_outputa_w)); m_ppi[2]->out_pb_callback().set(FUNC(wingco_state::system_outputb_w)); m_ppi[2]->out_pc_callback().set(FUNC(wingco_state::system_outputc_w)); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(wingco_state::screen_update_bingowng)); screen.screen_vblank().set(FUNC(wingco_state::masked_irq)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3); PALETTE(config, m_palette, FUNC(goldstar_state::lucky8_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(wingco_state, bingowng) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "snsnd", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW3"); aysnd.port_b_read_callback().set_ioport("DSW4"); aysnd.port_a_write_callback().set(FUNC(goldstar_state::ay8910_outputa_w)); aysnd.port_b_write_callback().set(FUNC(goldstar_state::ay8910_outputb_w)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } void wingco_state::bingownga(machine_config &config) { bingowng(config); m_gfxdecode->set_info(gfx_bingownga); } void wingco_state::flam7_w4(machine_config &config) { lucky8(config); /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &wingco_state::flaming7_map); m_ppi[0]->out_pc_callback().set(FUNC(wingco_state::fl7w4_outc802_w)); DS2401(config, m_fl7w4_id); } void wingco_state::flaming7(machine_config &config) { lucky8(config); /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &wingco_state::flaming7_map); m_gfxdecode->set_info(gfx_flaming7); // to do serial protection. m_ppi[0]->out_pc_callback().set(FUNC(wingco_state::fl7w4_outc802_w)); DS2401(config, m_fl7w4_id); } void wingco_state::flam7_tw(machine_config &config) { lucky8(config); /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &wingco_state::flaming7_map); m_gfxdecode->set_info(gfx_flam7_tw); // to do serial protection. m_ppi[0]->out_pc_callback().set(FUNC(wingco_state::fl7w4_outc802_w)); DS2401(config, m_fl7w4_id); } void wingco_state::mbstar(machine_config &config) { lucky8(config); /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &wingco_state::mbstar_map); subdevice("screen")->set_screen_update(FUNC(wingco_state::screen_update_mbstar)); } void wingco_state::magodds_palette(palette_device &palette) const { uint8_t const *const proms = memregion("proms")->base(); for (int i = 0; i < 0x100; i++) { uint8_t const b = pal4bit(proms[0x000 + i]); uint8_t const g = pal4bit(proms[0x100 + i]); uint8_t const r = pal4bit(proms[0x200 + i]); palette.set_pen_color(i, rgb_t(r, g, b)); } } void wingco_state::magodds(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &wingco_state::magodds_map); //m_maincpu->set_addrmap(AS_IO, &wingco_state::goldstar_readport); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("IN3"); m_ppi[1]->in_pb_callback().set_ioport("IN4"); m_ppi[1]->in_pc_callback().set_ioport("DSW1"); I8255A(config, m_ppi[2]); m_ppi[2]->in_pa_callback().set_ioport("DSW2"); m_ppi[2]->out_pa_callback().set(FUNC(wingco_state::system_outputa_w)); m_ppi[2]->out_pb_callback().set(FUNC(wingco_state::system_outputb_w)); m_ppi[2]->out_pc_callback().set(FUNC(wingco_state::system_outputc_w)); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(wingco_state::screen_update_magical)); screen.screen_vblank().set(FUNC(wingco_state::masked_irq)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_magodds); PALETTE(config, m_palette, FUNC(wingco_state::magodds_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(wingco_state, magical) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "snsnd", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.00); // shut up annoying whine ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW3"); aysnd.port_b_read_callback().set_ioport("DSW4"); aysnd.port_a_write_callback().set(FUNC(goldstar_state::ay8910_outputa_w)); aysnd.port_b_write_callback().set(FUNC(goldstar_state::ay8910_outputb_w)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.80); } void goldstar_state::kkotnoli(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &goldstar_state::kkotnoli_map); //m_maincpu->set_addrmap(AS_IO, &goldstar_state::goldstar_readport); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("IN3"); m_ppi[1]->in_pb_callback().set_ioport("IN4"); I8255A(config, m_ppi[2]); m_ppi[2]->in_pa_callback().set_ioport("DSW1"); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3); PALETTE(config, m_palette, FUNC(goldstar_state::lucky8_palette), 256); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "snsnd", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); } void goldstar_state::ladylinr(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &goldstar_state::ladylinr_map); //m_maincpu->set_addrmap(AS_IO, &goldstar_state::goldstar_readport); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("DSW1"); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3); PALETTE(config, m_palette, FUNC(goldstar_state::lucky8_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "snsnd", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); AY8930(config, "aysnd", AY_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.50); // unused? } void goldstar_state::ladylinrb(machine_config &config) { ladylinr(config); m_maincpu->set_addrmap(AS_OPCODES, &goldstar_state::common_decrypted_opcodes_map); } void wingco_state::wcat3(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &wingco_state::wcat3_map); m_maincpu->set_addrmap(AS_OPCODES, &wingco_state::super972_decrypted_opcodes_map); //m_maincpu->set_addrmap(AS_IO, &wingco_state::goldstar_readport); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("IN3"); m_ppi[1]->in_pb_callback().set_ioport("IN4"); m_ppi[1]->in_pc_callback().set_ioport("DSW1"); I8255A(config, m_ppi[2]); m_ppi[2]->in_pa_callback().set_ioport("DSW2"); m_ppi[2]->out_pa_callback().set(FUNC(wingco_state::system_outputa_w)); m_ppi[2]->out_pb_callback().set(FUNC(wingco_state::system_outputb_w)); m_ppi[2]->out_pc_callback().set(FUNC(wingco_state::system_outputc_w)); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3); PALETTE(config, m_palette, FUNC(goldstar_state::lucky8_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "snsnd", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW3"); aysnd.port_b_read_callback().set_ioport("DSW4"); aysnd.port_a_write_callback().set(FUNC(goldstar_state::ay8910_outputa_w)); aysnd.port_b_write_callback().set(FUNC(goldstar_state::ay8910_outputb_w)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } /* diff with cm machine driver: gfxdecode, OKI & portmap */ void cmaster_state::amcoe1(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &cmaster_state::cm_map); m_maincpu->set_addrmap(AS_IO, &cmaster_state::amcoe1_portmap); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("DSW1"); m_ppi[1]->in_pb_callback().set_ioport("DSW2"); m_ppi[1]->in_pc_callback().set_ioport("DSW3"); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cm); PALETTE(config, m_palette, FUNC(goldstar_state::cm_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW5"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); OKIM6295(config, "oki", OKI_CLOCK, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0); /* clock frequency & pin 7 not verified */ } /* diff with cm machine driver: gfxdecode, OKI, portmap & tilemaps rect size/position */ void cmaster_state::amcoe1a(machine_config &config) { amcoe1(config); /* video hardware */ subdevice("screen")->set_screen_update(FUNC(cmaster_state::screen_update_amcoe1a)); } /* diff with cm machine driver: gfxdecode, AY8910 volume & portmap */ void cmaster_state::amcoe2(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &cmaster_state::cm_map); m_maincpu->set_addrmap(AS_IO, &cmaster_state::amcoe2_portmap); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("DSW1"); m_ppi[1]->in_pb_callback().set_ioport("DSW2"); m_ppi[1]->in_pc_callback().set_ioport("DSW3"); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_cm); PALETTE(config, m_palette, FUNC(goldstar_state::cm_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW5"); aysnd.add_route(ALL_OUTPUTS, "mono", 2.00); /* analyzed for clips */ } void cmaster_state::nfm(machine_config &config) { amcoe2(config); /* basic machine hardware */ m_maincpu->set_addrmap(AS_PROGRAM, &cmaster_state::nfm_map); m_gfxdecode->set_info(gfx_nfm); m_palette->set_init(FUNC(cmaster_state::nfm_palette)); } WRITE_LINE_MEMBER(unkch_state::vblank_irq) { if (state && m_vblank_irq_enable) m_maincpu->set_input_line(INPUT_LINE_NMI, ASSERT_LINE); } void unkch_state::unkch(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &unkch_state::unkch_map); m_maincpu->set_addrmap(AS_IO, &unkch_state::unkch_portmap); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 1*8, 31*8-1); screen.set_screen_update(FUNC(unkch_state::screen_update_unkch)); screen.screen_vblank().set(FUNC(unkch_state::vblank_irq)); GFXDECODE(config, m_gfxdecode, m_palette, gfx_unkch); PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 512); MCFG_VIDEO_START_OVERRIDE(unkch_state, unkch) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW1"); aysnd.port_b_read_callback().set_ioport("DSW2"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); /* payout hardware */ TICKET_DISPENSER(config, m_ticket_dispenser, attotime::from_msec(200), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW); } // hw unknown - should be somewhat similar to cm void goldstar_state::pkrmast(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &goldstar_state::cm_map); m_maincpu->set_addrmap(AS_IO, &goldstar_state::pkrmast_portmap); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, 0, HOLD_LINE); GFXDECODE(config, m_gfxdecode, m_palette, gfx_pkrmast); PALETTE(config, m_palette, FUNC(goldstar_state::cm_palette), 256); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state, cherrym) /* sound hardware */ SPEAKER(config, "mono").front_center(); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW4"); aysnd.port_b_read_callback().set_ioport("DSW5"); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } void goldstar_state::crazybon(machine_config &config) { pkrmast(config); m_maincpu->set_addrmap(AS_IO, &goldstar_state::crazybon_portmap); } void unkch_state::megaline(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, CPU_CLOCK); m_maincpu->set_addrmap(AS_PROGRAM, &unkch_state::megaline_map); m_maincpu->set_addrmap(AS_IO, &unkch_state::megaline_portmap); //I8255A(config, m_ppi[0], 0); //I8255A(config, m_ppi[1], 0); //I8255A(config, m_ppi[2], 0); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); // screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); GFXDECODE(config, m_gfxdecode, m_palette, gfx_megaline); PALETTE(config, m_palette, FUNC(goldstar_state::lucky8_palette), 256); // NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_1); MCFG_VIDEO_START_OVERRIDE(goldstar_state,goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "sn1", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); SN76489(config, "sn2", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); SN76489(config, "sn3", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); ay8910_device &aysnd(AY8910(config, "aysnd", AY_CLOCK)); aysnd.port_a_read_callback().set_ioport("DSW3"); aysnd.port_b_read_callback().set_ioport("DSW4"); aysnd.port_a_write_callback().set(FUNC(goldstar_state::ay8910_outputa_w)); aysnd.port_b_write_callback().set(FUNC(goldstar_state::ay8910_outputb_w)); aysnd.add_route(ALL_OUTPUTS, "mono", 0.50); } void unkch_state::bonusch(machine_config &config) { /* basic machine hardware */ Z80(config, m_maincpu, 12_MHz_XTAL / 2); m_maincpu->set_addrmap(AS_PROGRAM, &unkch_state::bonusch_map); m_maincpu->set_addrmap(AS_IO, &unkch_state::bonusch_portmap); I80C51(config, "mcu", 12_MHz_XTAL).set_disable(); /* video hardware */ screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(goldstar_state::screen_update_goldstar)); screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); GFXDECODE(config, m_gfxdecode, m_palette, gfx_megaline); PALETTE(config, m_palette, FUNC(goldstar_state::lucky8_palette), 256); MCFG_VIDEO_START_OVERRIDE(goldstar_state, goldstar) /* sound hardware */ SPEAKER(config, "mono").front_center(); SN76489(config, "sn1", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); SN76489(config, "sn2", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); SN76489(config, "sn3", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); SN76489(config, "sn4", PSG_CLOCK).add_route(ALL_OUTPUTS, "mono", 0.80); } void unkch_state::feverch(machine_config &config) { Z80(config, m_maincpu, 12'000'000 / 2); // clock not verified m_maincpu->set_addrmap(AS_PROGRAM, &unkch_state::feverch_map); m_maincpu->set_addrmap(AS_IO, &unkch_state::feverch_portmap); I8255A(config, m_ppi[0]); m_ppi[0]->in_pa_callback().set_ioport("IN0"); m_ppi[0]->in_pb_callback().set_ioport("IN1"); m_ppi[0]->in_pc_callback().set_ioport("IN2"); I8255A(config, m_ppi[1]); m_ppi[1]->in_pa_callback().set_ioport("IN3"); m_ppi[1]->in_pb_callback().set_ioport("IN4"); m_ppi[1]->in_pc_callback().set_ioport("DSW1"); I8255A(config, m_ppi[2]); m_ppi[2]->in_pa_callback().set_ioport("DSW4"); m_ppi[2]->in_pb_callback().set_ioport("DSW2"); m_ppi[2]->in_pc_callback().set_ioport("DSW3"); screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_size(64*8, 32*8); screen.set_visarea(0*8, 64*8-1, 2*8, 30*8-1); screen.set_screen_update(FUNC(unkch_state::screen_update_unkch)); screen.screen_vblank().set_inputline(m_maincpu, INPUT_LINE_NMI); GFXDECODE(config, m_gfxdecode, m_palette, gfx_ncb3); PALETTE(config, m_palette, FUNC(goldstar_state::lucky8_palette)).set_format(palette_device::BGR_233, 256); MCFG_VIDEO_START_OVERRIDE(unkch_state, unkch) SPEAKER(config, "mono").front_center(); SN76489A(config, "sn1", 12'000'000 / 12).add_route(ALL_OUTPUTS, "mono", 0.80); // actually SN76489AN, clock not verified SN76489A(config, "sn2", 12'000'000 / 12).add_route(ALL_OUTPUTS, "mono", 0.80); // actually SN76489AN, clock not verified SN76489A(config, "sn3", 12'000'000 / 12).add_route(ALL_OUTPUTS, "mono", 0.80); // actually SN76489AN, clock not verified } /*************************************************************************** Game driver(s) ***************************************************************************/ /* Golden Star (bootleg of Cherry 1 Gold) Processor: ZILOG Z0840006PSC Z80 CPU 9745 RN EPROM: Name: 1 File: gs1.bin Type: TMS JL 27C010A-12 LX78AC96P Name: 2 File: gs2.bin Type: TMS JL 27C010A-10 LX73A5J4P Nome: 3 File: gs3.bin Type: TMS JL 29C010A-12 LX78AC96P Nome: 4 File: gs4.bin Type: TMS JL 27C010A-10 LX73A5J4P Other IC's on MB - ACTEL A1020B PL84C 9713 - 9703R MS6264L-70PC - HOLTEK HT 6116-70 9806K0625 */ ROM_START( goldstar ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "gs4-cpu.bin", 0x0000, 0x10000, CRC(73e47d4d) SHA1(df2d8233572dc12e8a4b56e5d4f6c566e4ababc9) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "gs2.bin", 0x00000, 0x20000, CRC(a2d5b898) SHA1(84cca22c91628cfefb67013652b151f034a06159) ) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "gs3.bin", 0x00000, 0x08000, CRC(8454ce3c) SHA1(74686ebb91f191db8cbc3d0417a5e8112c5b67b1) ) ROM_REGION( 0x40000, "oki", 0 ) /* Audio ADPCM */ ROM_LOAD( "gs1-snd.bin", 0x0000, 0x20000, CRC(9d58960f) SHA1(c68edf95743e146398aabf6b9617d18e1f9bf25b) ) ROM_END /* Golden Star (blue version) This is the blue PCB version. EPROMs are marked with colored stickers. The red and yellow EPROMs are for graphics. The red is identical to the one found in normal golden star, while yellow match only 90% (probably the logo) The blue one match the golden star ROM 1 and contains ADCPM audio. */ ROM_START( goldstbl ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "gsb-cpu.bin", 0x0000, 0x10000, CRC(82b238c3) SHA1(1306e700e213f423bdd79b182aa11335796f7f38) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "gs2.bin", 0x00000, 0x20000, CRC(a2d5b898) SHA1(84cca22c91628cfefb67013652b151f034a06159) ) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "gsb-spr.bin", 0x00000, 0x08000, CRC(52ecd4c7) SHA1(7ef013020521a0c19ecd67db1c00047e78a3c736) ) ROM_REGION( 0x40000, "oki", 0 ) /* Audio ADPCM */ ROM_LOAD( "gs1-snd.bin", 0x0000, 0x20000, CRC(9d58960f) SHA1(c68edf95743e146398aabf6b9617d18e1f9bf25b) ) ROM_END /* Star 100, by Sang Ho. PCB SANGHO PM-003 (VER-B2). Different hardware, but seems to be close to GoldStar. Also different memory map. 27C020 socket for OKI samples is unpopulated. */ ROM_START( star100 ) ROM_REGION( 0x80000, "maincpu", 0 ) ROM_LOAD( "str-100_051212__27c512.1e", 0x00000, 0x10000, CRC(6c73ae4e) SHA1(8476b77a190a653b2a47682072bc9b4db594c02e) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "str_l3__flash29c011a-15.3l", 0x00000, 0x20000, CRC(89bf5935) SHA1(f8af107e21a9157ea5056eedbda36a1b99c5df5b) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "str_m3__flash29c011a-15.3m", 0x00000, 0x20000, CRC(fff9ea0e) SHA1(6125c99e684ac639a0f85cbb00c26131a23324aa) ) ROM_REGION( 0x40000, "oki", 0 ) /* Audio ADPCM */ ROM_LOAD( "27c020.bin", 0x0000, 0x20000, NO_DUMP ) ROM_END /* Crazy Bonus, by Sang Ho. PCB SANGHO PM-001 SW-008. Close to star100 hardware, but with 5x DSW banks. 27C020 socket place for OKI samples is blind. This dump is not from the original Sang Ho board, it's from a Poker Master stealth conversion kit Plug-in daughterboard dated 1997 This set displays Crazy Co. copyright */ ROM_START( crazybon ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "crazy_14_030418.bin", 0x00000, 0x10000, CRC(0071fb2a) SHA1(771b9b2b9fdf11dafc5ec0dbababc181d2ce4c75) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "crazy_h3.bin", 0x00000, 0x20000, CRC(6b3692b5) SHA1(ffdcd4e59d7c009fd76a65e8f87642da35f996f4) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "crazy_j3.bin", 0x00000, 0x20000, CRC(e375cd4b) SHA1(68888126ff9743cd589f3426205231bc3a896588) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASE00 ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) BAD_DUMP ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) BAD_DUMP ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) BAD_DUMP ) ROM_END ROM_START( crazybona ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c512_main.bin", 0x00000, 0x10000, CRC(61a5585d) SHA1(5fdcf80f62ed21c9e903da64cf67ed39ec55b8b9) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "crazy_h3.bin", 0x00000, 0x20000, CRC(6b3692b5) SHA1(ffdcd4e59d7c009fd76a65e8f87642da35f996f4) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "crazy_j3.bin", 0x00000, 0x20000, CRC(e375cd4b) SHA1(68888126ff9743cd589f3426205231bc3a896588) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASE00 ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) BAD_DUMP ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) BAD_DUMP ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) BAD_DUMP ) ROM_END /* Cherry Gold (Cherry 10) Anno 1997 Produttore N.revisione W4BON (rev.1) CPU 1x TMPZ84C00AP-6 (u12)(main) 2x D8255AC-2 (u45,u46) 1x D71055C (u40) 1x WF19054 (u39)(equivalent to AY-3-8910) 1x SN76489AN (u38) 1x PIC16F84 (on a small daughterboard)(read protected) 1x oscillator 12.000 ROMs 1x TMS27C256 (u3) 1x TMS27C010 (u1) 1x PROM N82S147AN (u2) 1x M27C512 (u20) 2x PALCE20V8H (pl1,pl2)(read protected) 1x ispLSI1024-60LJ (pl3)(read protected) 3x PALCE16V8H (pl4,pl6,pl7)(read protected) 1x GAL22V10B (pl5)(read protected) Note 1x 36x2 edge connector 1x 10x2 edge connector 2x trimmer (volume) 5x 8x2 switches dip (sw1-5) 1x push lever (TS) */ ROM_START( chry10 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ver.1h2.u20", 0x0000, 0x10000, CRC(85bbde06) SHA1(f44d335feb4697b195e9fc7e5aeaabf099e21ed8) ) ROM_REGION( 0x10000, "pic", 0 ) ROM_LOAD( "pic16f84.bad.dump", 0x00000, 0x014f4, BAD_DUMP CRC(876ff1ed) SHA1(fcd6892e2b8371030af15e4d8c9f4a351ce0551c) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "27c010.u1", 0x00000, 0x20000, CRC(05515cf8) SHA1(366dd44ae93bdc4cf456f97f38edac83441cbc89) ) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "1.u3", 0x00000, 0x08000, CRC(32b46e5c) SHA1(49e59589188324e15ec2b8157839423faea9833f) ) ROM_REGION( 0x0200, "proms", 0 ) ROM_LOAD( "82s147.u2", 0x00000, 0x0200, CRC(5c8f2b8f) SHA1(67d2121e75813dd85d83858c5fc5ec6ad9cc2a7d) ) ROM_REGION( 0x02e5, "palgal", 0 ) ROM_LOAD( "palce20v8h.pl1", 0x00000, 0x0157, NO_DUMP ) ROM_LOAD( "palce20v8h.pl2", 0x00000, 0x0157, NO_DUMP ) ROM_LOAD( "palce16v8h.pl4", 0x00000, 0x0117, NO_DUMP ) ROM_LOAD( "gal22v10b.pl5", 0x00000, 0x02e5, NO_DUMP ) ROM_LOAD( "palce16v8h.pl6", 0x00000, 0x0117, NO_DUMP ) ROM_LOAD( "palce16v8h.pl7", 0x00000, 0x0117, NO_DUMP ) ROM_END /* Cherry I Gold Anno 1998 Produttore N.revisione W4BON (rev.1) CPU 1x TMPZ84C00AP-6 (u12)(main) 2x D8255AC-2 (u45,u46) (missing) 1x D71055C (u40) (missing) 1x YM2149 (u39) 1x SN76489AN (u38) 1x oscillator 12.0C45 ROMs 1x I27256 (u3) 1x I27C010 (u1) 1x PROM N82S147AN (u2) 1x M27C512 (u20) 1x GAL20V8 (pl1)(read protected) 1x PALCE20V8H (pl2)(read protected) 1x ispLSI1024-60LJ (pl3)(read protected) 3x PALCE16V8H (pl4,pl6,pl7)(read protected) 1x PEEL22CV10 (pl5)(read protected) Note 1x 36x2 edge connector 1x 10x2 edge connector 2x trimmer (volume) 5x 8x2 switches dip (sw1-5) 1x push lever (TS) */ ROM_START( chrygld ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ol-v9.u20", 0x00000, 0x10000, CRC(b61c0695) SHA1(63c44b20fd7f76bdb33331273d2610e8cfd31add) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "ol-la.u1", 0x00000, 0x20000, CRC(c3c912f1) SHA1(a2131f092ae1971f79a11d6a18b031cd98529320) ) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "1.u3", 0x00000, 0x08000, CRC(32b46e5c) SHA1(49e59589188324e15ec2b8157839423faea9833f) ) ROM_REGION( 0x0200, "proms", 0 ) ROM_LOAD( "82s147.u2", 0x00000, 0x0200, CRC(5c8f2b8f) SHA1(67d2121e75813dd85d83858c5fc5ec6ad9cc2a7d) ) ROM_REGION( 0x02dd, "palgal", 0 ) ROM_LOAD( "gal20v8.pl1", 0x00000, 0x0157, NO_DUMP ) ROM_LOAD( "palce20v8h.pl2", 0x00000, 0x0157, NO_DUMP ) ROM_LOAD( "palce16v8h.pl4", 0x00000, 0x0117, NO_DUMP ) ROM_LOAD( "peel22cv10a.pl5", 0x00000, 0x02dd, NO_DUMP ) ROM_LOAD( "palce16v8h.pl6", 0x00000, 0x0117, NO_DUMP ) ROM_LOAD( "palce16v8h.pl7", 0x00000, 0x0117, NO_DUMP ) ROM_END /* Moon Light (V.0629) Rip off / clone of Gold Star. The program ROM is double size and stores two different programs. Whilst we have not idea about the real addressing, we can support both sets separately. */ ROM_START( moonlght ) ROM_REGION( 0x20000, "maincpu", 0 ) // using only the first half of the program ROM. ROM_LOAD( "4.bin", 0x0000, 0x20000, CRC(ecb06cfb) SHA1(e32613cac5583a0fecf04fca98796b91698e530c) ) // low program, normal gfx ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "28.bin", 0x00000, 0x20000, CRC(76915c0f) SHA1(3f6d1c0dd3d9bf29538181a0e930291b822dad8c) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "29.bin", 0x00000, 0x20000, CRC(8a5f274d) SHA1(0f2ad61b00e220fc509c01c11c1a8f4e47b54f2a) ) ROM_REGION( 0x40000, "oki", 0 ) /* Audio ADPCM */ ROM_LOAD( "gs1-snd.bin", 0x0000, 0x20000, CRC(9d58960f) SHA1(c68edf95743e146398aabf6b9617d18e1f9bf25b) ) ROM_END ROM_START( moonlghta ) ROM_REGION( 0x20000, "maincpu", 0 ) // using only the second half of the program ROM. ROM_LOAD( "4.bin", 0x10000, 0x10000, CRC(ecb06cfb) SHA1(e32613cac5583a0fecf04fca98796b91698e530c) ) // high program, normal gfx ROM_CONTINUE( 0x00000, 0x10000) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "28.bin", 0x00000, 0x20000, CRC(76915c0f) SHA1(3f6d1c0dd3d9bf29538181a0e930291b822dad8c) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "29.bin", 0x00000, 0x20000, CRC(8a5f274d) SHA1(0f2ad61b00e220fc509c01c11c1a8f4e47b54f2a) ) ROM_REGION( 0x40000, "oki", 0 ) /* Audio ADPCM */ ROM_LOAD( "gs1-snd.bin", 0x0000, 0x20000, CRC(9d58960f) SHA1(c68edf95743e146398aabf6b9617d18e1f9bf25b) ) ROM_END /* Moon Light (V.02L0A) Rip off / clone of Gold Star. The program ROM is double size and stores two different programs. Whilst we have not idea about the real addressing, we can support both sets separately. GFX devices are 4 times bigger and contains 4 times the same data. Maybe the manufacturers run out of proper devices... The background is not set properly due to a palette error. The program ROM stores the palette at offset 0xC700 onwards... The value stored at 0xC780 (color 0x80) should be black to mask the reels tilemaps and turn them 'invisible'. This program has a value of 0x40 instead, turning the tilemaps blue and therefore visible. The results is an odd effect that shouldn't be there. Maybe is product of a bad dump. Need to be checked with the real board. The hardware currently uses only the second half of the program ROM (high program), that replaces the double-up's cards graphics with 'drakkars' (scandinavian / viking ships). ---------------------------------------------------------------------------------------- 28.bin FIXED BITS (00xxxxxx) 29.bin 00xxxxxxxxxxxxxxx = 0xFF moon-gfx1.bin BADADDR --xxxxxxxxxxxxxxxxx moon-gfx2.bin FIXED BITS (00xxxxxx) moon-gfx2.bin BADADDR --xxxxxxxxxxxxxxxxx 29.bin moon-gfx1.bin [1/4] IDENTICAL 29.bin moon-gfx1.bin [2/4] IDENTICAL 29.bin moon-gfx1.bin [3/4] IDENTICAL 29.bin moon-gfx1.bin [4/4] IDENTICAL 4.bin [1/4] moon-main.bin [1/4] 99.615479% 4.bin [3/4] moon-main.bin [3/4] 99.426270% 4.bin [2/4] moon-main.bin [2/4] 97.201538% 4.bin [4/4] moon-main.bin [4/4] 95.953369% 28.bin moon-gfx2.bin [1/4] 94.188690% 28.bin moon-gfx2.bin [2/4] 94.188690% 28.bin moon-gfx2.bin [3/4] 94.188690% 28.bin moon-gfx2.bin [4/4] 94.188690% */ ROM_START( moonlghtb ) ROM_REGION( 0x20000, "maincpu", 0 ) // using only the first half of the program ROM. ROM_LOAD( "moon-main.bin", 0x00000, 0x20000, CRC(0a4b5dd0) SHA1(825801e9b72c10fed8e07f42b3b475688bdbd878) ) // low program, normal gfx ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "28.bin", 0x00000, 0x20000, CRC(76915c0f) SHA1(3f6d1c0dd3d9bf29538181a0e930291b822dad8c) ) // Normal GFX, from the other PCB ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "29.bin", 0x00000, 0x20000, CRC(8a5f274d) SHA1(0f2ad61b00e220fc509c01c11c1a8f4e47b54f2a) ) // Normal GFX, from the other PCB ROM_REGION( 0x40000, "oki", 0 ) /* Audio ADPCM */ ROM_LOAD( "moon-sound.bin", 0x0000, 0x20000, CRC(9d58960f) SHA1(c68edf95743e146398aabf6b9617d18e1f9bf25b) ) ROM_END ROM_START( moonlghtc ) ROM_REGION( 0x20000, "maincpu", 0 ) // using only the second half of the program ROM. ROM_LOAD( "moon-main.bin", 0x10000, 0x10000, CRC(0a4b5dd0) SHA1(825801e9b72c10fed8e07f42b3b475688bdbd878) ) // high program, alt gfx ROM_CONTINUE( 0x00000, 0x10000) ROM_REGION( 0x80000, "gfx1", 0 ) ROM_LOAD( "moon-gfx2.bin", 0x00000, 0x80000, CRC(2ce5b722) SHA1(feb87fbf3b8d875842df80cd1edfef5071ed60c7) ) // Alt GFX set. Ships instead of cards ROM_REGION( 0x80000, "gfx2", 0 ) ROM_LOAD( "moon-gfx1.bin", 0x00000, 0x80000, CRC(ea7d4234) SHA1(4016227aabf176c6e0fd822ebc59cade811f4ce8) ) // Alt GFX set. Ships instead of cards ROM_REGION( 0x40000, "oki", 0 ) /* Audio ADPCM */ ROM_LOAD( "moon-sound.bin", 0x0000, 0x20000, CRC(9d58960f) SHA1(c68edf95743e146398aabf6b9617d18e1f9bf25b) ) ROM_END /* Gold Fruit Graphics are packed/encoded in a different way. Game rate is fixed in 40%. Coin A and B are fixed to 100 credits by pulse. */ ROM_START( goldfrui ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c1000.u6", 0x0000, 0x10000, CRC(84b982fc) SHA1(39f401da52a9df799f3fe6bbeb7cad493911b831) ) ROM_CONTINUE( 0x0000, 0x10000) /* Discarding 1st half 0xff filled */ ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "27c1000.u24", 0x00000, 0x20000, CRC(9642c9c2) SHA1(10fdced265ef4a9a5494d8df0432337df4ecec7f) ) //FIXED BITS (00xxxxxx) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "27c1000.u25", 0x00000, 0x08000, CRC(5ce73db6) SHA1(e93948f6a44831583e0779da3158d7b5e33bcca7) ) ROM_CONTINUE( 0x0000, 0x08000) /* Discarding 1st quarter 0xff filled */ ROM_CONTINUE( 0x0000, 0x08000) /* Discarding 2nd quarter 0xff filled */ ROM_CONTINUE( 0x0000, 0x08000) /* Discarding 3rd quarter 0xff filled */ ROM_REGION( 0x40000, "oki", 0 ) // Audio ADPCM ROM_LOAD( "27c1000.u57", 0x0000, 0x20000, CRC(9d58960f) SHA1(c68edf95743e146398aabf6b9617d18e1f9bf25b) ) ROM_END /* Super Nove by Playmark bp 2db the next call ($0C33) hangs the game since there are ascii strings there instead of code. */ ROM_START( super9 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27e010.30", 0x0000, 0x10000, CRC(1aaea8d3) SHA1(71395a6d74a7cd55606daa57d17ff4628aa5f577) ) ROM_IGNORE( 0x10000) /* Discarding 2nd half */ // ROM_LOAD( "27e010.30", 0x0000, 0x10000, CRC(1aaea8d3) SHA1(71395a6d74a7cd55606daa57d17ff4628aa5f577) ) // ROM_CONTINUE( 0x0000, 0x10000) /* Discarding 1st half */ ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "nearcpu.bin", 0x00000, 0x20000, CRC(643cff6f) SHA1(305ca9182c3f6d69e09be38b854b3d7bdfa75439) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "27e010.29", 0x00000, 0x08000, CRC(5ea46322) SHA1(147078689f0194affcdcf0e8f8e17fe8a113a377) ) ROM_CONTINUE( 0x0000, 0x08000) // Discarding 1nd quarter 0xff filled ROM_CONTINUE( 0x0000, 0x08000) // Discarding 2nd quarter 0xff filled ROM_CONTINUE( 0x0000, 0x08000) // Discarding 3nd quarter 0xff filled ROM_REGION( 0x40000, "oki", 0 ) /* Audio ADPCM */ ROM_LOAD( "27c1001.27", 0x0000, 0x20000, CRC(9d58960f) SHA1(c68edf95743e146398aabf6b9617d18e1f9bf25b) ) ROM_END ROM_START( ncb3 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8.512", 0x00000, 0x10000, CRC(1f669cd0) SHA1(fd394119e33c017507fde87a710577e37dcdec07) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "2.256", 0x00000, 0x08000, CRC(83650a94) SHA1(e79420ab559d3f74013708767ca3f238fd333fb7) ) ROM_LOAD( "3.256", 0x08000, 0x08000, CRC(2f46a3f5) SHA1(3e6022ee8f84039e48f41aea5e68ee28aabdc556) ) //ROM_LOAD( "4.256", 0x10000, 0x08000, BAD_DUMP CRC(a390f1f2) SHA1(0a04a5af51f91f04773125f703c7cd3397d192f2) ) // FIXED BITS (xxxx1xxx) - use main_7.256 from set below instead? ROM_LOAD( "main_7.256", 0x10000, 0x08000, CRC(dcf97517) SHA1(0a29696e0464c8878c499b1786a17080fd088a72) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "7.764", 0x00000, 0x02000, CRC(7cc6d26b) SHA1(de33e8985affce7bd3ead89463117c9aaa93d5e4) ) ROM_LOAD( "6.764", 0x02000, 0x02000, CRC(e73ea4e3) SHA1(c9fd56461f6986d6bc170403d298fcc408a524e9) ) ROM_LOAD( "5.764", 0x04000, 0x02000, CRC(91162010) SHA1(3acc21e7074602b247f2f392eb181802092d2f21) ) ROM_LOAD( "1.764", 0x06000, 0x02000, CRC(cbcc6bfb) SHA1(5bafc934fef1f50d8c182c39d3a7ce795c89d175) ) ROM_REGION( 0x0200, "proms", 0 ) /* PROM from chrygld. need verification */ ROM_LOAD( "82s147.u2", 0x00000, 0x0200, BAD_DUMP CRC(5c8f2b8f) SHA1(67d2121e75813dd85d83858c5fc5ec6ad9cc2a7d) ) ROM_END /* mame -romident cb3.zip cpu_u6.512 NO MATCH main_3.764 = 5.764 New Cherry Bonus 3 main_4.764 = 1.764 New Cherry Bonus 3 main_5.256 = 2.256 New Cherry Bonus 3 main_6.256 = 3.256 New Cherry Bonus 3 main_7.256 NO MATCH */ ROM_START( cb3 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cpu_u6.512", 0x00000, 0x10000, CRC(d17c936b) SHA1(bf90edd214118116da675bcfca41247d5891ac90) ) // encrypted?? ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "main_5.256", 0x00000, 0x08000, CRC(83650a94) SHA1(e79420ab559d3f74013708767ca3f238fd333fb7) ) ROM_LOAD( "main_6.256", 0x08000, 0x08000, CRC(2f46a3f5) SHA1(3e6022ee8f84039e48f41aea5e68ee28aabdc556) ) ROM_LOAD( "main_7.256", 0x10000, 0x08000, CRC(dcf97517) SHA1(0a29696e0464c8878c499b1786a17080fd088a72) ) ROM_REGION( 0x8000, "gfx2", 0 ) /* 2 roms missing - the first 2 roms below taken from above set */ ROM_LOAD( "7.764", 0x00000, 0x02000, CRC(7cc6d26b) SHA1(de33e8985affce7bd3ead89463117c9aaa93d5e4) ) ROM_LOAD( "6.764", 0x02000, 0x02000, CRC(e73ea4e3) SHA1(c9fd56461f6986d6bc170403d298fcc408a524e9) ) ROM_LOAD( "main_3.764", 0x04000, 0x02000, CRC(91162010) SHA1(3acc21e7074602b247f2f392eb181802092d2f21) ) ROM_LOAD( "main_4.764", 0x06000, 0x02000, CRC(cbcc6bfb) SHA1(5bafc934fef1f50d8c182c39d3a7ce795c89d175) ) ROM_REGION( 0x0200, "proms", 0 ) /* PROM from chrygld. need verification */ ROM_LOAD( "82s147.u2", 0x00000, 0x0200, BAD_DUMP CRC(5c8f2b8f) SHA1(67d2121e75813dd85d83858c5fc5ec6ad9cc2a7d) ) ROM_END /* CB3A Known differences with ncb3: - Double-Up rate: 50% and 80% instead of 80% and 90%. */ ROM_START( cb3a ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cb3a01.bin", 0x00000, 0x10000, CRC(53b099ab) SHA1(612d86d7f011a554903400e60e2c4a0d4f24e095) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "2.256", 0x00000, 0x08000, CRC(83650a94) SHA1(e79420ab559d3f74013708767ca3f238fd333fb7) ) ROM_LOAD( "3.256", 0x08000, 0x08000, CRC(2f46a3f5) SHA1(3e6022ee8f84039e48f41aea5e68ee28aabdc556) ) ROM_LOAD( "main_7.256", 0x10000, 0x08000, CRC(dcf97517) SHA1(0a29696e0464c8878c499b1786a17080fd088a72) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "7.764", 0x00000, 0x02000, CRC(7cc6d26b) SHA1(de33e8985affce7bd3ead89463117c9aaa93d5e4) ) ROM_LOAD( "6.764", 0x02000, 0x02000, CRC(e73ea4e3) SHA1(c9fd56461f6986d6bc170403d298fcc408a524e9) ) ROM_LOAD( "5.764", 0x04000, 0x02000, CRC(91162010) SHA1(3acc21e7074602b247f2f392eb181802092d2f21) ) ROM_LOAD( "1.764", 0x06000, 0x02000, CRC(cbcc6bfb) SHA1(5bafc934fef1f50d8c182c39d3a7ce795c89d175) ) ROM_REGION( 0x0200, "proms", 0 ) /* PROM from chrygld. need verification */ ROM_LOAD( "82s147.u2", 0x00000, 0x0200, BAD_DUMP CRC(5c8f2b8f) SHA1(67d2121e75813dd85d83858c5fc5ec6ad9cc2a7d) ) ROM_END ROM_START( cb3b ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "adatabin.bin", 0x00000, 0x10000, CRC(db583c1b) SHA1(ea733e625922d6064ee4d8ceee4acfa6c1c7337e) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "adatabin_2.bin", 0x00000, 0x10000, CRC(48fd96fb) SHA1(193ed2be51555af80a9f0478139f28963e9d0c5e) ) ROM_LOAD( "adatabin_3.bin", 0x10000, 0x10000, CRC(010462df) SHA1(53dd3060097f964c516d1cc5be2403a9bd5ee434) ) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "adatabin_4.bin", 0x00000, 0x08000, CRC(3cb4642a) SHA1(8db03c0227836d988e99f6fe4719d871ea3749ca) ) ROM_REGION( 0x0200, "proms", 0 ) /* PROM from chrygld - wasn't in this set, is it correct?, none of the other proms have the colours? */ ROM_LOAD( "82s147.u2", 0x00000, 0x0200, BAD_DUMP CRC(5c8f2b8f) SHA1(67d2121e75813dd85d83858c5fc5ec6ad9cc2a7d) ) ROM_REGION( 0x0200, "proms2", 0 ) /* other roms */ ROM_LOAD( "adatabin_1.bin", 0x00000, 0x020, CRC(87dbc339) SHA1(e5c67bc29612c8ab93857639e46608a814d471f5) ) ROM_LOAD( "adatabin_5.bin", 0x00000, 0x180, CRC(ad267b0c) SHA1(a4cfec15ae0cde7d4fb8c278e977995680779058) ) ROM_LOAD( "adatabin_6.bin", 0x00000, 0x010, CRC(f3d9ed7a) SHA1(594fef6323530f68c7303dcdea77b44c331e5113) ) ROM_LOAD( "adatabin_0.bin", 0x00000, 0x100, CRC(f566e5e0) SHA1(754f04521b9eb73b34fe3de07e8f3679d1034870) ) ROM_END ROM_START( cb3c ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c512.bin", 0x00000, 0x10000, CRC(c42533cd) SHA1(d55b54b31c910d97418f400fc1ba78460c7183a9) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "cbt1grk.bin", 0x00000, 0x20000, BAD_DUMP CRC(c6fdebc7) SHA1(736bbe5ae7b148e529f7cb80e9ae8903203c7869) ) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "rbt1grb.bin", 0x00000, 0x8000, CRC(ed635dd7) SHA1(350a4b10ccfddcd6f3aaf748c15d585f0b9dc09b) ) ROM_REGION( 0x0200, "proms", 0 ) // wasn't in this set.. ROM_LOAD( "82s147.u2", 0x00000, 0x0200, CRC(5c8f2b8f) SHA1(67d2121e75813dd85d83858c5fc5ec6ad9cc2a7d) ) ROM_END // set marked 'pignapoke' ROM_START( cb3d ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "0.14b", 0x00000, 0x10000, CRC(4f8be0f9) SHA1(0201bf0c1dca1570d2ccc862f10a19e0e261f7ab) ) ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "5.7h", 0x00000, 0x10000, CRC(50701ce1) SHA1(3af3f124e28fda2bb3ba4f2c78fcd21c725d7ebc) ) ROM_LOAD( "6.9h", 0x10000, 0x10000, CRC(baf1c9a2) SHA1(f75a64fa64d102a0e75919c76db638f6c34ecc9e) ) ROM_LOAD( "7.10h",0x20000, 0x10000, CRC(87c944c4) SHA1(754b410dbcef07967f7cfdc3923df20394909e49) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.1h", 0x00000, 0x02000, CRC(7cc6d26b) SHA1(de33e8985affce7bd3ead89463117c9aaa93d5e4) ) ROM_LOAD( "2.3h", 0x02000, 0x02000, CRC(e73ea4e3) SHA1(c9fd56461f6986d6bc170403d298fcc408a524e9) ) ROM_LOAD( "3.4h", 0x04000, 0x02000, CRC(91162010) SHA1(3acc21e7074602b247f2f392eb181802092d2f21) ) ROM_LOAD( "4.5h", 0x06000, 0x02000, CRC(cbcc6bfb) SHA1(5bafc934fef1f50d8c182c39d3a7ce795c89d175) ) ROM_REGION( 0x0200, "proms", 0 ) ROM_LOAD_NIB_LOW( "n82s129.13g", 0x0000, 0x0100, CRC(59ac98e4) SHA1(5fc0f1a48c49c956cdb8826e20663dc57a9175e4) ) // 1st bank colors, low 4 bits. ROM_LOAD_NIB_HIGH( "n82s129.14g", 0x0000, 0x0100, CRC(0d8f35bd) SHA1(0c2a0145cdaaf9beabdce241731a36b0c65f18a2) ) // 1st bank colors, high 4 bits. ROM_LOAD( "dm74s288.13d", 0x0080, 0x0020, CRC(77a85e21) SHA1(3b41e0ab7cc55c5d78914d23e8289383f5bd5654) ) // 2nd bank colors ROM_END /* 1x Z80. 3x 8255 (2 have no mark). 1x Ay-3-8910. 5x 8 DIP switches. 1x 12 MHz xtal. ROM 3v202 is the prg. */ ROM_START( cb3e ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "3v202.u22", 0x00000, 0x10000, CRC(f127d203) SHA1(d23b9e5972e797e7c18e9e8e2e70c01f381a4c4d) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "2.u6", 0x00000, 0x20000, CRC(e3be1d33) SHA1(5cc3b5d6e371e8bb414b552c68770666e3914ae4) ) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "1.u3", 0x00000, 0x08000, CRC(919bd692) SHA1(1aeb66f1e4555b731858833445000593e613f74d) ) ROM_REGION( 0x0200, "proms", 0 ) ROM_LOAD( "82s147.u1", 0x00000, 0x0100, CRC(d4eaa276) SHA1(b6598ee64ac3d41ca979c8667de8576cfb304451) ) ROM_CONTINUE( 0x00000, 0x0100) // 2nd half has the data. ROM_END /* Cherry Gold I (bootleg) It runs in CB3e similar hardware... 1x TMPZ84C00AP-6 u15 8-bit Microprocessor 3x D71055C u30, u39, u40 Programmable Peripheral Interface 1x WF19054 u27 Programmable Sound Generator 1x SN76489AN u28 Digital Complex Sound Generator 1x oscillator unmarked Y1 ROMs 1x D27256 1.u3 1x AM27512 3.u22 1x D27C010 2u6 1x N82S147AF u1 RAMs 4x HM6116LP-4 u9, u10, u11, u12 1x D4016C-1 u23 PLDs 1x unknowun Cl-001 (QFP144) CY144A read protected 4x GAL20V8A-15LNC pl1, pl4, pl5, pl6 read protected 2x PALCE20V8H-25PC/4 u2,u? read protected 1x PALCE22V10H-25PC/4 u? read protected Others 1x 36x2 edge connector 1x 10x2 edge connector 1x pushbutton (TS) 2x trimmer (volume)(VR1,VR2) 5x 8x2 switches DIP(SW1-5) 1x battery 5,5V Notes PCB is marked "REV.3" */ ROM_START( chryglda ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "3.u22", 0x00000, 0x10000, CRC(059857c5) SHA1(f4becfda1e25ab347f55f35dc9f5818ef9344e2c) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "2.u6", 0x00000, 0x20000, CRC(1359dfac) SHA1(78eb934055cda9e10d8e939c79bfa62262ecad7d) ) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "1.u3", 0x00000, 0x08000, CRC(919bd692) SHA1(1aeb66f1e4555b731858833445000593e613f74d) ) ROM_REGION( 0x0200, "proms", 0 ) ROM_LOAD( "n82s147af.u1", 0x00000, 0x0100, CRC(d4eaa276) SHA1(b6598ee64ac3d41ca979c8667de8576cfb304451) ) ROM_CONTINUE( 0x00000, 0x0100) // 2nd half has the data. ROM_END ROM_START( cmv801 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "prg512", 0x0000, 0x10000, CRC(2f6e3fe9) SHA1(c5ffa51478a0dc2d8ff6a0f286cfb461011bb55d) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "m5.256", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "m6.256", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "m7.256", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "m3.64", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "m4.64", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "m1.64", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "m2.64", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "27512.u53", 0x0000, 0x10000, BAD_DUMP CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) // taken from other set, was missing in this dump ROM_REGION( 0x200, "proms", 0 ) // pal ROM_LOAD( "prom2.287", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "prom3.287", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) // something else? ROM_LOAD( "prom1.287", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* Super Seven - 199? (>= 1995 since it cites an Italian law from 1995) Bootleg /licensed version of Cherry Master (Dyna CM-1 V1.01 at 0xd000 of the program ROM). PCB with a New Impeuropex sticker - Main cpu is a Z80B (Z8400B) clocked @3MHz (derived by a 12MHZ quartz) - Sound is generated by a AY-3-8910 clocked @1.5MHz (derived by the same 12MHZ quartz) - One 27C512 for storing program code - Two 27C010 for storing GFX data - One 82S191AN BPROM - One 82S137AN - Five PLDs (two PALCE16V8 and three GAL20V8) - One 3.6V lithium battery probably for storing high-scores */ ROM_START( super7 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c512_1", 0x00000, 0x10000, CRC(ddfa6fe7) SHA1(0d86ec5029afd565e039fe84f7001b2dc77c919c) ) // first 0x8000 encrypted ROM_REGION( 0x20000, "gfx1", 0 ) // very similar to most cmv4 sets, but differently arranged ROM_LOAD( "27c010_2", 0x00000, 0x20000, CRC(9636d785) SHA1(8f851aae0b05ad909c48cf94142ab927145da464) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "27c010_3", 0x00000, 0x20000, CRC(a6db1162) SHA1(05019166526b0797e3eca8b72d90c325573b3d74) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // no girls ROM ROM_REGION( 0x800, "proms", 0 ) // RGB generation ROM_LOAD( "82s191an.bin", 0x000, 0x800, CRC(ec546abe) SHA1(1bd92c0715ec1821fa977a67499dc8971deec9c7) ) ROM_REGION( 0x400, "proms2", 0 ) ROM_LOAD( "82s137an.bin", 0x000, 0x400, CRC(92975789) SHA1(4a85d169db5e298ee201fe7d4b9964b1df16992e) ) ROM_REGION( 0xa00, "plds", 0 ) ROM_LOAD( "palce16v8.bin", 0x000, 0x114, NO_DUMP ) ROM_LOAD( "palce16v8.bin", 0x000, 0x114, NO_DUMP ) ROM_LOAD( "gal20v8.bin", 0x000, 0x114, NO_DUMP ) ROM_LOAD( "gal20v8.bin", 0x000, 0x114, NO_DUMP ) ROM_LOAD( "gal20v8.bin", 0x000, 0x114, NO_DUMP ) ROM_END ROM_START( chthree ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "1.u40", 0x0000, 0x8000, CRC(3d677758) SHA1(d2d13e54d3b55460a05b0ca42e12d8a6d72954ba) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x8000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "7.u46", 0x00000, 0x8000, CRC(65e2e9e9) SHA1(3085aec35ac6d232fcf9be847ab4fcde586dd4f5) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x8000) ROM_LOAD( "8.u47", 0x08000, 0x8000, CRC(0ec483a9) SHA1(55913f830ee310c2326f50af4527aeb63649e68d) ) // 0xxxxxxxxxxxxxxx = 0xFF ROM_CONTINUE( 0x08000, 0x8000) ROM_LOAD( "9.u48", 0x10000, 0x8000, CRC(39f528f7) SHA1(29d31783afdb256cd9454c87170591d3f9c53665) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x8000) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "3.u49", 0x0000, 0x2000, CRC(b541cbc0) SHA1(ab8666c06a71fa8364c71d14715ddf9e222064cd) ) ROM_LOAD( "4.u50", 0x2000, 0x2000, CRC(95ecd2aa) SHA1(73452c77dd83f96038d197bad5e37f0b3d9de561) ) ROM_LOAD( "5.u51", 0x4000, 0x2000, CRC(a99c87ba) SHA1(4d74ded22da25e093b09d0a4abfbd3e1eabd816c) ) ROM_LOAD( "6.u52", 0x6000, 0x2000, CRC(5b19025d) SHA1(8e861ed8249811fdf50de8ca9c44fe1176a7e340) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "2.u53", 0x0000, 0x10000, CRC(4124228a) SHA1(d1a6c98cac20ae49daaaa165ac9ccfaca14323b1) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u23", 0x0000, 0x0100, CRC(fdb15bef) SHA1(68c6539f5c9136e5f822dce86fcf3335e8c3874d) ) ROM_LOAD( "82s129.u35", 0x0100, 0x0100, CRC(fd90f7e6) SHA1(6bfa15ab2db8667e28277c9a5cd80ad3d5a0ea4d) ) ROM_REGION( 0x200, "proms2", 0 ) ROM_LOAD( "82s129.u24", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_REGION( 0x800, "plds", 0 ) // PALs dumps from a 27c020 adapter are available, need checking / conversion ROM_LOAD( "16l8_u18.bin", 0x0000, 0x117, NO_DUMP ) ROM_LOAD( "16l8_u31.bin", 0x0200, 0x117, NO_DUMP ) ROM_LOAD( "16l8_u32.bin", 0x0400, 0x117, NO_DUMP ) ROM_LOAD( "16l8_u30.bin", 0x0600, 0x117, NO_DUMP ) ROM_END /* 2764.u10 m4.64 IDENTICAL 27256.u11 m6.256 IDENTICAL 2764.u14 m1.64 IDENTICAL 2764.u15 m3.64 IDENTICAL 27256.u16 m5.256 IDENTICAL 27256.u4 m7.256 IDENTICAL 82s129.u46 prom1.287 IDENTICAL 82s129.u70 prom3.287 IDENTICAL 82s129.u84 prom2.287 IDENTICAL 2764.u9 m2.64 IDENTICAL 27512.u53 prg512 4.640198% 27256.u81 NO MATCH PCB Layout ---------- |-----| |------| |---------------------------| | |--| |--| ROM.U4 | | ROM.U11 ROM.U10 ROM.U9 | |_ DSW5(8) ROM.U16 ROM.U15 ROM.U14| | WF19054 DSW4(8) | _| DSW3(8) 6116 | | DSW2(8) 6116 6116 | | DSW1(8) | | ?DIP40 6116 | | | | PROM.U46 12MHz| | | | 8255 PAL | | ROM.U53 | | | | | | PAL | |BATTERY PROM.U70 PAL PAL | |_ PROM.U84 6116 ROM.U81 Z80 | |--------------------------------------------| Notes: Z80 @ 3.0MHz [12/4] WF19054 = AY-3-8910 @ 1.5MHz [12/8] ?DIP40 - Maybe another 8255 or HD6845 or something else? */ ROM_START( cmv4 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27256.u81", 0x0000, 0x1000, CRC(e27e98a3) SHA1(1eb03f6c770f25ff5e3c25a1f9b9294c6b3c61d9) ) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "27256.u16", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "27256.u11", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "27256.u4", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "2764.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "2764.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "2764.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "2764.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) // girl bitmaps ROM_LOAD( "27512.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* cmv4 vs. fruit2 12 and 12 files 82s129.u46 FIXED BITS (0000x0xx) 82s129.u46 BADADDR xxxxxxx- 82s129.u70 FIXED BITS (0000xxxx) 82s129.u84 FIXED BITS (0000xxxx) HOLD8_PR1.U46 FIXED BITS (0000x0xx) HOLD8_PR1.U46 BADADDR xxxxxxx- HOLD8_PR2.U84 FIXED BITS (0000xxxx) HOLD8_PR3.U79 FIXED BITS (0000xxxx) TETRIS_5.U4 1ST AND 2ND HALF IDENTICAL TETRIS_6.U11 1ST AND 2ND HALF IDENTICAL TETRIS_7.U16 1ST AND 2ND HALF IDENTICAL 2764.u10 HOLDX8_3.U10 IDENTICAL 2764.u14 HOLDX8_2.U14 IDENTICAL 2764.u15 HOLDX8_4.U15 IDENTICAL 82s129.u46 HOLD8_PR1.U46 IDENTICAL 27512.u53 HOLDX8_8.U53 IDENTICAL 82s129.u70 HOLD8_PR3.U79 IDENTICAL 82s129.u84 HOLD8_PR2.U84 IDENTICAL 2764.u9 HOLDX8_1.U9 IDENTICAL 27256.u81 HOLDX8.U81 25.512695% 27256.u11 NO MATCH 27256.u16 NO MATCH 27256.u4 NO MATCH TETRIS_5.U4 NO MATCH TETRIS_6.U11 NO MATCH TETRIS_7.U16 NO MATCH */ ROM_START( cmv4a ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "holdx8.u81", 0x0000, 0x2000, CRC(2da4d267) SHA1(3deb6ce4703bb1cca2b58409a6fc5ba7cf601011) ) ROM_CONTINUE(0x4000,0x2000) ROM_CONTINUE(0x2000,0x2000) ROM_CONTINUE(0x6000,0x2000) ROM_REGION( 0x30000, "gfx1", 0 ) /* double size... tetris gfx inside. */ ROM_LOAD( "tetris_7.u16", 0x00000, 0x10000, CRC(a9e61fac) SHA1(a4093868b570af52f1cd816d523dbb6a750bc1af) ) ROM_LOAD( "tetris_6.u11", 0x10000, 0x10000, CRC(f3e15b41) SHA1(6c44bcdcf7b29d201018e2c2cc0b6b0b62cbaf12) ) ROM_LOAD( "tetris_5.u4", 0x20000, 0x10000, CRC(79a85560) SHA1(b028345ac2d01c643230c6e6c28189c11734aaf5) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "holdx8_4.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "holdx8_3.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "holdx8_2.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "holdx8_1.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) // contains a bitmap? and an extra plane for gfx2, should it be used? ROM_LOAD( "holdx8_8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "hold8_pr2.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "hold8_pr3.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "hold8_pr1.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( cmwm ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "waterm.rom", 0x0000, 0x1000, CRC(93b6cb9b) SHA1(294e1e5909b304252c79a7d3f50fc175558e713b) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "27256.u16", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "27256.u11", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "27256.u4", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "2764.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "2764.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "2764.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "2764.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) // girl bitmaps ROM_LOAD( "27512.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( cmfun ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cmvfun.rom", 0x0000, 0x1000, CRC(128f373e) SHA1(24d51ab669d568c004e2c94cac22eb8476ce2718) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "27256.u16", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "27256.u11", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "27256.u4", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "2764.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "2764.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "2764.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "2764.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) // girl bitmaps ROM_LOAD( "27512.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* this has a little protection (?): 8199: 3A 00 A0 ld a,($A000) <---- 0x59 819C: FE 5A cp $5A 819E: 20 F9 jr nz,$8199 81A0: 21 60 82 ld hl,$8260 81A3: 06 0F ld b,$0F 81A5: 7E ld a,(hl) 81A6: C6 30 add a,$30 81A8: 4F ld c,a 81A9: 3A 00 A0 ld a,($A000) 81AC: B9 cp c 81AD: 20 FA jr nz,$81A9 81AF: 23 inc hl 81B0: 10 F3 djnz $81A5 do PC = 0x81b2 to bypass and boot the game */ ROM_START( 3cdpoker ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "v1.6.u81", 0x0000, 0x10000, CRC(d0aeca41) SHA1(f780dbe2d2a0d82b8110a57e161547be41318a81) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "7.u16", 0x00000, 0x8000, CRC(d09f9414) SHA1(db5eb359a3e3fcd4d964403888a5496643081f5e) ) ROM_LOAD( "6.u11", 0x08000, 0x8000, CRC(f169878f) SHA1(b8bd5e79a813cea0aff8c80e6284bc2f69644c3c) ) ROM_LOAD( "5.u4", 0x10000, 0x8000, CRC(591c355e) SHA1(dd4f63853a380c400ca22c4d8f5c6e4f4c002f23) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "4.u15", 0x0000, 0x2000, CRC(534bec1a) SHA1(ca7093bbb2ab9da5174688e8d0096ee5c50ca495) ) // this and the following are identical and only contain 0x00 and 0xff? GFX seem ok in game ROM_LOAD( "3.u10", 0x2000, 0x2000, CRC(534bec1a) SHA1(ca7093bbb2ab9da5174688e8d0096ee5c50ca495) ) ROM_LOAD( "2.u14", 0x4000, 0x2000, CRC(ef4b3dc8) SHA1(85dc609ee133950f46ccdb8994bee1cf01bc53b9) ) ROM_LOAD( "1.u9", 0x6000, 0x2000, CRC(1a700a5f) SHA1(1c214e42644a0f551ad18aea869f4dbad17bfe94) ) ROM_REGION( 0x10000, "user1", 0 ) // girl bitmaps ROM_LOAD( "8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( 3cdpokera ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "v1.0.u81", 0x0000, 0x10000, CRC(26f21835) SHA1(9a29daeb60a91ab6c73820769911fa1ddd27e3b2) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "7.u16", 0x00000, 0x8000, CRC(d09f9414) SHA1(db5eb359a3e3fcd4d964403888a5496643081f5e) ) ROM_LOAD( "6.u11", 0x08000, 0x8000, CRC(f169878f) SHA1(b8bd5e79a813cea0aff8c80e6284bc2f69644c3c) ) ROM_LOAD( "5.u4", 0x10000, 0x8000, CRC(591c355e) SHA1(dd4f63853a380c400ca22c4d8f5c6e4f4c002f23) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "4.u15", 0x0000, 0x2000, CRC(534bec1a) SHA1(ca7093bbb2ab9da5174688e8d0096ee5c50ca495) ) // this and the following are identical and only contain 0x00 and 0xff? GFX seem ok in game ROM_LOAD( "3.u10", 0x2000, 0x2000, CRC(534bec1a) SHA1(ca7093bbb2ab9da5174688e8d0096ee5c50ca495) ) ROM_LOAD( "2.u14", 0x4000, 0x2000, CRC(ef4b3dc8) SHA1(85dc609ee133950f46ccdb8994bee1cf01bc53b9) ) ROM_LOAD( "1.u9", 0x6000, 0x2000, CRC(1a700a5f) SHA1(1c214e42644a0f551ad18aea869f4dbad17bfe94) ) ROM_REGION( 0x10000, "user1", 0 ) // girl bitmaps ROM_LOAD( "8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* looks like a bootleg of cmv4 */ ROM_START( cmaster ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "3.bin", 0x00000, 0x1000, CRC(ccb64229) SHA1(532f4b59952702a3609ff20239acbbacaf71f38f) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_IGNORE(0x8000) // 2nd half is identical ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "6.bin", 0x00000, 0x10000, CRC(a98d610f) SHA1(d14b3bc8bd6dc9fe2d3fb05ec08224b1a9d52bee) ) ROM_LOAD( "7.bin", 0x10000, 0x10000, CRC(a0ffd2d6) SHA1(e78d20d3ab578ccc880bc19678782cb1f8d3671e) ) ROM_LOAD( "8.bin", 0x20000, 0x10000, CRC(4f67fca7) SHA1(808e84b9b1f67f137528bb76b0e8aac3dceba20c) ) // 4-9 all of these contain the same bitmap at 0x0000-0xe000 // rom 9 matches the rom containing the bitmap in the cmv4 set, but also contains an extra gfx2 plane // should that plane be used?? ROM_REGION( 0x50000, "graphics", 0 ) ROM_LOAD( "4.bin", 0x00000, 0x10000, CRC(52240e0f) SHA1(7b8375e1f91fdff2b4ccc2e81fbcf843f7ede292) ) ROM_LOAD( "5.bin", 0x10000, 0x10000, CRC(763973c1) SHA1(b364f22041f1d678332554edb3c718cf0ad778b4) ) ROM_LOAD( "1.bin", 0x20000, 0x10000, CRC(634fe2ad) SHA1(2284a09446c8928060270861d372a19c0c9d827a) ) ROM_LOAD( "2.bin", 0x30000, 0x10000, CRC(a3d59f79) SHA1(588c45550cca673390a35af9617c68c853ff84ba) ) ROM_LOAD( "9.bin", 0x40000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) // for now we don't copy the extra plane.. ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x0e000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x1e000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x2e000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x3e000, 0x06000, 0x2000 ) // copy one of the versions of the bitmap ROM_REGION( 0x10000, "user1", 0 ) ROM_COPY( "graphics", 0x40000, 0x00000, 0xe000 ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* cmasterb & cmasterc Cherry Master II ver 8.41 CPU : LH0080B Z80B CPU RAM : MB8128-15 x2 MB8416-20 x2 HM6116 Sound : Winbond WF19054 Crystal : 12.000 Mhz Dip SW : 4x8 dip + 1 Switch (main test ???) */ ROM_START( cmasterb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "u81.9", 0x0000, 0x1000, CRC(09e44314) SHA1(dbb7e9afc9a1dc0d4ce7b150324077f3f3579c02) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "u16.7", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "u11.6", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "u4.5", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "u15.4", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "u10.3", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "u14.2", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "u9.1", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "u53.8", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( cmezspin ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ezspin.rom", 0x0000, 0x1000, CRC(de92b85c) SHA1(36e99b1444980a279293839c6db10f577b9e8657) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "u16.7", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "up11.6", 0x08000, 0x8000, CRC(c1466efa) SHA1(d725fc507c77e66bde93d0c33bf469add15f39b9) ) // changed title ROM_LOAD( "u4.5", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "u15.4", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "u10.3", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "u14.2", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "u9.1", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "u53.8", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( cmasterc ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "msii841.u81", 0x3000, 0x1000, CRC(977db602) SHA1(0fd3d6781b654ac6befdc9278f84ca708d5d448c) ) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x0000,0x1000) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "msii841.u16", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "msii841.u11", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "msii841.u4", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) /* these gfx are in a different format to usual */ ROM_REGION( 0x8000, "reels", 0 ) ROM_LOAD( "msii841.u1", 0x0000, 0x4000, CRC(cf322ed2) SHA1(84df96229b7bdba0ab498e3bf9c77d7a7661f7b3) ) ROM_LOAD( "msii841.u2", 0x4000, 0x4000, CRC(58c05653) SHA1(59454c07f4fe5b684d078cf97f2b1ee05b02f4ed) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "msii841.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* this set is weird, apart from the MGRAISE.BIN it's a cherry master set, I'm assuming that somehow there is extra hardware which causes it to run a different game contained in that rom? the extra rom contains MEGA DOUBLE POKER TM COPYRIGHT 1991 as well as various COPYRIGHT (C) 1988-90-92 GERALD DUHAMEL strings spread across the rom ------------------ Blitz Video Poker 1991 Hardware for a real Video Poker Machine that was supposed to pay out $$$. Contains: 1 X Z80 CPU 2 X 6505s? 1 GI AY-3-8910 2 x 8255 CH3 BIN 32,768 11-15-98 8:46a CH3.BIN MAST9 BIN 65,536 11-15-98 8:47a MAST9.BIN MAST5 BIN 32,768 11-15-98 8:48a MAST5.BIN MAST6 BIN 32,768 11-15-98 8:50a MAST6.BIN MAST7 BIN 32,768 11-15-98 8:50a MAST7.BIN MAST1 BIN 8,192 11-15-98 8:52a MAST1.BIN MAST2 BIN 8,192 11-15-98 8:53a MAST2.BIN MAST3 BIN 8,192 11-15-98 8:54a MAST3.BIN MAST4 BIN 8,192 11-15-98 8:55a MAST4.BIN MGRAISE BIN 131,072 11-15-98 8:58a MGRAISE.BIN Sound Amp with 6502 */ ROM_START( cmasterbv ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ch3.bin", 0x0000, 0x1000, CRC(9af51e47) SHA1(ac002c218502430a3e45259776ca409d32d2d4e5) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x20000, "extra", 0 ) // how do we use this?!! ROM_LOAD( "mgraise.bin", 0x0000, 0x20000, CRC(019f37d4) SHA1(ab71fe0b41ff4415896a23f28b27a0e64950c68c) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "mast5.bin", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "mast6.bin", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "mast7.bin", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "mast3.bin", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "mast4.bin", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "mast1.bin", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "mast2.bin", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) // girl bitmaps ROM_LOAD( "mast9.bin", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( cmasterd ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cherryb.rom", 0x0000, 0x1000, CRC(b6ab94f6) SHA1(6e74a2354d15aa1da6b8207e0413158d7cb52a44) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "u16.7", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "u11.6", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "u4.5", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "u15.4", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "u10.3", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "u14.2", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "u9.1", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "u53.8", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( cmastere ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cm33.rom", 0x0000, 0x1000, CRC(c3c3f7df) SHA1(47eda025859afebe64fd76e17e8390262fb40e0b) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "u16.7", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "u11.6", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "u4.5", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "u15.4", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "u10.3", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "u14.2", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "u9.1", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "u53.8", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( cmasterf ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cmbig55.rom", 0x0000, 0x1000, CRC(2cc4df7b) SHA1(ad5b8108913ff88fb435c8c12b47446575e1360e) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "u16.7", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "u11.6", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "u4.5", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "u15.4", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "u10.3", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "u14.2", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "u9.1", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "u53.8", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* Cherry Master I (CM1-1.01) Sticker with "Cherry Master V4 -B-" on the PCB. Similar to cmasterb. Different program. 1x TMPZ84C00AP-6 u80 8-bit Microprocessor 1x D8255AC-5 u36 Programmable Peripheral Interface 1x D71055C u54 Parallel Interface Unit 1x YM2149F u13 Programmable Sound Generator 1x oscillator 12.000MHz Y1 ROMs 4x 2764 1,2,3,4 4x 27256 5,6,7,9 1x 27512 8 3x N82S129AN u46, u79, u84 RAMs 1x LC3517AL-10 u82 4x D4016CX-15-10 u22, u26, u28, u38 PLDs 4x PALCE16V8H-25pc/4 u51, u66, u73, u74 Others 1x 36x2 edge connector 1x 10x2 edge connector 1x pushbutton (SW6) 1x trimmer (volume)(VR1) 5x 8x2 switches DIP(SW1-SW5) 1x battery 5.5V(BT1) */ ROM_START( cmasterg ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "9.u81", 0x0000, 0x1000, CRC(10979629) SHA1(a7342e37c75c85aef8a86ab5366a9e27f2c4bab8) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "7.u16", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "6.u11", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "5.u4", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "4.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "3.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "2.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "1.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "n82s129an.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "n82s129an.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "n82s129an.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* Cherry Master I (V1.10) Original Dyna upgrade for Cherry Master boards. The game runs in an original Dyna D9001 PCB. It lacks the STOP ALL button. From the owner (sic): - The reels cannot be stop, not exist all stop button or cannot be stop from small, big, double-up button. - The odds still be "high" (on the version 4.x be "low" odds). - Not hold a pair option to, and the min bet to start is fixed x1. */ ROM_START( cmasterh ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cm_v1.10_dyna.bin", 0x0000, 0x1000, CRC(872f2ef0) SHA1(ec68a03a1e8ab793d4a5eae1ce25f91608351c55) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "7.u16", 0x00000, 0x8000, CRC(19cc1d67) SHA1(47487f9362bfb36a32100ed772960628844462bf) ) ROM_LOAD( "6.u11", 0x08000, 0x8000, CRC(63b3df4e) SHA1(9bacd23da598805ec18ec5ad15cab95d71eb9262) ) ROM_LOAD( "5.u4", 0x10000, 0x8000, CRC(e39fff9c) SHA1(22fdc517fa478441622c6245cecb5728c5595757) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "4.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "3.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "2.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "1.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "n82s129an.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "n82s129an.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "n82s129an.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( cmast99 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cm99-041-8.u81", 0x0000, 0x1000, CRC(5fb0800e) SHA1(14d316b7b89340c5b5c9fdd0b43d5810513b74d6) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x8000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "cm99-041-7.u16", 0x00000, 0x8000, CRC(69e2aef2) SHA1(195faec239734650dcd777d55a8da84e3a0ed50c) ) ROM_LOAD( "cm99-041-6.u11", 0x08000, 0x8000, CRC(900f36f5) SHA1(0fd41f8c8cb2f7940b653a1fad93df2e3f28a34b) ) ROM_LOAD( "cm99-041-5.u4", 0x10000, 0x8000, CRC(3e465e38) SHA1(847dc27e45d495cb924b3fd5ce8e68a1cb83ffc8) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "cm99-041-4.u15", 0x0000, 0x2000, CRC(6b870b29) SHA1(d65f24817d9d45c148cb857439b46e9e75dabfe7) ) ROM_LOAD( "cm99-041-3.u10", 0x2000, 0x2000, CRC(8a0b205f) SHA1(3afea0464b793526bf23610cac6736a31edc7ec2) ) ROM_LOAD( "cm99-041-2.u14", 0x4000, 0x2000, CRC(c84dba45) SHA1(ab4ac891a23d6b9a216df046d516e868c77e8a36) ) ROM_LOAD( "cm99-041-1.u9", 0x6000, 0x2000, CRC(44046c31) SHA1(c9703ce2371cf86bc597e5fdb9c0d4dd6d91f7dc) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_FILL( 0x0000, 0x10000, 0xff ) // U53 (girl bitmaps) not populated /* proms taken from cmv4, probably wrong; U79? and U84 known to be identical to Cherry Master 89 */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) BAD_DUMP ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) BAD_DUMP ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) BAD_DUMP ) ROM_END ROM_START( cmast99b ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cm99b-041-8.u81", 0x0000, 0x1000, CRC(e0872d9f) SHA1(6d8f5e09e5c9daf834d5c74434eae86e5dd7e194) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x8000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "cm99-041-7.u16", 0x00000, 0x8000, CRC(69e2aef2) SHA1(195faec239734650dcd777d55a8da84e3a0ed50c) ) ROM_LOAD( "cm99-041-6.u11", 0x08000, 0x8000, CRC(900f36f5) SHA1(0fd41f8c8cb2f7940b653a1fad93df2e3f28a34b) ) ROM_LOAD( "cm99-041-5.u4", 0x10000, 0x8000, CRC(3e465e38) SHA1(847dc27e45d495cb924b3fd5ce8e68a1cb83ffc8) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "cm99-041-4.u15", 0x0000, 0x2000, CRC(6b870b29) SHA1(d65f24817d9d45c148cb857439b46e9e75dabfe7) ) ROM_LOAD( "cm99-041-3.u10", 0x2000, 0x2000, CRC(8a0b205f) SHA1(3afea0464b793526bf23610cac6736a31edc7ec2) ) ROM_LOAD( "cm99-041-2.u14", 0x4000, 0x2000, CRC(c84dba45) SHA1(ab4ac891a23d6b9a216df046d516e868c77e8a36) ) ROM_LOAD( "cm99-041-1.u9", 0x6000, 0x2000, CRC(44046c31) SHA1(c9703ce2371cf86bc597e5fdb9c0d4dd6d91f7dc) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_FILL( 0x0000, 0x10000, 0xff ) // U53 (girl bitmaps) not populated /* proms taken from cmv4, probably wrong; U79? and U84 known to be identical to Cherry Master 89 */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) BAD_DUMP ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) BAD_DUMP ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) BAD_DUMP ) ROM_END /* A-Plan (C) 1993 WeaShing H.K. TMP91P640 @ 5MHz or 10MHz (or SDIP64 gfx chip of some kind?) Z80 [clock probably 12/4] 8255 x2 YM2149 [clock probably 12/8] 12MHz and 10MHz XTALs 6116 2kx8 SRAM x4 BPROM 82S129 x2 8-position DIPSW x5 PCB number only says 'WEASHING' */ ROM_START( aplan ) // Has "DYNA QL-1 V1.01" string. ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "u18", 0x02000, 0x1000, CRC(e0e5328d) SHA1(fd02c65fecada69a0953372a39e520a80c744109) ) ROM_CONTINUE(0xf000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0xa000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0xc000,0x1000) ROM_CONTINUE(0x0000,0x1000) ROM_CONTINUE(0x8000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0xe000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0xb000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0xd000,0x1000) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x9000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "u64", 0x00000, 0x8000, CRC(2e593152) SHA1(ca0f587b26ed6e962e100d9178b6f79995a26fec) ) ROM_LOAD( "u67", 0x08000, 0x8000, CRC(aa865924) SHA1(574c4ba06e0bb37624ebd0fd7f5bfa4d0be62eba) ) ROM_LOAD( "u68", 0x10000, 0x8000, CRC(3043a99c) SHA1(cf936a866cc90b1cb477914e484e1d21165d6526) ) ROM_REGION( 0x10000, "gfx2", 0 ) /* ??? */ ROM_LOAD( "u56", 0x0000, 0x4000, CRC(e1ea0658) SHA1(1f31c493556f6ff6564be439040914a18a56ea64) ) ROM_LOAD( "u58", 0x4000, 0x4000, CRC(aa5ae1a5) SHA1(f4a9b3d97ac4df81fc071962698eab4b63e2e608) ) ROM_LOAD( "u60", 0x8000, 0x4000, CRC(ba6cc02d) SHA1(80f06761eeb08b3852041f7a1773059c69420c44) ) ROM_LOAD( "u62", 0xc000, 0x4000, CRC(609a6300) SHA1(ec8301c603a2af2aeecbef83d5cfba1796209988) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_FILL( 0x0000, 0x10000, 0xff ) // (girl bitmaps, not present) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u45", 0x000, 0x100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u46", 0x100, 0x100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_END ROM_START( war3cb ) // WANG QL-0B V1.00 in NVRAM, SANGHO in GFX ROMs ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c512 9 sub-board.bin", 0x2000, 0x2000, CRC(7fc6009d) SHA1(cb664890cffaddb741e8fe94d73ca23634c21e95) ) ROM_CONTINUE( 0x0000, 0x2000 ) ROM_CONTINUE( 0x6000, 0x2000 ) ROM_CONTINUE( 0x4000, 0x2000 ) ROM_CONTINUE( 0xa000, 0x2000 ) ROM_CONTINUE( 0x8000, 0x2000 ) ROM_CONTINUE( 0xe000, 0x2000 ) ROM_CONTINUE( 0xc000, 0x2000 ) ROM_COPY( "maincpu" , 0x6000, 0x7000, 0x1000 ) // verified with Z80 ICE memory dump ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "27c256 5.bin", 0x00000, 0x8000, CRC(5ba97822) SHA1(f089a09509c13d01a375e273eadcd4007c2054c8) ) ROM_LOAD( "27c256 6.bin", 0x08000, 0x8000, CRC(56f7359a) SHA1(b33b6853d05607b1a35b6f5e1a52a4b84a86759a) ) ROM_LOAD( "27c256 7.bin", 0x10000, 0x8000, CRC(b2ba5c16) SHA1(4ba64eed71b3e470dbb5250fcb98ab24abc151df) ) ROM_REGION( 0x10000, "gfx2", 0 ) ROM_LOAD( "27c64 1.bin", 0x0000, 0x2000, CRC(b35c5114) SHA1(1f3e105ebc1ee59201defcea78a8abf0607608f8) ) ROM_LOAD( "27c64 2.bin", 0x2000, 0x2000, CRC(d65f8608) SHA1(bd68c6004a97617fbc23acbd76ac1e093a565f89) ) ROM_LOAD( "27c64 3.bin", 0x4000, 0x2000, CRC(7f2d9f4c) SHA1(f7f62cd09091bd8e713237c6ac4ee3b4c28350b2) ) ROM_LOAD( "27c64 4.bin", 0x6000, 0x2000, CRC(1d7f7f2a) SHA1(787f9d2cea1f0690445c65c0a4827b07d85571b7) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // no girls bitmap ROM ROM_REGION( 0x200, "proms", 0 ) // not yet dumped ROM_LOAD( "prom1", 0x000, 0x100, BAD_DUMP CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "prom2", 0x100, 0x100, BAD_DUMP CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_END ROM_START( chryangl ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8.u6", 0x0000, 0x10000, CRC(331961e4) SHA1(50c7e0e983aed1f199f238442bb8fafce1849f84) ) ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "7.e1", 0x00000, 0x10000, CRC(f8e523ba) SHA1(bfbe1803f0f3c3426a4cc252257c8a4dd83a70ac) ) // 1ST AND 2ND HALF IDENTICAL ROM_LOAD( "6.e2", 0x10000, 0x10000, CRC(0d3b322a) SHA1(64b6bd387a78f51f83002c67d857b157a4651279) ) // 1ST AND 2ND HALF IDENTICAL ROM_LOAD( "5.e3", 0x20000, 0x10000, CRC(da87dbeb) SHA1(3656b569d08540171003820ec86944d2a7a55b3b) ) // 1ST AND 2ND HALF IDENTICAL ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.f3", 0x0000, 0x2000, CRC(7cc6d26b) SHA1(de33e8985affce7bd3ead89463117c9aaa93d5e4) ) // 1ST AND 2ND HALF IDENTICAL ROM_LOAD( "2.f2", 0x2000, 0x2000, CRC(e73ea4e3) SHA1(c9fd56461f6986d6bc170403d298fcc408a524e9) ) // 1ST AND 2ND HALF IDENTICAL ROM_LOAD( "3.h3", 0x4000, 0x2000, CRC(91162010) SHA1(3acc21e7074602b247f2f392eb181802092d2f21) ) ROM_LOAD( "4.h2", 0x6000, 0x2000, CRC(cbcc6bfb) SHA1(5bafc934fef1f50d8c182c39d3a7ce795c89d175) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // nothing ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129a.c15", 0x0000, 0x0100, CRC(6144d7fc) SHA1(4563ea31864d8732e3a4b0270449a0a79db334a2) ) ROM_LOAD( "82s129a.c16", 0x0100, 0x0100, CRC(0893e05d) SHA1(fabd58d498f5efdddae4c7142915cb7b092d6804) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129a.e9", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( chryanglb ) // PCB tyoe: CK88 / CM99 LONG BLUE BOARD ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "ca5-main-27c512.bin", 0x0000, 0x10000, CRC(55a78b9f) SHA1(d262ecb0628401a7a39dfe5ffeaac908b86f67b2) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "rom5-27c256.bin", 0x00000, 0x08000, CRC(7b687bc5) SHA1(c6be9c62dec3887ab5279f852f0c84b87acd2e95) ) ROM_LOAD( "rom6-27c256.bin", 0x08000, 0x08000, CRC(e9997f3d) SHA1(db7fa59b2023bfe5b78f7e98db326bcb518aa2a8) ) ROM_LOAD( "rom7-27c256.bin", 0x10000, 0x08000, CRC(9ad8e541) SHA1(e28b6ba68c5c51c7eed6aea0d3fa7019b34356a5) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "rom4-27c128.bin.001", 0x0000, 0x2000, CRC(7cc6d26b) SHA1(de33e8985affce7bd3ead89463117c9aaa93d5e4) ) // 1ST AND 2ND HALF IDENTICAL ROM_LOAD( "rom3-27c128.bin.001", 0x2000, 0x2000, CRC(e455694e) SHA1(335815baa8912d4195ae790bbd8ec3e16f9ec916) ) ROM_LOAD( "rom2-27c128.bin.001", 0x4000, 0x2000, CRC(4015b2b3) SHA1(806bff41fc388f25cacd78f4d396c8b8e2ed6d67) ) ROM_LOAD( "rom1-27c128.bin.001", 0x6000, 0x2000, CRC(cbcc6bfb) SHA1(5bafc934fef1f50d8c182c39d3a7ce795c89d175) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // nothing ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "c15-u79-bprom-82s129.bin", 0x0000, 0x0100, CRC(6144d7fc) SHA1(4563ea31864d8732e3a4b0270449a0a79db334a2) ) ROM_LOAD( "c16-u84-bprom-82s129.bin", 0x0100, 0x0100, CRC(0893e05d) SHA1(fabd58d498f5efdddae4c7142915cb7b092d6804) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "9-e,-bprom-82s129.bin", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( tonypok ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "tonypok.rom", 0x0000, 0x1000, CRC(c7047fcb) SHA1(a224e5a3c0fcd1d588ab264c4d0c624159834488) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "pok_u16.7", 0x00000, 0x8000, CRC(d7511644) SHA1(2aedd80b279f6e1231bacfce913e06070c74fff7) ) ROM_LOAD( "pok_u11.6", 0x08000, 0x8000, CRC(6ff4d0f9) SHA1(3faccac9562c9269f392655d045a10569f335ccc) ) ROM_LOAD( "pok_u4.5", 0x10000, 0x8000, CRC(7c641db2) SHA1(b90d4c5efc388fe8938ed3180b3c36a20ecdc15b) ) // the remainder of the roms are from Cherry Master - this was a conversion kit ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "u15.4", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "u10.3", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "u14.2", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "u9.1", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "u53.8", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END // the program roms on these are scrambled ROM_START( jkrmast ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "pid-515.u5", 0x4000, 0x4000, CRC(73caf824) SHA1(b7a7bb6190465f7c3b40f2ef97f4f6beeb89ec41) ) ROM_CONTINUE(0x0000, 0x4000) ROM_CONTINUE(0xc000, 0x4000) ROM_CONTINUE(0x8000, 0x4000) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "2000b.u48", 0x00000, 0x20000, CRC(e7b406ec) SHA1(c0a10cf8bf5467ecfe3c90e6897db3ab9aae0127) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "2000a.u41", 0x00000, 0x20000, CRC(cb8b1563) SHA1(c8c3ae646a9f3a7482d83566e4b3e18441c5d67f) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "n82s147a.u13", 0x0000, 0x0200, CRC(da92f0ae) SHA1(1269a2029e689a5f111c57e80825b3756b50521e) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "n82s129.u28", 0x0000, 0x0100, CRC(cfb152cf) SHA1(3166b9b21be4ce1d3b6fc8974c149b4ead03abac) ) ROM_END ROM_START( jkrmasta ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "pid-513.u5", 0x4000, 0x4000, CRC(12fa7ea0) SHA1(71ee141fe01ae2ce9913620b52c54cf445fd0b00) ) ROM_CONTINUE(0x0000, 0x4000) ROM_CONTINUE(0xc000, 0x4000) ROM_CONTINUE(0x8000, 0x4000) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "2000b.u48", 0x00000, 0x20000, CRC(e7b406ec) SHA1(c0a10cf8bf5467ecfe3c90e6897db3ab9aae0127) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "2000a.u41", 0x00000, 0x20000, CRC(cb8b1563) SHA1(c8c3ae646a9f3a7482d83566e4b3e18441c5d67f) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "n82s147a.u13", 0x0000, 0x0200, CRC(da92f0ae) SHA1(1269a2029e689a5f111c57e80825b3756b50521e) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "n82s129.u28", 0x0000, 0x0100, CRC(cfb152cf) SHA1(3166b9b21be4ce1d3b6fc8974c149b4ead03abac) ) ROM_END ROM_START( pkrmast ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "pokermastera.rom", 0x7000, 0x1000, CRC(467249f7) SHA1(efbab56896dc58d22ec921e7f5fd0befcfaadc52) ) ROM_CONTINUE( 0x0000, 0x1000) ROM_CONTINUE( 0x6000, 0x1000) ROM_CONTINUE( 0x1000, 0x1000) ROM_CONTINUE( 0x5000, 0x1000) ROM_CONTINUE( 0x2000, 0x1000) ROM_CONTINUE( 0x4000, 0x1000) ROM_CONTINUE( 0x3000, 0x1000) ROM_CONTINUE( 0x8000, 0x8000) ROM_REGION( 0x20000, "gfx1", 0 ) // tiles ROM_LOAD( "103-2.bin", 0x00000, 0x20000, CRC(ed0dfbfe) SHA1(c3a5b68e821461b161293eaec1515e2b0f26c4f9) ) ROM_REGION( 0x20000, "gfx2", 0 ) // reels + girl? ROM_LOAD( "103-1.bin", 0x00000, 0x20000, CRC(e375cd4b) SHA1(68888126ff9743cd589f3426205231bc3a896588) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASE00 ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) BAD_DUMP ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) BAD_DUMP ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) BAD_DUMP ) ROM_END ROM_START( pkrmasta ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "pokermasterb.rom", 0x7000, 0x1000, CRC(f59e0273) SHA1(160426b86dbb8a718cb3b886f90a231baed86a40) ) ROM_CONTINUE( 0x0000, 0x1000) ROM_CONTINUE( 0x6000, 0x1000) ROM_CONTINUE( 0x1000, 0x1000) ROM_CONTINUE( 0x5000, 0x1000) ROM_CONTINUE( 0x2000, 0x1000) ROM_CONTINUE( 0x4000, 0x1000) ROM_CONTINUE( 0x3000, 0x1000) ROM_CONTINUE( 0x8000, 0x8000) ROM_REGION( 0x20000, "gfx1", 0 ) // tiles ROM_LOAD( "103-2.bin", 0x00000, 0x20000, CRC(ed0dfbfe) SHA1(c3a5b68e821461b161293eaec1515e2b0f26c4f9) ) ROM_REGION( 0x20000, "gfx2", 0 ) // reels + girl? ROM_LOAD( "103-1.bin", 0x00000, 0x20000, CRC(e375cd4b) SHA1(68888126ff9743cd589f3426205231bc3a896588) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASE00 ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) BAD_DUMP ) ROM_LOAD( "82s129.u70", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) BAD_DUMP ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) BAD_DUMP ) ROM_END /* Cherry Master '91 ----------------- CPU: z8400 other chips: NEC D71055C, WB5300 Dips 5 x 8 position OSC: 12.000mhz all pals are type 16L8 all proms are type s129 */ ROM_START( cmast91 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8.bin", 0x00000, 0x01000, CRC(31a16d9f) SHA1(f007148449d66954b780f12a9f910968a4052482) ) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x8000,0x1000) ROM_CONTINUE(0x9000,0x1000) ROM_CONTINUE(0xa000,0x1000) ROM_CONTINUE(0xb000,0x1000) ROM_CONTINUE(0xc000,0x1000) ROM_CONTINUE(0xd000,0x1000) ROM_CONTINUE(0xe000,0x1000) ROM_CONTINUE(0xf000,0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "7.bin", 0x00000, 0x8000, CRC(1edf1f1d) SHA1(558fa01f1efd7f6541047d3930bdce0974bae5b0)) ROM_LOAD( "6.bin", 0x08000, 0x8000, CRC(13582e74) SHA1(27e318542606b8e8d38250749ba996402d314abd) ) ROM_LOAD( "5.bin", 0x10000, 0x8000, CRC(28ff88cc) SHA1(46bc0407be857e8348159735b60cfb660f047a56) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "4.bin", 0x00000, 0x8000, CRC(0dbabaa2) SHA1(44235b19dac1c996e2166672b03f6e3888ecbefa) ) ROM_LOAD( "3.bin", 0x08000, 0x8000, CRC(dc77d04a) SHA1(d8656130cde54d4bb96307899f6d607867e49e6c) ) ROM_LOAD( "1.bin", 0x10000, 0x8000, CRC(71bdab69) SHA1(d2c594ed88d6368df15b623c48eecc1c219b839e) ) ROM_LOAD( "2.bin", 0x18000, 0x8000, CRC(fccd48d7) SHA1(af564f5ef9ff5b6363897ce6bdf0b21123911fd4) ) ROM_REGION( 0x40000, "user1", 0 ) // girls GFX ROM_LOAD( "9.bin", 0x00000, 0x40000, CRC(92342276) SHA1(f9436752f2ec67cf873fd01c729c7c113dc18be0) ) ROM_REGION( 0x300, "proms", 0 ) ROM_LOAD( "p1.bin", 0x0000, 0x0100, CRC(ac529f04) SHA1(5bc92e50c85bb23e609172cc15c430ddea7fdcb5) ) ROM_LOAD( "p2.bin", 0x0100, 0x0100, CRC(3febce95) SHA1(c7c0fec0fb024ebf7d7365a09d28ba3d0037b0b4) ) ROM_LOAD( "p3.bin", 0x0200, 0x0100, CRC(99dbdf19) SHA1(3680335406f63289f8d9a81b4cd163e4aa0c14d4) ) ROM_REGION( 0x100, "proms2", 0 ) /* screen layout? */ ROM_LOAD( "p4.bin", 0x0000, 0x0100, CRC(72212427) SHA1(e87a91f28284313c706ebb8175a3586780636e31) ) ROM_REGION( 0x800, "plds", 0 ) /* all 16L8 type, protected */ ROM_LOAD( "pld1.bin", 0x0000, 0x0104, NO_DUMP ) ROM_LOAD( "pld2.bin", 0x0200, 0x0104, NO_DUMP ) ROM_LOAD( "pld3.bin", 0x0400, 0x0104, NO_DUMP ) ROM_LOAD( "pld4.bin", 0x0600, 0x0104, NO_DUMP ) ROM_END ROM_START( cmast92 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "cm9230d.rom", 0x00000, 0x01000, CRC(214a0a2d) SHA1(2d349e0888ac2da3df954517fdeb9214a3b17ae1) ) // I've not checked the rom loading yet ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x8000,0x1000) ROM_CONTINUE(0x9000,0x1000) ROM_CONTINUE(0xa000,0x1000) ROM_CONTINUE(0xb000,0x1000) ROM_CONTINUE(0xc000,0x1000) ROM_CONTINUE(0xd000,0x1000) ROM_CONTINUE(0xe000,0x1000) ROM_CONTINUE(0xf000,0x1000) // we only have a program rom :-( ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "cherry master 92 graphics", 0x00000, 0x8000, NO_DUMP ) ROM_REGION( 0x20000, "gfx2", ROMREGION_ERASEFF ) ROM_REGION( 0x40000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x300, "proms", ROMREGION_ERASEFF ) ROM_LOAD( "cherry master 92 proms", 0x00000, 0x100, NO_DUMP ) ROM_REGION( 0x100, "proms2", ROMREGION_ERASEFF ) ROM_END /* Lucky 8 Line Falcon 1989 G14 6116 9 G13 D13 8 D12 6116 Z80 6116 8255 7 8255 6 SW1 8255 12MHz 5 SW2 8910 4 6116 SW4 3 6116 SW3 2 6116 1 6116 --- */ ROM_START( lucky8 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8", 0x0000, 0x4000, CRC(a187573e) SHA1(864627502025dbc83a0049fc98505655cec7b181) ) ROM_LOAD( "9", 0x4000, 0x4000, CRC(6f62672e) SHA1(05662ef1a70f93b09e48de497b049a282f070735) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) ROM_LOAD( "6", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) ROM_LOAD( "7", 0x10000, 0x8000, CRC(c415b9d0) SHA1(fd558fe8a116c33bbd712a639224d041447a45c1) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "d12", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) /* missing prom? - using one from other dump */ ROM_LOAD( "prom4", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "g14", 0x0000, 0x0100, CRC(bd48de71) SHA1(e4fa1e774af1499bc568be5b2deabb859d8c8172) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "g13", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* unknown korean or chinese bootleg of something? XTAL 12MHz Z80 @ 3MHz AY3-8910 @ 1.5MHz 8255 x3 RAM 6116 x5 76489 x1 8-position DSW x4 ---- 13 and 13 files g14 FIXED BITS (0000xxxx) g14 BADADDR xxxxx--- g13 FIXED BITS (1x1xxxxx11xxxxxx) d13 FIXED BITS (xxxxxx0xxxxxxxxx) d13 1ST AND 2ND HALF IDENTICAL d12 FIXED BITS (0000xxxx) prom1 FIXED BITS (xxxxxx0xxxxxxxxx) prom1 1ST AND 2ND HALF IDENTICAL prom2 FIXED BITS (1x11xxxx11x1xxxx) prom3 FIXED BITS (0000xxxx) prom4 FIXED BITS (0000xxxx) prom5 FIXED BITS (00001xxx) prom5 BADADDR xxxxxxx- d13 prom1 IDENTICAL d12 prom3 IDENTICAL 6 7 IDENTICAL 5 6 IDENTICAL 4 5 IDENTICAL 3 4 IDENTICAL 2 3 IDENTICAL 1 2 IDENTICAL 7 8 99.990845% g13 prom2 90.625000% g14 prom4 61.718750% 9 NO MATCH 8 NO MATCH 1 NO MATCH prom5 NO MATCH There is a loop at 0x0010 that decrement (HL) when is pointing to ROM space. This should be worked out or patched to allow boot the game. Seems to be related to timing since once patched the game is very fast. */ ROM_START( lucky8a ) ROM_REGION( 0x10000, "maincpu", 0 ) // we have to patch this, it might be bad ROM_LOAD( "1", 0x0000, 0x8000, BAD_DUMP CRC(554cddff) SHA1(8a0678993c7010f70adc9e9443b51cf5929bf110) ) // sldh ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "6", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) // sldh ROM_LOAD( "7", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) // sldh ROM_LOAD( "8", 0x10000, 0x8000, CRC(80b35f06) SHA1(561d257d7bc8976cfa08f36d84961f1263509b5b) ) // sldh ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "2", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) // sldh ROM_LOAD( "3", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) // sldh ROM_LOAD( "4", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) // sldh ROM_LOAD( "5", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) // sldh ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "prom3", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "prom4", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "prom1", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "prom5", 0x000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x40, "unkprom2", 0 ) ROM_LOAD( "prom2", 0x0000, 0x0020, CRC(7b1a769f) SHA1(788b3573df17d398c74662fec4fd7693fc27e2ef) ) ROM_END /* New Lucky 8 Lines (set 3, extended gfx) This set has the New Lucky 8 Lines / New Super 8 Lines program. Same extended tileset for reels, but lacks of the New Super 8 Lines title tiles. Maybe is a hidden feature, maybe just graphics for another hack. */ ROM_START( lucky8b ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8.bin", 0x0000, 0x8000, CRC(ab7c58f2) SHA1(74782772bcc91178fa381074ddca99e0515f7693) ) // sldh ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.bin", 0x00000, 0x8000, CRC(9bbe5437) SHA1(ef3789cf34d83827bd6ad4755fd443c3d9bdf661) ) ROM_LOAD( "6.bin", 0x08000, 0x8000, CRC(bc17a96b) SHA1(6ae6a99c72153d68b01feacc45d94f8f88ac8733) ) ROM_LOAD( "7.bin", 0x10000, 0x8000, CRC(06a98714) SHA1(e58efdcbdc021976d5a1253c03bea0bfad4d92db) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(b45f41e2) SHA1(890c94c802f5ada97bc73f5a7a09e69c3207966c) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(0463413a) SHA1(061b8335fdd44767e8c1832f5b5101276ad0f689) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(b4e58020) SHA1(5c0fcc4b5d484ca7de5f2bd568a391a45967a9cc) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(0a25964b) SHA1(d41eda201bb01229fb6e2ff437196dd65eebe577) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "u4.bin", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "u5.bin", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "u2.bin", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "u3.bin", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "u1.bin", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END ROM_START( lucky8c ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8.bin", 0x0000, 0x8000, CRC(6890f8d8) SHA1(7e9d974acf199c78972299bfa3e275a30a3f6eaa) ) // sldh ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) ROM_LOAD( "6", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) ROM_LOAD( "7", 0x10000, 0x8000, CRC(c415b9d0) SHA1(fd558fe8a116c33bbd712a639224d041447a45c1) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "d12", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) /* missing prom? - using one from other dump */ ROM_LOAD( "prom4", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "g14", 0x0000, 0x0100, CRC(bd48de71) SHA1(e4fa1e774af1499bc568be5b2deabb859d8c8172) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "g13", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END ROM_START( lucky8d ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8-40_.bin", 0x0000, 0x4000, CRC(4c79db5a) SHA1(b959030856f54776841092c4c2bccc6565faa587) ) ROM_LOAD( "9-40_.bin", 0x4000, 0x4000, CRC(fb0d511f) SHA1(c2c1868339d4f20bf1f5d6b66802e8f8deed4611) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) ROM_LOAD( "6", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) ROM_LOAD( "7", 0x10000, 0x8000, CRC(c415b9d0) SHA1(fd558fe8a116c33bbd712a639224d041447a45c1) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "d12", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) /* missing prom? - using one from other dump */ ROM_LOAD( "prom4", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "g14", 0x0000, 0x0100, CRC(bd48de71) SHA1(e4fa1e774af1499bc568be5b2deabb859d8c8172) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "g13", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* Z80 3x 8255 ay-38910A 3 prom (no dump right now) 27256.8 is Z80 PRG 27256.8 NO MATCH 27128.1 NO MATCH 27128.7 NO MATCH 27256.5 = 5 lucky8 New Lucky 8 Lines (set 1, W-4) = 6 lucky8a New Lucky 8 Lines (set 2, W-4) = 5 lucky8c New Lucky 8 Lines (set 4, W-4) = 5 lucky8d New Lucky 8 Lines (set 5, W-4) 27256.6 = 6 lucky8 New Lucky 8 Lines (set 1, W-4) = 7 lucky8a New Lucky 8 Lines (set 2, W-4) = 6 lucky8c New Lucky 8 Lines (set 4, W-4) = 6 lucky8d New Lucky 8 Lines (set 5, W-4) 2764.2 = 2.bin ladylinr Lady Liner = 2 lucky8 New Lucky 8 Lines (set 1, W-4) = 3 lucky8a New Lucky 8 Lines (set 2, W-4) = 2 lucky8c New Lucky 8 Lines (set 4, W-4) = 2 lucky8d New Lucky 8 Lines (set 5, W-4) 2764.3 = 3.bin ladylinr Lady Liner = 3 lucky8 New Lucky 8 Lines (set 1, W-4) = 4 lucky8a New Lucky 8 Lines (set 2, W-4) = 3 lucky8c New Lucky 8 Lines (set 4, W-4) = 3 lucky8d New Lucky 8 Lines (set 5, W-4) 2764.4 = 4.bin ladylinr Lady Liner = 4 lucky8 New Lucky 8 Lines (set 1, W-4) = 5 lucky8a New Lucky 8 Lines (set 2, W-4) = 4 lucky8c New Lucky 8 Lines (set 4, W-4) = 4 lucky8d New Lucky 8 Lines (set 5, W-4) ...and against lucky8: 27128.1 1ST AND 2ND HALF IDENTICAL 27128.7 11xxxxxxxxxxxx = 0xFF 6 27256.6 IDENTICAL 5 27256.5 IDENTICAL 4 2764.4 IDENTICAL 3 2764.3 IDENTICAL 2 2764.2 IDENTICAL 7 [2/2] 27128.7 IDENTICAL 1 27128.1 [1/2] IDENTICAL 1 27128.1 [2/2] IDENTICAL 9 [1/2] 27256.8 [3/4] IDENTICAL 8 [2/2] 27256.8 [2/4] 99.731445% 8 [1/2] 27256.8 [1/4] 98.413086% 9 [2/2] 27256.8 [4/4] 90.710449% The program is exactly the same of lucky8d, with 40% for main rate and 60% for d-up, but merged in only one 27128 EPROM instead of two. */ ROM_START( lucky8e ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27256.8", 0x0000, 0x8000, CRC(65decc53) SHA1(100f26ef796557182ba894d1e30b18ac58a793be) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "27256.5", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) ROM_LOAD( "27256.6", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) // ROM_LOAD( "27128.7", 0x10000, 0x4000, BAD_DUMP CRC(0000b9d0) SHA1(00008fe8a116c33bbd712a639224d041447a45c1) ) ROM_LOAD( "7", 0x10000, 0x8000, CRC(c415b9d0) SHA1(fd558fe8a116c33bbd712a639224d041447a45c1) ) // from parent set, since 2 of 3 bitplanes matched ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "27128.1", 0x0000, 0x2000, CRC(8ca19ee7) SHA1(2e0cd4a74bd9abef60ed561ba4e5bb2681ce1222) ) // overdump? ROM_IGNORE( 0x2000) ROM_LOAD( "2764.2", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "2764.3", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "2764.4", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "d12", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) /* missing prom? - using one from other dump */ ROM_LOAD( "prom4", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "g14", 0x0000, 0x0100, CRC(bd48de71) SHA1(e4fa1e774af1499bc568be5b2deabb859d8c8172) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "g13", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END ROM_START( lucky8f ) // like the parent, but encrypted. Has an extra ROM (unverified purpose). Possibly bootleg? PCB has no Wing markings or stickers ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "a2.ic85", 0x0000, 0x8000, CRC(b80f3c11) SHA1(6a4e1f986ef019d41d0236992faa17bdb2e095ad) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "a5.ic19", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) ROM_LOAD( "a4.ic18", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) ROM_LOAD( "a3.ic17", 0x10000, 0x8000, CRC(c415b9d0) SHA1(fd558fe8a116c33bbd712a639224d041447a45c1) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "a9.ic23", 0x0000, 0x2000, CRC(4d41bc1f) SHA1(d5529c8e200d8fba2fe503fb20a7ad862c065c8c) ) ROM_LOAD( "a8.ic22", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "a7.ic21", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "a6.ic20", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.ic26", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "82s129.ic25", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "82s123.ic65", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "82s129.ic47", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "82s123.ic66", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_REGION( 0x1000, "dec_table", 0 ) // possibly related to encryption? currently unused by the emulation ROM_LOAD( "a1.ic91", 0x0000, 0x01000, CRC(8a660a97) SHA1(8d23e98886276824353c6c6572e3d93ddb40f0f0) ) ROM_END /* Lucky 8 lines. Only four bytes of difference against the parent set. Original This set 165B: 02 165B: 09 165F: 08 165F: 0F 21F0: 00 21F0: 30 21F1: 00 21F1: 1E Original set: This set: 21E0: 22 E5 3A ld ($3AE5),hl 21E0: 22 E5 3A ld ($3AE5),hl 21E3: 2D dec l 21E3: 2D dec l 21E4: 83 add a,e 21E4: 83 add a,e 21E5: B7 or a 21E5: B7 or a 21E6: 20 0E jr nz,$21F6 21E6: 20 0E jr nz,$21F6 21E8: 2A 70 82 ld hl,($8270) 21E8: 2A 70 82 ld hl,($8270) 21EB: 3A 2C 83 ld a,($832C) 21EB: 3A 2C 83 ld a,($832C) 21EE: 3C inc a 21EE: 3C inc a 21EF: BE cp (hl) 21EF: BE cp (hl) 21F0: 00 nop <-------- patched 21F0: 30 1E jr nc,$2210 <--- original jump. 21F1: 00 nop <-------- patched 21F2: CD 45 22 call $2245 21F2: CD 45 22 call $2245 21F5: C9 ret 21F5: C9 ret Need to investigate what the $2210 routine does... */ ROM_START( lucky8g ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "48.b12", 0x0000, 0x4000, CRC(30718aa5) SHA1(0ce1d24a074d2b815640f43fd42a883aae1078c3) ) ROM_LOAD( "49.b14", 0x4000, 0x4000, CRC(6f62672e) SHA1(05662ef1a70f93b09e48de497b049a282f070735) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.h7", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) ROM_LOAD( "6.h8", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) ROM_LOAD( "7.h10", 0x10000, 0x8000, CRC(c415b9d0) SHA1(fd558fe8a116c33bbd712a639224d041447a45c1) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.h1", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2.h3", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3.h4", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4.h5", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "d12", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) /* missing prom? - using one from other dump */ ROM_LOAD( "prom4", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "g14", 0x0000, 0x0100, CRC(bd48de71) SHA1(e4fa1e774af1499bc568be5b2deabb859d8c8172) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "g13", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* New Lucky 8 Lines Super Turbo (Hack). Sticker of Impera Austria in the PCB. It takes 15 seconds for the nag, and extra 30 seconds to boot the game. This set needs proper DIP switches and lamps. */ ROM_START( lucky8h ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "luckyturbo.b14", 0x0000, 0x8000, CRC(ae192509) SHA1(2e01ccce3d06e23bfa64046ed75ff89adc9ae266) ) ROM_IGNORE( 0x8000) // identical halves.... discarding one. ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.h7", 0x00000, 0x8000, CRC(fd3ff9a7) SHA1(f009ce36a9e2190bafca5b0ce3268b54bdc9a8b5) ) ROM_LOAD( "6.h8", 0x08000, 0x8000, CRC(80888d64) SHA1(91ec96709df77c534d381e391839984a88aeb1e0) ) ROM_LOAD( "7.h10", 0x10000, 0x8000, CRC(255d5860) SHA1(f171fde3d542594132b38b44300f750d45fb67a2) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.h1", 0x0000, 0x2000, CRC(b45f41e2) SHA1(890c94c802f5ada97bc73f5a7a09e69c3207966c) ) ROM_LOAD( "2.h3", 0x2000, 0x2000, CRC(0463413a) SHA1(061b8335fdd44767e8c1832f5b5101276ad0f689) ) ROM_LOAD( "3.h4", 0x4000, 0x2000, CRC(6be213c8) SHA1(bf5a002961b0827581cbab4249321ae5b51316f0) ) ROM_LOAD( "4.h5", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "72s287.g13", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "72s287.g14", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "74s288.d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "82s129.f3", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "74s288.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* New Lucky 8 Lines. Eagle, licensed by Wing. Original stickers on PCB. ROHM BU18400B-PS (Z80B) instead of stock Z80. */ ROM_START( lucky8i ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "48.b12", 0x0000, 0x4000, CRC(1aa5ddb6) SHA1(df615ff3f013582a5ebd06e6f85b4abd184bfeb4) ) ROM_LOAD( "49.b14", 0x4000, 0x4000, CRC(0eff3f80) SHA1(b273fec096f4506dfffdb79c7f4816fa54640ea6) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.h7", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) ROM_LOAD( "6.h8", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) ROM_LOAD( "7.h10", 0x10000, 0x8000, CRC(c415b9d0) SHA1(fd558fe8a116c33bbd712a639224d041447a45c1) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.h1", 0x0000, 0x2000, CRC(ad6a3f72) SHA1(b93d5830542aaa10795b5b0ada8e7bc3b867072b) ) ROM_IGNORE( 0x6000) // identical quarters.... discarding three. ROM_LOAD( "2.h3", 0x2000, 0x2000, CRC(e2ef08cf) SHA1(c03654a9033db9d655cfef627909942b6cb99ba4) ) ROM_IGNORE( 0x6000) // identical quarters.... discarding three. ROM_LOAD( "3.h4", 0x4000, 0x2000, CRC(c1a7a113) SHA1(2efb1addea53ed42bd14a7775443ee46c407ca81) ) ROM_IGNORE( 0x6000) // identical quarters.... discarding three. ROM_LOAD( "4.h6", 0x6000, 0x2000, CRC(9e939979) SHA1(c6e93df6465c076557ff5dccf650aff3a9064e0d) ) ROM_IGNORE( 0x6000) // identical quarters.... discarding three. // neeed proper bipolar proms dumps... ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "n82s129an.g13", 0x0000, 0x0100, BAD_DUMP CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "n82s129an.g14", 0x0100, 0x0100, BAD_DUMP CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "n82s123n.d13", 0x0000, 0x0020, BAD_DUMP CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "n82s129an.f3", 0x0000, 0x0100, BAD_DUMP CRC(bd48de71) SHA1(e4fa1e774af1499bc568be5b2deabb859d8c8172) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "n82s123n.d12", 0x0000, 0x0020, BAD_DUMP CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* New Lucky 8 Lines Crown Turbo (hack) It takes 15 seconds for the nag, and extra 30 seconds to boot the game. The program has a nasty protection that checks a value mirrored from $1249 to $D249. If this fails, just reset the machine. This routine is used when BET, and other critical things. 3831: ld a,($D249) 3834: cp $4F 3836: jp nz,$0000 This set needs proper DIP switches and lamps. */ ROM_START( lucky8j ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "pr.b14", 0x0000, 0x8000, CRC(245ab833) SHA1(0e73c7a4cd387ae71752b422c537f9b7e5dbb770) ) ROM_RELOAD( 0xc000, 0x2000) ROM_IGNORE( 0x6000) ROM_REGION( 0x18000, "gfx1", 0 ) // the original devices 5 & 7 are half the size, and have only the second half of the required data. ROM_LOAD( "5.h7", 0x00000, 0x8000, BAD_DUMP CRC(994a9894) SHA1(4063c2c5e111f24a85df1665fd3f9fbb20fda4da) ) // from a gfx match set ROM_LOAD( "6.h8", 0x08000, 0x8000, CRC(80888d64) SHA1(91ec96709df77c534d381e391839984a88aeb1e0) ) ROM_LOAD( "7.h10", 0x10000, 0x8000, BAD_DUMP CRC(255d5860) SHA1(f171fde3d542594132b38b44300f750d45fb67a2) ) // from a gfx match set ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.h1", 0x0000, 0x2000, CRC(275265ee) SHA1(7075dbe2d59b8cae4f355bcecfbbb9853fe9ca75) ) ROM_LOAD( "2.h3", 0x2000, 0x2000, CRC(146d17da) SHA1(8647d2d9eaf7d242e04d41c263c2dc9434c55ab6) ) ROM_LOAD( "3.h4", 0x4000, 0x2000, CRC(5c85f883) SHA1(9c5760e75d526903e160d60e39111723eb97855b) ) ROM_LOAD( "4.h6", 0x6000, 0x2000, CRC(10d896f3) SHA1(16f74a287dd0e8511fb8bbff7a29710de898061a) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "74s287.g13", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "74s287.g14", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "82s123.d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "74s287.f3", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "82s123.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* New Lucky 8 Lines (encrypted). Original of Wing. Ths board has a custom Sega/NEC CPU (D315-5136) instead of a regular Z80. The custom CPU performs XOR masks and bitswaps relative to addressing and involves M1 line for different encryption betweeen opcodes and data. */ ROM_START( lucky8k ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "48.b12", 0x0000, 0x4000, CRC(d9fb41b4) SHA1(bf33d0a5e0167eb48b3ae00e7e4136cd57cf0a4d) ) ROM_LOAD( "49.b14", 0x4000, 0x4000, CRC(ef89f730) SHA1(20d28fde72ace10f476fd42131c76f2969d5b1e4) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.h7", 0x00000, 0x8000, CRC(59026af3) SHA1(3d7f7e78968ca26275635aeaa0e994468a3da575) ) ROM_LOAD( "6.h8", 0x08000, 0x8000, CRC(67a073c1) SHA1(36194d57d0dc0601fa1fdf2e6806f11b2ea6da36) ) ROM_LOAD( "7.h10", 0x10000, 0x8000, CRC(c415b9d0) SHA1(fd558fe8a116c33bbd712a639224d041447a45c1) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.h1", 0x0000, 0x2000, CRC(0452b3c5) SHA1(7d432247d14ac13712beba682e169054f664b81d) ) ROM_LOAD( "2.h3", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3.h4", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4.h5", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) // neeed proper bipolar proms dumps... ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "tbp24s10n.g13", 0x0000, 0x0100, BAD_DUMP CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "tbp24s10n.g14", 0x0100, 0x0100, BAD_DUMP CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "tbp18s030n.d13", 0x0000, 0x0020, BAD_DUMP CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "tbp24s10n.f3", 0x0000, 0x0100, BAD_DUMP CRC(bd48de71) SHA1(e4fa1e774af1499bc568be5b2deabb859d8c8172) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "tbp18s030n.d12", 0x0000, 0x0020, BAD_DUMP CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* New Lucky 8 Lines / New Super 8 Lines. This set has a regular New Lucky 8 Lines, but allowing bets up to 64. It has different settings/parameters, and additional graphics for a game called New Super 8 Lines. There are basic reels tiles with a semi-naked woman, a sort of Super Mario character from Nintendo, clouds and stars... PCB Layout: +----------------------------------------------------------------------------------------------------------------------------+ | J I H G F E D C B A | | +----------+ | | +-----+ +-----+ +-------+ +-----+ +-----+ |ASB IN USA| +--------------+ +-----+ +--+ |14 | U | | U | | F | | T | | M | |4FJ | | 8 | | R | | | +-----+ +-----+ +-------+ +-----+ +-----+ |HM6116LP-2| | D27256 | +-----+ | | +----------+ | | +--+ | +-----+ +-----+ +-----+ +-----+ +-------+ +-----+ +-------+ +--------------+ +-----+ --| |13 | H | | V | | T | | H | | F | | S | | A | | M | --| | +-----+ +-----+ +-----+ +-----+ +-------+ +-----+ +-------+ +-----+ --| | +----------+ --| | |Toshiba | +-----+ +-----+ +-----+ +-------+ --| |12 |TMM2016BP-| | O | | B | | S | | A | --| | |12 | +-----+ +-----+ +-----+ +-------+ --| | +----------+ --| | +----------+ +------------------+ --| | | | +-----+ +-----+ +-----+ | ZILOG | --| |11 |HM6116L-90| | O | | B | | L | | Z0840004PSC | --| | | | +-----+ +-----+ +-----+ | Z80 CPU | --| | +----------+ +------------------+ --| | +-----+ +--------------+ +-----+ +-----+ +-----+ +-----+ +------------------+ --| |10 | J | | [7] | | O | | W | | B | | X | | NEC JAPAN | --| | +-----+ | D27256 | +-----+ +-----+ +-----+ +-----+ | D8255AC-2 | --| | | | | 9014XD010 | --| | +-----+ +--------------+ +-----+ +-----+ +-----+ +-----+ +------------------+ 36--| |9 | J | +--------------+ | O | | E | | C | | L | Pinout| | +-----+ | [6] | +-----+ +-----+ +-----+ +-----+ +------------------+ --| | +-----+ | D27256 | +-------+ +-----+ +-----+ +--------+ | NEC JAPAN | --| |8 | J | | | | I | | E | | D | | DIP1 | | D8255AC-2 | --| | +-----+ +--------------+ +-------+ +-----+ +-----+ +--------+ | 9014XD010 | --| | +-----+ +--------------+ +-------+ +-----+ +--------+ +------------------+ +---+ +-----+ --| |7 | G | | [5] | | I | | E | | DIP2 | +------------------+ | Q | | P | --| | +-----+ | D27256 | +-------+ +-----+ +--------+ | NEC JAPAN | +---+ +-----+ --| | | | | | --| | XTAL +--------------+ +-------+ +-----+ +--------+ | | +-----+ --| |6 .----. +--------------+ | I | | L | | DIP3 | +------------------+ | P | --| | | [4] | +-------+ +-----+ +--------+ +------------------+ +-----+ --| | | D2764D | | Winbond | --| | +-----+ | | +-------+ +-----+ +-----+ +--------+ | WF19054 | --| |5 | J | +--------------+ | I | | K | | B | | DIP4 | | 4150C14090830 | --| | +-----+ +--------------+ +-------+ +-----+ +-----+ +--------+ +------------------+ --| | | [3] | +----------+ --| | +-----+ | HN482764G | |Toshiba Tm| +-----+ +-----+ +---------+ +------+ +------+ --| |4 | J | | | |m2016BP-12| | K | | B | | I | | V | | X | --| | +-----+ +--------------+ +----------+ +-----+ +-----+ +---------+ +------+ +------+ +--+ | +-----+ +--------------+ +----------+ +-----+ +-----+ +-------+ +------+ +------+ | |3 | J | | [2] | |USC 6516-A| | T | | B | | H | | V | | X | | | +-----+ | D2764 | |9252E GYU1| +-----+ +-----+ +-------+ +------+ +------+ +--+ | | | +----------+ | | +-----+ +--------------+ +----------+ +-----+ +-----+ +------+ +------+ | |2 | J | +--------------+ |Toshiba Tm| | O | | M | | Y | | Z | | | +-----+ | [1] | |m2016BP-12| +-----+ +-----+ +------+ +------+ | | +-----+ | MBM2764-25 | +----------+ +-----+ +-----+ +------+ | |1 | J | | | +----------+ | O | | N | | W | | | +-----+ +--------------+ |HM6116L-90| +-----+ +-----+ +------+ A | | | 9140A | +-----+ 10 Pins +-----+ | | J I H +----------+ F E D C B| |||||||||||||||| | | +------------------------------------------------------------------------------------+ +--------------+ +------------+ DIP1: DIP2: DIP3: DIP4: +-------------------+ +-------------------+ +-------------------+ +-------------------+ | ON | | ON | | ON | | ON | | +---------------+ | | +---------------+ | | +---------------+ | | +---------------+ | | |_|_|_|#|_|_|_|_| | | |#|#|#|_|_|_|_|#| | | |_|_|#|#|#|#|#|_| | | |_|_|_|_|#|_|_|_| | | |#|#|#| |#|#|#|#| | | | | | |#|#|#|#| | | | |#|#| | | | | |#| | | |#|#|#|#| |#|#|#| | | +---------------+ | | +---------------+ | | +---------------+ | | +---------------+ | | 1 2 3 4 5 6 7 8 | | 1 2 3 4 5 6 7 8 | | 1 2 3 4 5 6 7 8 | | 1 2 3 4 5 6 7 8 | +-------------------+ +-------------------+ +-------------------+ +-------------------+ 1x XTAL = 12 Mhz A = SN74LS244N B = GD74LS161A C = MB74LS10 D = 74LS10 E = GD74LS74A F = HD74LS273P G = HD74LS368AP H = 74LS32 I = 74LS245 J = GD74LS166 K = SN74LS283N L = GD74LS138 M = GD74LS04 N = SN74LS139AN O = GD74LS157 P = HD74LS04P Q = 5560 / JRC / 3151A (555?) R = HD74HC00P S = DM74S288 T = DM74S287 U = LS02 V = LS174 W = LS08 X = LS367 Y = LS00 Z = SN76489AN */ ROM_START( ns8lines ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8.bin", 0x0000, 0x8000, CRC(ab7c58f2) SHA1(74782772bcc91178fa381074ddca99e0515f7693) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.bin", 0x00000, 0x8000, CRC(994a9894) SHA1(4063c2c5e111f24a85df1665fd3f9fbb20fda4da) ) ROM_LOAD( "6.bin", 0x08000, 0x8000, CRC(80888d64) SHA1(91ec96709df77c534d381e391839984a88aeb1e0) ) ROM_LOAD( "7.bin", 0x10000, 0x8000, CRC(255d5860) SHA1(f171fde3d542594132b38b44300f750d45fb67a2) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(b45f41e2) SHA1(890c94c802f5ada97bc73f5a7a09e69c3207966c) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(0463413a) SHA1(061b8335fdd44767e8c1832f5b5101276ad0f689) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(6be213c8) SHA1(bf5a002961b0827581cbab4249321ae5b51316f0) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(0a25964b) SHA1(d41eda201bb01229fb6e2ff437196dd65eebe577) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "u4.bin", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "u5.bin", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "u2.bin", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "u3.bin", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "u1.bin", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* New Lucky 8 Lines / New Super 8 Lines (F-5, Witch Bonus) This set has the 'Witch Bonus' present in Witch Card games. 1.1h [1/2] 1 [1/2] IDENTICAL 2.3h [1/2] 2 [1/2] IDENTICAL 3.4h [1/2] 3 [1/2] IDENTICAL 4.5h [1/2] 4 [1/2] IDENTICAL 5.7h [1/4] 5 [1/4] IDENTICAL 6.8h [1/4] 6 [1/4] IDENTICAL 7.10h [1/4] 7 [1/4] IDENTICAL 7.10h [3/4] 7 [3/4] IDENTICAL 7.10h [2/4] 7 [2/4] 99.426270% 6.8h [2/4] 6 [2/4] 99.255371% 5.7h [2/4] 5 [2/4] 99.230957% 5.7h [3/4] 5 [3/4] 94.152832% 6.8h [3/4] 6 [3/4] 94.152832% 7.10h [4/4] 7 [4/4] 82.739258% 7.10h [4/4] 6 [4/4] 82.739258% 7.10h [4/4] 5 [4/4] 82.739258% 4.5h [2/2] 4 [2/2] 81.372070% 6.8h [4/4] 9 [2/2] 75.952148% 3.4h [2/2] 3 [2/2] 71.752930% 2.3h [2/2] 2 [2/2] 70.434570% 1.1h [2/2] 1 [2/2] 68.115234% f5-8.14b [4/4] 8 [1/2] 8.276367% 5.7h [4/4] 9 [1/2] 7.104492% f5-8.14b [3/4] 8 [2/2] 1.904297% */ ROM_START( ns8linew ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "f5-8.14b", 0x0000, 0x8000, CRC(63dd3005) SHA1(62d71dbfa0a00c6b050db067ad55e80225e1589d) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.7h", 0x00000, 0x8000, CRC(19713d36) SHA1(ae04b8b72b0c9a279f24d7c4d619bac4629d9a4f) ) ROM_LOAD( "6.8h", 0x08000, 0x8000, CRC(576197b9) SHA1(22273365cfe181f95efb895a28825f388b901a49) ) ROM_LOAD( "7.10h", 0x10000, 0x8000, CRC(790c349c) SHA1(32bec8463233b2eb5a889c91d35f53b9d117f279) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.1h", 0x0000, 0x2000, CRC(b45f41e2) SHA1(890c94c802f5ada97bc73f5a7a09e69c3207966c) ) ROM_LOAD( "2.3h", 0x2000, 0x2000, CRC(0463413a) SHA1(061b8335fdd44767e8c1832f5b5101276ad0f689) ) ROM_LOAD( "3.4h", 0x4000, 0x2000, CRC(b4e58020) SHA1(5c0fcc4b5d484ca7de5f2bd568a391a45967a9cc) ) ROM_LOAD( "4.5h", 0x6000, 0x2000, CRC(0a25964b) SHA1(d41eda201bb01229fb6e2ff437196dd65eebe577) ) ROM_REGION( 0x200, "proms", 0 ) /* proper dumps */ ROM_LOAD( "dm74s287.g13", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "dm74s287.g14", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "dm74s288.d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "dm74s287.f3", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "dm74s288.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* New Lucky 8 Lines / New Super 8 Lines (W-4, Witch Bonus) CPUs 1x Z80 (11b) - 8-bit Microprocessor - main (missing). 3x iD8255A-5 (7b, 8b, 9b) - Programmable Peripheral Interface. 1x SN76489AN (2c) - Digital Complex Sound Generator - sound. 1x WF19054 (5b) - Programmable Sound Generator - sound. 1x uPC1181 (0a) - Audio Amplifier - sound. ROMs 4x AM27C64 (1-4) dumped. 4x M27C256B (5-8) dumped. 3x AM27S21APC (1, 2, 3) dumped. 3x N82S123AN (4, 5) dumped. RAMs 7x HM3-6116-5 (11h, 12h, 1g, 2g, 3g, 4g, 14c) Others 1x 12.000MHz oscillator (6j). 1x 36x2 edge connector. 1x 10x2 edge connector. 1x pushbutton. 2x trimmer (VOL, VAL). 3x 8 DIP switches banks. PCB Layout: +----------------------------------------------------------------------------------------------------------------------------+ | J I H G F E D C B A push | | +----------+ button | | +-----+ +-----+ +-------+ +-----+ +-----+ |RAM 6116 | +--------------+ +-----+ +--+ |14 | U | | U | | F | | T | | M | | | | [8] | | R | | | +-----+ +-----+ +-------+ +-----+ +-----+ |(missing) | | M27C256B | +-----+ | | +----------+ | | +--+ | +-----+ +-----+ +-----+ +-----+ +-------+ +-----+ +-------+ +--------------+ +-----+ --| |13 | H | | V | | T | | H | | F | | S | | A | | P | --| | +-----+ +-----+ +-----+ +-----+ +-------+ +-----+ +-------+ +-----+ --| | +----------+ --| | |TEMIC | +-----+ +-----+ +-----+ +-------+ --| |12 |HM3-6116-5| | O | | B | | S | | A | --| | | | +-----+ +-----+ +-----+ +-------+ --| | +----------+ --| | +----------+ +------------------+ --| | |TEMIC | +-----+ +-----+ +-----+ | Z80 CPU | --| |11 |HM3-6116-5| | O | | B | | L | | (missing) | --| | | | +-----+ +-----+ +-----+ | | --| | +----------+ +------------------+ --| | +-----+ +--------------+ +-----+ +-----+ +-----+ +-----+ +------------------+ --| |10 | J | | [7] | | O | | W | | B | | X | | INTEL | --| | +-----+ | M27C256B | +-----+ +-----+ +-----+ +-----+ | P8255A-5 | --| | | | | | --| | +-----+ +--------------+ +-----+ +-----+ +-----+ +-----+ +------------------+ 36--| |9 | J | +--------------+ | O | | E | | C | | L | Pinout| | +-----+ | [6] | +-----+ +-----+ +-----+ +-----+ +------------------+ --| | +-----+ | M27C256B | +-------+ +-----+ +-----+ +--------+ | INTEL | --| |8 | J | | | | I | | E | | D | | DIP1 | | P8255A-5 | --| | +-----+ +--------------+ +-------+ +-----+ +-----+ +--------+ | | --| | +-----+ +--------------+ +-------+ +-----+ +--------+ +------------------+ +---+ +-----+ --| |7 | G | | [5] | | I | | E | | DIP2 | +------------------+ | Q | | P | --| | +-----+ | M27C256B | +-------+ +-----+ +--------+ | INTEL | +---+ +-----+ --| | | | | P8255A-5 | --| | XTAL +--------------+ +-------+ +-----+ | | +-----+ --| |6 .----. +--------------+ | I | | L | +------------------+ | P | --| | | [4] | +-------+ +-----+ +------------------+ +-----+ --| | | AM27C64 | | Winbond | --| | +-----+ | | +-------+ +-----+ +-----+ +--------+ | WF19054 | --| |5 | O | +--------------+ | I | | K | | B | | DIP3 | | | --| | +-----+ +--------------+ +-------+ +-----+ +-----+ +--------+ +------------------+ --| | | [3] | +----------+ --| | +-----+ | AM27C64 | |TEMIC | +-----+ +-----+ +---------+ +------+ +------+ --| |4 | J | | | |HM3-6116-5| | K | | B | | I | | V | | X | --| | +-----+ +--------------+ +----------+ +-----+ +-----+ +---------+ +------+ +------+ +--+ | +-----+ +--------------+ +----------+ +-----+ +-----+ +-------+ +------+ +------+ | |3 | J | | [2] | |TEMIC | | T | | E | | H | | V | | X | | | +-----+ | AM27C64 | |HM3-6116-5| +-----+ +-----+ +-------+ +------+ +------+ +--+ | | | +----------+ | | +-----+ +--------------+ +----------+ +-----+ +-----+ +------+ +------+ trimmer trimmer | |2 | J | +--------------+ |TEMIC | | O | | M | | Y | | Z | VAL 10K VOL 10K | | +-----+ | [1] | |HM3-6116-5| +-----+ +-----+ +------+ +------+ | | +-----+ | AM27C64 | +----------+ +-----+ +-----+ +------+ +-------+ | |1 | J | | | +----------+ | O | | N | | W | |NEC | | | +-----+ +--------------+ |TEMIC | +-----+ +-----+ +------+ A |C1181H3| | | |HM3-6116-5| +-----+ 10 Pins +-----+ +-------+ | | J I H +----------+ F E D C B| |||||||||||||||| | | +------------------------------------------------------------------------------------+ +--------------+ +------------+ DIP1: DIP2: DIP3: +-------------------+ +-------------------+ +-------------------+ | ON | | ON | | ON | | +---------------+ | | +---------------+ | | +---------------+ | | |_|_|_|_|#|#|_|_| | | |#|#|#|_|_|_|_|_| | | |#|#|#|_|#|#|_|_| | | |#|#|#| | | |#|#| | | | | | |#|#|#|#|#| | | |#|#| |#| | |#|#| | | +---------------+ | | +---------------+ | | +---------------+ | | 1 2 3 4 5 6 7 8 | | 1 2 3 4 5 6 7 8 | | 1 2 3 4 5 6 7 8 | +-------------------+ +-------------------+ +-------------------+ 1x XTAL = 12 Mhz A = 74LS244 B = 74LS161 C = 74LS10 D = 74LS11 E = 74LS74 F = 74LS273 G = 74LS368 H = 74LS32 I = 74LS245 J = 74166 K = 74LS283 L = 74LS138 M = 74LS04 N = 74LS139 O = 74LS157 P = 74LS04 Q = NE555N R = 74HC00 S = N82S123AN T = AM27S21APC U = 74LS02 V = 74LS174 W = 74LS08 X = 74LS367 Y = 74LS00 Z = SN76489AN */ ROM_START( ns8linewa ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8.13b", 0x0000, 0x8000, CRC(c5692077) SHA1(423e0fe49ac450f22e693d9ac5ac1c3c662b17d3) ) // no match... ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.7h", 0x00000, 0x8000, CRC(25ca3657) SHA1(95ac8affbc309110159cd67e17d789c8bf426937) ) // no match... ROM_LOAD( "6.8h", 0x08000, 0x8000, CRC(80888d64) SHA1(91ec96709df77c534d381e391839984a88aeb1e0) ) // same as ns8lines ROM_LOAD( "7.9h", 0x10000, 0x8000, CRC(255d5860) SHA1(f171fde3d542594132b38b44300f750d45fb67a2) ) // same as ns8lines ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.1h", 0x0000, 0x2000, CRC(b45f41e2) SHA1(890c94c802f5ada97bc73f5a7a09e69c3207966c) ) // same as ns8lines ROM_LOAD( "2.2h", 0x2000, 0x2000, CRC(0463413a) SHA1(061b8335fdd44767e8c1832f5b5101276ad0f689) ) // same as ns8lines ROM_LOAD( "3.4h", 0x4000, 0x2000, CRC(6be213c8) SHA1(bf5a002961b0827581cbab4249321ae5b51316f0) ) // same as ns8lines ROM_LOAD( "4.5h", 0x6000, 0x2000, CRC(0a25964b) SHA1(d41eda201bb01229fb6e2ff437196dd65eebe577) ) // same as ns8lines ROM_REGION( 0x200, "proms", 0 ) /* proper dumps */ ROM_LOAD( "2.13g", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) // same as ns8lines ROM_LOAD( "1.14g", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) // same as ns8lines ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "4.13d", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) // same as ns8lines ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "3.3f", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) // same as ns8lines ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "5.12d", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) // same as ns8lines ROM_END /* New Lucky 8 Lines / New Super 8 Lines (W-4) Mini W4 board... Silkscreened: LUCKY97-1. 06/07/1993. TAIWAN. GFX ROMs 1, 2, 3, 4 are double size. Each half matches the set ns8lines. GFX ROMs 5, 6, 7 match the ns8lines set. Program ROM is different. */ ROM_START( ns8linesa ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8__27c256_main.14b", 0x0000, 0x8000, CRC(a3574e81) SHA1(60b037d2cfbad495897fa3e0fe6f6b81143103c6) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.bin", 0x00000, 0x8000, CRC(994a9894) SHA1(4063c2c5e111f24a85df1665fd3f9fbb20fda4da) ) ROM_LOAD( "6.bin", 0x08000, 0x8000, CRC(80888d64) SHA1(91ec96709df77c534d381e391839984a88aeb1e0) ) ROM_LOAD( "7.bin", 0x10000, 0x8000, CRC(255d5860) SHA1(f171fde3d542594132b38b44300f750d45fb67a2) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1__27c128.1h", 0x0000, 0x2000, CRC(a1503f96) SHA1(908997a93bf7cdb3661b1a4ac7b1af3ad07982ef) ) // Double size. Identical halves. Each half matches the ns8lines set. ROM_IGNORE( 0x2000) ROM_LOAD( "2__27c128.3h", 0x2000, 0x2000, CRC(bf6c534c) SHA1(3647e606eda53837100a5477b632d9655b24db45) ) // Double size. Identical halves. Each half matches the ns8lines set. ROM_IGNORE( 0x2000) ROM_LOAD( "3__27c128.4h", 0x4000, 0x2000, CRC(a3ce1126) SHA1(13b840d569445149242aaa77758742d82d0f35ba) ) // Double size. Identical halves. Each half matches the ns8lines set. ROM_IGNORE( 0x2000) ROM_LOAD( "4__27c128.5h", 0x6000, 0x2000, CRC(c1204efa) SHA1(6ed1991e75e5fec249d0a563e97888f63281e8d2) ) // Double size. Identical halves. Each half matches the ns8lines set. ROM_IGNORE( 0x2000) ROM_REGION( 0x200, "proms", 0 ) // Taken from ns8lines. Seems to match 100%. ROM_LOAD( "u4.bin", 0x0000, 0x0100, BAD_DUMP CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "u5.bin", 0x0100, 0x0100, BAD_DUMP CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x40, "proms2", 0 ) // Taken from ns8lines. Seems to match 100%. ROM_LOAD( "u2.bin", 0x0000, 0x0020, BAD_DUMP CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) // Taken from ns8lines. Seems to match 100%. ROM_LOAD( "u3.bin", 0x0000, 0x0100, BAD_DUMP CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) // Taken from ns8lines. Seems to match 100%. ROM_LOAD( "u1.bin", 0x0000, 0x0020, BAD_DUMP CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* Super 97-2 Offset range 0xc000 - 0xdfff is encrypted (see init_super972()). */ ROM_START( super972 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "subboard_27c512.bin", 0x0000, 0x10000, CRC(e5316735) SHA1(fc39a72e0146bb1190ccdeaec5eb59f779d0a3f7) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5_27c256.bin", 0x00000, 0x8000, CRC(19713d36) SHA1(ae04b8b72b0c9a279f24d7c4d619bac4629d9a4f) ) ROM_LOAD( "6_27c256.bin", 0x08000, 0x8000, CRC(576197b9) SHA1(22273365cfe181f95efb895a28825f388b901a49) ) ROM_LOAD( "7_27c256.bin", 0x10000, 0x8000, CRC(7a21f08b) SHA1(5795d06dcbbaee91e02dcc2e99451954ff45f768) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1_27c64.bin", 0x0000, 0x2000, CRC(b45f41e2) SHA1(890c94c802f5ada97bc73f5a7a09e69c3207966c) ) ROM_LOAD( "2_27c64.bin", 0x2000, 0x2000, CRC(0463413a) SHA1(061b8335fdd44767e8c1832f5b5101276ad0f689) ) ROM_LOAD( "3_27c64.bin", 0x4000, 0x2000, CRC(b4e58020) SHA1(5c0fcc4b5d484ca7de5f2bd568a391a45967a9cc) ) ROM_LOAD( "4_27c64.bin", 0x6000, 0x2000, CRC(0a25964b) SHA1(d41eda201bb01229fb6e2ff437196dd65eebe577) ) ROM_REGION( 0x200, "proms", 0 ) /* proper dumps */ ROM_LOAD( "dm74s287.g13", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "dm74s287.g14", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "dm74s288.d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "dm74s287.f3", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "dm74s288.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* Mega Bonus Star II (Millennium Edition, Euro) Auto-Data Graz, 2002. W4 derivative hardware... PCB has a daughterboard with: - Z80. - Unknown DIP40 IC - M48T12 Timekeeper NVRAM. - HM6116L-70 - GAL16V8D. - DS1232. - 74LS374N - SN74LS08N - 8 MHz Xtal. Here the DB layout... +-----------------------------+ | +-----------+ +----+ | | +-+ |MBGEU_OR | |U | | | | | |V.3.5.5 | |N | | |+-+ |B| +-----------+ |K | | || | | | +----+ +----+ |O | | || | +-+ |HM61| |M48T| |W | | ||A| +-+ |16L-| |12 | |N Z| | || | | | |70 | | | | I| | || | |C| | | |TIME| | L| | || | | | | | |KEEP| | O| | |+-+ | | | | |RAM | | G| | | +-+ +----+ +----+ +----+ | | +----------------+ | | |ZILOG | XTAL | |+-+ |Z0840006P | 8.000 | ||D| +----------------+ | |+-+ | +-----------------------------+ A: GAL16V8D B: SN74LS08N C: DM74LS374N D: DS1232 Unknown Zilog 40pin IC (scratched): (could be either a Z86C15 or Z86C91 MCU) +-----V-----+ VCC -|01 40|- 74LS08N (Pin 01) XTAL 8MHz <-|02 39|- GAL16V8 (Pin 17) XTAL 8MHz >-|03 Z 38|- 74LS374 (Pin 03) N/C -|04 I 37|- 74LS374 (Pin 04) N/C -|05 L 36|- 74LS374 (Pin 07) 74LS08N (Pin 10) -|06 O 35|- 74LS374 (Pin 08) GAL16V8 (Pin 07) -|07 G 34|- 74LS374 (Pin 13) GAL16V8 (Pin 08) -|08 33|- 74LS374 (Pin 14) 74LS374 (Pin 11) -|09 32|- 74LS374 (Pin 17) N/C -|10 31|- 74LS374 (Pin 18) GND -|11 30|- 74LS374 (Pin 01) N/C -|12 29|- 74LS08N (Pin 02) 27C512 (A08) -|13 28|- 27C512 (Q7) 27C512 (A09) -|14 27|- 27C512 (Q6) 27C512 (A10) -|15 26|- 27C512 (Q5) 27C512 (A11) -|16 25|- 27C512 (Q4) 27C512 (A12) -|17 24|- 27C512 (Q3) 27C512 (A13) -|18 23|- 27C512 (Q2) 27C512 (A14) -|19 22|- 27C512 (Q1) 27C512 (A15) -|20 21|- 27C512 (Q0) +-----------+ 40-Pin DIP Pin Identification for Z86C15 MCU (for reference): --------------------------------------------------------- Pin Symbol Function Direction --------------------------------------------------------- 01 VCC Power Supply Input 02 CLKOUT Z8 System Clock Output 03 RCIN RC Oscillator Clock Input 04 P37 Port 3, Pin 7 Output 05 P30 Port 3, Pin 0 Input 06 /RESET Reset Input 07 AGND Analog Ground 08 NC Not Connected 09 /WDTOUT Watch-Dog Timer Output 10 P35 Port 3, Pin 5 Output 11 GND Ground 12 P32 Port 3, Pin 2 Input 13-20 P00-P07 Port 0, Pins 0,1,2,3,4,5,6,7 In/Output 21-28 P10-P17 Port 1, Pins 0,1,2,3,4,5,6,7 In/Output 29 P34 Port 3, Pin 4 Output 30 P33 Port 3, Pin 3 Input 31-38 P20-P27 Port 2, Pins 0,1,2,3,4,5,6,7 In/Output 39 P31 Port 3, Pin 1 Input 40 P36 Port 3, Pin 6 Output --------------------------------------------------------- BASE Board (based on WING W4): XTAL: 11.98135MHZ 4x DIP-SWITCH 1x YAMAHA YM2149F 3x NEC D8255AC-2 6x HY6116ALP-12 Daughterboard is inserted in the Z80 Socket of the main board... */ ROM_START( mbs2euro ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "mbgeu_or_v.3.5.5.bin", 0x0000, 0x10000, CRC(b468a62f) SHA1(011536b08eb7cd42dd83826b195bbce314effda0) ) ROM_REGION( 0x20000, "temp", 0 ) ROM_LOAD( "mbs_21.bin", 0x00000, 0x8000, CRC(769f5793) SHA1(ffe542b8d1eee12738426b391a6cf61dbcc9fb3e) ) // GFX are in the last quarter. ROM_LOAD( "mbs_22.bin", 0x08000, 0x8000, CRC(2a4fa0f1) SHA1(1df7c7762aa6f4300c390a43092803cfd7ce46d3) ) // GFX are in the last quarter. ROM_LOAD( "mbs_23.bin", 0x10000, 0x8000, CRC(d47117ed) SHA1(ff5d981a70da7b08f04988e60624bad26529374f) ) // GFX are in the last quarter. ROM_LOAD( "mbs_24.bin", 0x18000, 0x8000, CRC(90fa917c) SHA1(d0de55c37c0bcc07586796189bb1e7a861f61a2d) ) // GFX are in the last quarter. ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "mbeu_5.bin", 0x00000, 0x8000, CRC(e97e90b4) SHA1(433b864d43b735dd043880e72eaabd0533530ceb) ) ROM_LOAD( "mbeu_6.bin", 0x08000, 0x8000, CRC(9be871a7) SHA1(d4738be7207c121ab3b82bf01e19377b47956f56) ) ROM_LOAD( "mbeu_7.bin", 0x10000, 0x8000, CRC(7a647742) SHA1(3f5433b85c81a94675fd681c18f2766d722a1f1f) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "temp", 0x06000, 0x0000, 0x2000 ) ROM_COPY( "temp", 0x0e000, 0x2000, 0x2000 ) ROM_COPY( "temp", 0x16000, 0x4000, 0x2000 ) ROM_COPY( "temp", 0x1e000, 0x6000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) /* proper dumps */ ROM_LOAD( "am27s21.g13", 0x0000, 0x0100, CRC(058b1195) SHA1(8e094e7a15d2ed7ff9d0336b0ea8a0a816e965e4) ) ROM_LOAD( "am27s21.g14", 0x0100, 0x0100, CRC(0dcaa791) SHA1(69c68a22002b57d03b90e82b5a33d1df66c39362) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "82s123.d13", 0x0000, 0x0020, CRC(eacb8b76) SHA1(30cdd169a45b87c4262eea03ae28f910b091b100) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "am27s21.f3", 0x0000, 0x0100, CRC(169cbb68) SHA1(1062e84c4b4208be9aa400e236579dc5b83e9f83) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "82s123.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_REGION( 0x800, "timekeeper", 0 ) // just for preservation and further analysis... ROM_LOAD( "m48t12.bin", 0x0000, 0x07f8, CRC(11e61f97) SHA1(57d4744747b9d75b3ac31da8fc621f1a00ff1de3) ) // shouldn't be 0x800? ROM_REGION( 0x1000, "plds", 0 ) ROM_LOAD( "gal16v8d.bin", 0x0000, 0x0892, CRC(1687b8da) SHA1(63c0bd119ec67c8033d08e03a6e6c86e0cab2884) ) // protected?... the first 0x800 are 1's ROM_END /* Lucky Bar Unknown reels game based on Wing's Lucky 8 Lines. W-4 hardware Daughterboard with Z80 + program ROM + MC68705P3S MCU at location ic4 (14b) Game seems to be meant for progressive modes... */ ROM_START( luckybar ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c256_subboard.ic4", 0x0000, 0x8000, CRC(b987115b) SHA1(1c2f6369170c9667996e5dde8ac93100a7234e19) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.bin", 0x00000, 0x8000, CRC(994a9894) SHA1(4063c2c5e111f24a85df1665fd3f9fbb20fda4da) ) ROM_LOAD( "6.bin", 0x08000, 0x8000, CRC(80888d64) SHA1(91ec96709df77c534d381e391839984a88aeb1e0) ) ROM_LOAD( "7.bin", 0x10000, 0x8000, CRC(255d5860) SHA1(f171fde3d542594132b38b44300f750d45fb67a2) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(e3b96119) SHA1(292d2066e5deb442b9ba3403a73dbfac992c69c2) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(e355d816) SHA1(bf709fd0597dd28d5e8a020a54064749e3d29988) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(cf196c4a) SHA1(b36d9ab37590cbcf48352e6186bc137139ded0aa) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(1432a1c2) SHA1(c7cdf3501b9545b5463a7051d22765a9601ccad0) ) ROM_REGION( 0x200, "proms", 0 ) /* proper dumps */ ROM_LOAD( "82s129.g13", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "82s129.g14", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "82s123.d13", 0x0000, 0x0020, CRC(c387bd86) SHA1(abf37c60e859dcedb3de2c85e7ed8e5545c9f73c) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "82s129.f3", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "82s123.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* Cherry Angel (W-4 / CB3 hardware) Daughterboard with Z80 + program ROM + TTL at location ic4 (14b) Encryption pattern: For each 0x100 block: 00-7f : 22 2a 82 2a... 80-ff : a8 88 28 88... */ ROM_START( chryangla ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c512_ca.sub", 0x0000, 0x10000, CRC(e0c9d088) SHA1(b96ae39616f595eb461242705689570f96467c8a) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.bin", 0x00000, 0x8000, CRC(5f4d51e4) SHA1(f88b786a3cb0c5b3609812d7cc5355a1791326b9) ) ROM_LOAD( "6.bin", 0x08000, 0x8000, CRC(c078ac8a) SHA1(9befeacb20b4a1ff08cd273f54fdf7a849509fec) ) ROM_LOAD( "7.bin", 0x10000, 0x8000, CRC(2311d258) SHA1(888a8c9d08bb7f0c35eacf02eae15f9ac0b816a8) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(7cc6d26b) SHA1(de33e8985affce7bd3ead89463117c9aaa93d5e4) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(32057eb7) SHA1(95379c43e476d7908186e39608548e7ef61dedc3) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(91162010) SHA1(3acc21e7074602b247f2f392eb181802092d2f21) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(cbcc6bfb) SHA1(5bafc934fef1f50d8c182c39d3a7ce795c89d175) ) ROM_REGION( 0x200, "proms", 0 ) /* proper dumps */ ROM_LOAD( "82s129.g13", 0x0000, 0x0100, CRC(59ac98e4) SHA1(5fc0f1a48c49c956cdb8826e20663dc57a9175e4) ) ROM_LOAD( "82s129.g14", 0x0100, 0x0100, CRC(0d8f35bd) SHA1(0c2a0145cdaaf9beabdce241731a36b0c65f18a2) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "82s123.d13", 0x0000, 0x0020, CRC(77a85e21) SHA1(3b41e0ab7cc55c5d78914d23e8289383f5bd5654) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "82s129.f3", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "82s123.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /****************************************************************************** Lucky Lady (1985, Wing) ----------------------- Wing original PCB Silkscreened: WING 8504-B - MADE IN JAPAN. 1x 40-pin unknown encrypted CPU (numbered 03155096 and Falcon logo) (C11). 1x AY-3-8910 (C5). 3x NEC D8255AC-5 (C7-C8-C10). 2x M5L27128K Program ROMs labeled 18 & 19 (B12-B13). 7x GFX ROMs in a row labeled 11 to 17 (H1-H3-H4-H6-H7-H8-H10). 1x Xtal @ 12MHz. (J6). 4x 8 DIP switches banks: SW1(D8)-SW2(D7)-SW4(D6)-SW3(D5). 1x 3.6 V. Lithium battery. 1x 2x 10 pins edge connector. 1x 2x 36 pins edge connector. 1x simple 3-contacts switch. The following PROMs were added later: 1x TBP18S030 @ D12 (32 bytes) 1x TBP18S030 @ D13 (32 bytes) 1x TBP24S10N @ F3 (256 bytes) 1x TBP24S10N @ G13 (256 bytes) 1x TBP24S10N @ G14 (256 bytes) RESNET: 2x resnet: @ D14: 1K - 470 - 220 - 1K - 470 - 220 - 470 - 220. @ F14: 1K - 470 - 220 - 1K - 1K - 470 - 220 - 1K - 470 - 220 - 1K. ****************************************************************************** About encryption... The scheme is the same used in some early Sega games (see machine/segacrpt_device.cpp) ******************************************************************************/ ROM_START( luckylad ) ROM_REGION( 0x10000, "maincpu", 0 ) /* encrypted CPU */ ROM_LOAD( "18.b12", 0x0000, 0x4000, CRC(2d178126) SHA1(5fc490e115e5c9073a7e3f56894fe19be6adb2b5) ) ROM_LOAD( "19.b13", 0x4000, 0x4000, CRC(ad02b9fd) SHA1(1a85da2d418350e5cebdb889fa146565a72f37c4) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "15.h7", 0x00000, 0x8000, CRC(42f221eb) SHA1(24f764b176339b5ff49dc1836913724805f970d7) ) ROM_LOAD( "16.h8", 0x08000, 0x8000, CRC(5af43f1e) SHA1(0f76071f1b43eab819bd892183730e9f7eed6c9b) ) ROM_LOAD( "17.h10", 0x10000, 0x8000, CRC(096522e3) SHA1(900e448dd657088ecb1e6c72c3b0859efb2ec23f) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "11.h1", 0x0000, 0x2000, CRC(abe67459) SHA1(71223b99b79284b71ad6d2a1c8061ddd61e24e36) ) ROM_LOAD( "12.h3", 0x2000, 0x2000, CRC(15d4bdae) SHA1(b2e4638bca29ec3ac662bc45f889a68c04cbd145) ) ROM_LOAD( "13.h4", 0x4000, 0x2000, CRC(167303b4) SHA1(a0d4804d46854d832ac7047647e5f452bd0d87a2) ) ROM_LOAD( "14.h5", 0x6000, 0x2000, CRC(708d5b2d) SHA1(a619b84bc67d579345db636d33e7e4f27e37a18c) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "tbp24s10n.g13", 0x0000, 0x0100, CRC(b053242d) SHA1(00ed5c0d6694e83ae695fb0cdfed53be2b0bd6c9) ) ROM_LOAD( "tbp24s10n.g14", 0x0100, 0x0100, CRC(46209d2a) SHA1(1d539219238ee47cdba3e7d44504619c7fbd2ade) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "tbp18s030.d13", 0x0000, 0x0020, CRC(41f3b9d3) SHA1(8b884a98e68ea438427227a64bf91fe86844a15f) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "tbp24s10n.f3", 0x0000, 0x0100, CRC(8de9cb92) SHA1(01449974fa27ebfd2583d6b2845c4f43938e082d) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "tbp18s030.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* Bingo, from Wing (1993). ------------------------ Seems hardware derivated from Lucky 8 Lines. 1x Z8400AB1 (11c) Z80A CPU. 3x D8255AC-2 (7c,8c,9c) Programmable Peripheral Interface. 1x WF19054 (5c) Programmable Sound Generator. 1x oscillator (x1 6j) 12.000MHz Xtal. ROMs 4x 2764 (1,2,3,4). 4x 27256 (5,6,7,9). 3x DM74S287N (3f,13g,14g) 2x N82S123N (12d,13d) not dumped yet. RAMs 1x LC3517BSL-15 (14c) 6x UM6116K-3 (1g,2g,3g,4g,11h,12) Others 1x 36x2 edge connector. 1x 10x2 edge connector. 1x pushbutton. 1x trimmer (volume). 1x trimmer VAL. 4x 8x2 DIP switches. 1x battery 3.6V. */ ROM_START( bingowng ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "bingo9.14b", 0x0000, 0x8000, CRC(e041092e) SHA1(2aa3e7af08c336e49bed817ddad7c3604398e296) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "bingo5.7h", 0x00000, 0x8000, CRC(6e78690f) SHA1(140bbe502ff2deae4692a51b70704b9133a14cd4) ) ROM_LOAD( "bingo6.8h", 0x08000, 0x8000, CRC(ab6897ce) SHA1(a4c1a6b7cd34b847b93a967ec88de4d22381944b) ) ROM_LOAD( "bingo7.10h", 0x10000, 0x8000, CRC(f286b0a5) SHA1(b9b5e92f06c757a4f0c61078fe9a333c5f334920) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "bingo1.1h", 0x0000, 0x2000, CRC(a4382f0b) SHA1(01376c5355439be58acb743948d058b5aaaed051) ) ROM_LOAD( "bingo2.3h", 0x2000, 0x2000, CRC(4650dd27) SHA1(90f858c60f66f897ab56d9ed7a0f7619a77efa73) ) ROM_LOAD( "bingo3.4h", 0x4000, 0x2000, CRC(cea5a714) SHA1(7fb40588823fed0737f00a2597405bb5d2662406) ) ROM_LOAD( "bingo4.5h", 0x6000, 0x2000, CRC(efc57761) SHA1(211b5f5587ec43b3769646fe17e5af2c0136f300) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "dm74s287n.13g", 0x0000, 0x0100, CRC(95e3c686) SHA1(33e1f33209b4c9e25619233810dd7b2e8d217e5a) ) ROM_LOAD( "dm74s287n.14g", 0x0100, 0x0100, CRC(452473ad) SHA1(2facfa7ebe2f20c4b172991cce9b6faad98ef4a2) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "n82s123n.13d", 0x0000, 0x0020, BAD_DUMP CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) // taken from other set ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "dm74s287n.3f", 0x0000, 0x0100, CRC(cc8202f5) SHA1(91411d3d828bc84323164c64f481d05210efda97) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "n82s123n.12d", 0x0000, 0x0020, BAD_DUMP CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) // taken from other set ROM_END ROM_START( bingownga ) /* This set is coming from Dumping Union */ ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "bingo.14b", 0x0000, 0x8000, CRC(e041092e) SHA1(2aa3e7af08c336e49bed817ddad7c3604398e296) ) // identical halves, same original program ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "bingo-5.h7", 0x00000, 0x8000, CRC(6b875fe5) SHA1(a2a214942584a2db2a17047264f4d62d0a746906) ) ROM_LOAD( "bingo-6.h8", 0x08000, 0x8000, CRC(2f156566) SHA1(7eccbc452550087f40fed1de5fa30a3290fb3c07) ) ROM_LOAD( "bingo-7.h10", 0x10000, 0x8000, CRC(cd0446ef) SHA1(42c15781a1d14f29b7f51936a179a1c7a183d03b) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "bingo-1.h1", 0x00000, 0x8000, CRC(fcfc888d) SHA1(13b73ad198c2bc12a0e6e146e28471d77d1d52de) ) ROM_LOAD( "bingo-2.h3", 0x08000, 0x8000, CRC(60e9065b) SHA1(d40fb01bf90b7f4fcc1da9cbe70efd04e7c5a220) ) ROM_LOAD( "bingo-3.h4", 0x10000, 0x8000, CRC(d7ecece9) SHA1(f5b551fac7f326f14d5ee191e930380bdce555c6) ) ROM_LOAD( "bingo-4.h6", 0x18000, 0x8000, CRC(16c840f8) SHA1(5612f09ee8bf69b6da1e52295d30179108926f86) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "dm74s287n.13g", 0x0000, 0x0100, CRC(95e3c686) SHA1(33e1f33209b4c9e25619233810dd7b2e8d217e5a) ) ROM_LOAD( "dm74s287n.14g", 0x0100, 0x0100, CRC(452473ad) SHA1(2facfa7ebe2f20c4b172991cce9b6faad98ef4a2) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "n82s123n.13d", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "dm74s287n.3f", 0x0000, 0x0100, CRC(cc8202f5) SHA1(91411d3d828bc84323164c64f481d05210efda97) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "n82s123n.12d", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* Magical Tonic unknown, 40 pin cpu (plastic box, with "Tonic" sticker on it) 8255 x3 YM2203 12 MHz 4x DSW is this the original Magical Odds? */ void wingco_state::init_magoddsc() { uint8_t *ROM = memregion("maincpu")->base(); for (int A = 0; A < 0x8000; A++) { if ((A & 4) == 4) ROM[A] ^= 0x01; ROM[A] = bitswap<8>(ROM[A], 3,6,5,4,7,2,1,0); } } // is this a bootleg board? ROM_START( magodds ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "8_p6_d12.512", 0x00000, 0x08000, CRC(6978c662) SHA1(cfdbcdcd4085c264e1d0ad4f18160b40d2d4e406) ) ROM_IGNORE(0x8000) // 1ST AND 2ND HALF IDENTICAL ROM_LOAD( "9_p7_d14.512", 0x0c000, 0x04000, CRC(095230ba) SHA1(e60f5497c2cd5f1c0fc33b1e21303dd569654e6d) ) ROM_IGNORE(0xc000) // BADADDR --magoddscxxxxxx ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "5_l5_g2.512", 0x20000, 0x10000, CRC(f0ffb199) SHA1(383406e6ab74e8cecaf5574a879bf24aa606ac37) ) ROM_LOAD( "6_l6_g3.512", 0x10000, 0x10000, CRC(3e44d92b) SHA1(4e00e26a4dbf326c0c919c40382505189e82c85b) ) ROM_LOAD( "7_l7_g5.512", 0x00000, 0x10000, CRC(654bb754) SHA1(346bfbf85fc38797cf422da47d474e2ef2ef459c) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1_m1_h2.764", 0x06000, 0x2000, CRC(d7d657e4) SHA1(53e2717edb4cdeac83cd519b08225784600afa61) ) ROM_LOAD( "2_m2_h3.764", 0x02000, 0x2000, CRC(fb7541d5) SHA1(62a36c186b32bd98dff5c3f0fa5f2ad13992835c) ) ROM_LOAD( "3_m3_h5.764", 0x04000, 0x2000, CRC(49572d8b) SHA1(ceaaf911f58cceec82f429ca9114bffa1a67ec12) ) ROM_LOAD( "4_m4_h6.764", 0x00000, 0x2000, CRC(cccfaa5d) SHA1(69d9b8a26c769fd69093610e92918c9a086a2077) ) ROM_REGION( 0x300, "proms", 0 ) ROM_LOAD( "82s129a.3c", 0x000, 0x100, CRC(8c4c0dc8) SHA1(1b3ddbd253555efd1f48d469b42b272b9d96bacf) ) ROM_LOAD( "82s129a.1c", 0x100, 0x100, CRC(55e3c65f) SHA1(f51d08e0b2e4d97d2eacb1f6d52777065bbe1ae5) ) ROM_LOAD( "82s129a.2c", 0x200, 0x100, CRC(4d46f40a) SHA1(c141e94ae5705773605b7a094e65625b4a21db73) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129a.6j", 0x000, 0x100, CRC(1200815e) SHA1(8c9a856274246644af25961a2e731dbcb73f12b9) ) ROM_REGION( 0x100, "proms3", 0 ) ROM_LOAD( "dm74s288.1a", 0x00, 0x20, CRC(6a13320b) SHA1(6d7c663477f3fbc22fb716e15bfdd9c452eb686a) ) ROM_LOAD( "dm74s288.1b", 0x20, 0x20, CRC(e04abac8) SHA1(4f2adf9f1482470b6de6d0e547623f62e95eaf24) ) ROM_LOAD( "dm74s288.12k",0x40, 0x20, CRC(03231e84) SHA1(92abdf6f8ef705b260378e90e6d591da056c2cee) ) ROM_END // is this a bootleg board? // program is the same as above set (but without the oversized rom 9), only gfx1 differs // the proms came from this board ROM_START( magoddsa ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "8.12e", 0x00000, 0x08000, CRC(6978c662) SHA1(cfdbcdcd4085c264e1d0ad4f18160b40d2d4e406) ) ROM_IGNORE(0x8000) // 1ST AND 2ND HALF IDENTICAL ROM_LOAD( "9.14e", 0x0c000, 0x04000, CRC(b3661c55) SHA1(f576d434ccec6f342455c18ada156d29634627cb) ) ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "5.2f", 0x20000, 0x10000, CRC(39e6ad6f) SHA1(0075015b3e794d82fb62984a41be48d17833c9f0) ) ROM_LOAD( "6.3f", 0x10000, 0x10000, CRC(42e03002) SHA1(5c4f2a1aa91d3c0906665bec7423f8579f434dc1) ) ROM_LOAD( "7.5f", 0x00000, 0x10000, CRC(5301a9a4) SHA1(f592bfc5f0d835cab6029aed7d6dcdd9d2ee1a2c) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1_m1_h2.764", 0x06000, 0x2000, CRC(d7d657e4) SHA1(53e2717edb4cdeac83cd519b08225784600afa61) ) ROM_LOAD( "2_m2_h3.764", 0x02000, 0x2000, CRC(fb7541d5) SHA1(62a36c186b32bd98dff5c3f0fa5f2ad13992835c) ) ROM_LOAD( "3_m3_h5.764", 0x04000, 0x2000, CRC(49572d8b) SHA1(ceaaf911f58cceec82f429ca9114bffa1a67ec12) ) ROM_LOAD( "4_m4_h6.764", 0x00000, 0x2000, CRC(cccfaa5d) SHA1(69d9b8a26c769fd69093610e92918c9a086a2077) ) ROM_REGION( 0x300, "proms", 0 ) ROM_LOAD( "82s129a.3c", 0x000, 0x100, CRC(8c4c0dc8) SHA1(1b3ddbd253555efd1f48d469b42b272b9d96bacf) ) ROM_LOAD( "82s129a.1c", 0x100, 0x100, CRC(55e3c65f) SHA1(f51d08e0b2e4d97d2eacb1f6d52777065bbe1ae5) ) ROM_LOAD( "82s129a.2c", 0x200, 0x100, CRC(4d46f40a) SHA1(c141e94ae5705773605b7a094e65625b4a21db73) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129a.6j", 0x000, 0x100, CRC(1200815e) SHA1(8c9a856274246644af25961a2e731dbcb73f12b9) ) ROM_REGION( 0x100, "proms3", 0 ) ROM_LOAD( "dm74s288.1a", 0x00, 0x20, CRC(6a13320b) SHA1(6d7c663477f3fbc22fb716e15bfdd9c452eb686a) ) ROM_LOAD( "dm74s288.1b", 0x20, 0x20, CRC(e04abac8) SHA1(4f2adf9f1482470b6de6d0e547623f62e95eaf24) ) ROM_LOAD( "dm74s288.12k",0x40, 0x20, CRC(03231e84) SHA1(92abdf6f8ef705b260378e90e6d591da056c2cee) ) ROM_END // gfx same as above set, program rom differs ROM_START( magoddsb ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "mo-137-8.p6", 0x00000, 0x08000, CRC(abe5d6d1) SHA1(45161c580e6852aae5d9dbc06bb9743e86f9c279) ) ROM_LOAD( "mo-137-9.p7", 0x0c000, 0x04000, CRC(b3661c55) SHA1(f576d434ccec6f342455c18ada156d29634627cb) ) ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "mo-137-5.l5", 0x20000, 0x10000, CRC(39e6ad6f) SHA1(0075015b3e794d82fb62984a41be48d17833c9f0) ) ROM_LOAD( "mo-137-6.l6", 0x10000, 0x10000, CRC(42e03002) SHA1(5c4f2a1aa91d3c0906665bec7423f8579f434dc1) ) ROM_LOAD( "mo-137-7.l7", 0x00000, 0x10000, CRC(5301a9a4) SHA1(f592bfc5f0d835cab6029aed7d6dcdd9d2ee1a2c) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "mo-137-1.m1", 0x06000, 0x2000, CRC(d7d657e4) SHA1(53e2717edb4cdeac83cd519b08225784600afa61) ) ROM_LOAD( "mo-137-2.m2", 0x02000, 0x2000, CRC(fb7541d5) SHA1(62a36c186b32bd98dff5c3f0fa5f2ad13992835c) ) ROM_LOAD( "mo-137-3.m3", 0x04000, 0x2000, CRC(49572d8b) SHA1(ceaaf911f58cceec82f429ca9114bffa1a67ec12) ) ROM_LOAD( "mo-137-4.m4", 0x00000, 0x2000, CRC(cccfaa5d) SHA1(69d9b8a26c769fd69093610e92918c9a086a2077) ) ROM_REGION( 0x300, "proms", 0 ) ROM_LOAD( "n5.bin", 0x000, 0x100, CRC(8c4c0dc8) SHA1(1b3ddbd253555efd1f48d469b42b272b9d96bacf) ) ROM_LOAD( "n7.bin", 0x100, 0x100, CRC(55e3c65f) SHA1(f51d08e0b2e4d97d2eacb1f6d52777065bbe1ae5) ) ROM_LOAD( "n6.bin", 0x200, 0x100, CRC(4d46f40a) SHA1(c141e94ae5705773605b7a094e65625b4a21db73) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "n4.bin", 0x000, 0x100, CRC(1200815e) SHA1(8c9a856274246644af25961a2e731dbcb73f12b9) ) ROM_REGION( 0x100, "proms3", 0 ) ROM_LOAD( "n9.bin", 0x00, 0x20, CRC(6a13320b) SHA1(6d7c663477f3fbc22fb716e15bfdd9c452eb686a) ) ROM_LOAD( "n8.bin", 0x20, 0x20, CRC(e04abac8) SHA1(4f2adf9f1482470b6de6d0e547623f62e95eaf24) ) ROM_LOAD( "p1.bin", 0x40, 0x20, CRC(1aa176f3) SHA1(fe777cba829046f850ab612b927bde4fe0d37811) ) // different! to magoddsa ROM_END // custom CPU block ROM_START( magoddsc ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8.e6", 0x0000, 0x8000, CRC(01daf2af) SHA1(cb9b12c79dce3c9123510a49dffc9f3cee056cf6) ) ROM_LOAD( "9.e6", 0x8000, 0x8000, CRC(1770ac79) SHA1(cadfd00ae75b90b1d202d741828e0afbd5ba0bec) ) ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "5.j10", 0x00000, 0x10000, CRC(b8032ea3) SHA1(15e5335a583d8e7a5422cd4d1d7342874a4962ab) ) ROM_LOAD( "6.j11", 0x10000, 0x10000, CRC(ff38ff30) SHA1(8fef6e1fe7c307c69c9dcafa69ecf66467b9cb41) ) ROM_LOAD( "7.j12", 0x20000, 0x10000, CRC(8f1d2db9) SHA1(200de01334905079dca542541e442d4194ecd913) ) ROM_REGION( 0x10000, "gfx2", 0 ) ROM_LOAD( "1.l10", 0x0000, 0x4000, CRC(746588db) SHA1(2a0af552011246d4cc0cd0b670907cf8685ce8ef) ) ROM_LOAD( "2.l11", 0x4000, 0x4000, CRC(8b7dd248) SHA1(a3ebde9fd0b6b1e42aa9b6d8e30c225abf2f80ce) ) ROM_LOAD( "3.l12", 0x8000, 0x4000, CRC(de05e678) SHA1(8b9fcb9f912075a20a9ae38100006b57d508e0e7) ) ROM_LOAD( "4.l13", 0xc000, 0x4000, CRC(8c542eee) SHA1(cb424e2a67c6d39302beca7cd5244bcad4a91189) ) // proms not verified on this set, taken from magoddsa ROM_REGION( 0x300, "proms", 0 ) ROM_LOAD( "82s129a.3c", 0x000, 0x100, CRC(8c4c0dc8) SHA1(1b3ddbd253555efd1f48d469b42b272b9d96bacf) ) ROM_LOAD( "82s129a.1c", 0x100, 0x100, CRC(55e3c65f) SHA1(f51d08e0b2e4d97d2eacb1f6d52777065bbe1ae5) ) ROM_LOAD( "82s129a.2c", 0x200, 0x100, CRC(4d46f40a) SHA1(c141e94ae5705773605b7a094e65625b4a21db73) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129a.6j", 0x000, 0x100, CRC(1200815e) SHA1(8c9a856274246644af25961a2e731dbcb73f12b9) ) ROM_REGION( 0x100, "proms3", 0 ) ROM_LOAD( "dm74s288.1a", 0x00, 0x20, CRC(6a13320b) SHA1(6d7c663477f3fbc22fb716e15bfdd9c452eb686a) ) ROM_LOAD( "dm74s288.1b", 0x20, 0x20, CRC(e04abac8) SHA1(4f2adf9f1482470b6de6d0e547623f62e95eaf24) ) ROM_LOAD( "dm74s288.12k",0x40, 0x20, CRC(03231e84) SHA1(92abdf6f8ef705b260378e90e6d591da056c2cee) ) ROM_END // custom CPU block ROM_START( magoddsd ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "8.p7", 0x0000, 0x8000, CRC(da0f1ae5) SHA1(5790c8ec6fbcd13088079c1fbd035ef816b423e6) ) ROM_LOAD( "9.p6", 0x0c000, 0x04000, CRC(b3661c55) SHA1(f576d434ccec6f342455c18ada156d29634627cb) ) ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "5.m2", 0x20000, 0x10000, CRC(39e6ad6f) SHA1(0075015b3e794d82fb62984a41be48d17833c9f0) ) ROM_LOAD( "6.m3", 0x10000, 0x10000, CRC(42e03002) SHA1(5c4f2a1aa91d3c0906665bec7423f8579f434dc1) ) ROM_LOAD( "7.m4", 0x00000, 0x10000, CRC(5301a9a4) SHA1(f592bfc5f0d835cab6029aed7d6dcdd9d2ee1a2c) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.m1", 0x06000, 0x2000, CRC(d7d657e4) SHA1(53e2717edb4cdeac83cd519b08225784600afa61) ) ROM_LOAD( "2.m2", 0x02000, 0x2000, CRC(fb7541d5) SHA1(62a36c186b32bd98dff5c3f0fa5f2ad13992835c) ) ROM_LOAD( "3.m3", 0x04000, 0x2000, CRC(49572d8b) SHA1(ceaaf911f58cceec82f429ca9114bffa1a67ec12) ) ROM_LOAD( "4.m4", 0x00000, 0x2000, CRC(cccfaa5d) SHA1(69d9b8a26c769fd69093610e92918c9a086a2077) ) // proms not verified on this set, taken from magoddsa ROM_REGION( 0x300, "proms", 0 ) ROM_LOAD( "82s129a.3c", 0x000, 0x100, CRC(8c4c0dc8) SHA1(1b3ddbd253555efd1f48d469b42b272b9d96bacf) ) ROM_LOAD( "82s129a.1c", 0x100, 0x100, CRC(55e3c65f) SHA1(f51d08e0b2e4d97d2eacb1f6d52777065bbe1ae5) ) ROM_LOAD( "82s129a.2c", 0x200, 0x100, CRC(4d46f40a) SHA1(c141e94ae5705773605b7a094e65625b4a21db73) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129a.6j", 0x000, 0x100, CRC(1200815e) SHA1(8c9a856274246644af25961a2e731dbcb73f12b9) ) ROM_REGION( 0x100, "proms3", 0 ) ROM_LOAD( "dm74s288.1a", 0x00, 0x20, CRC(6a13320b) SHA1(6d7c663477f3fbc22fb716e15bfdd9c452eb686a) ) ROM_LOAD( "dm74s288.1b", 0x20, 0x20, CRC(e04abac8) SHA1(4f2adf9f1482470b6de6d0e547623f62e95eaf24) ) ROM_LOAD( "dm74s288.12k",0x40, 0x20, CRC(03231e84) SHA1(92abdf6f8ef705b260378e90e6d591da056c2cee) ) ROM_END /* LADY LINER - TAB Austria Hardware Notes: --------------- CPU: 1x Z80. Sound: 1x AY8930. I/O: 2x P8255A. Clock: 1x Xtal @ 12.0000MHz. ROMs: 1x NM27C256Q (ladybrd) 7x M27C64A (1,2,3,4,71,72,73) 2x PROM AM27S19PC (39,73) 3x PROM AM27S21PC (37,38,96) RAM: 4x HY6116ALP-10 (near graphics ROMs) 1x HY6116ALP-10 (near program ROM) 1x 8 DIP Switches. 1x trimmer (volume). Connectors: 1x 18x2 edge connector. 1x 22x2 edge connector. Both connectors are wired to a strange small PCB with: 1x 6x2 edge connector + 1x 60x2 edge connector (with smaller spacing) + 2x 8 DIP Switches. Silkscreened on PCB: "TAB AUSTRIA" Sticker on PCB: "TAB Austria" & "LL 2690" */ ROM_START( ladylinr ) ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "ladybrd.bin", 0x0000, 0x8000, CRC(44d2aed0) SHA1(1afe6178d1bf4ad0b623f33be879ed5180ad2db1) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "ll73.bin", 0x00000, 0x8000, CRC(afa4a705) SHA1(779340713df7029553cfc1c57997dfdd96a0f0cc) ) ROM_LOAD( "ll72.bin", 0x08000, 0x8000, CRC(bd1d8a39) SHA1(01e37704c753352024e79b0b83b040f8288b9aed) ) ROM_LOAD( "ll71.bin", 0x10000, 0x8000, CRC(1c417efa) SHA1(491579a76d80c4f488ef94393d12a190571ae285) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "am27s21pc.38", 0x0000, 0x0100, CRC(06a0ee6f) SHA1(e793fbb9e14e4e6c6d6783a36edee74f28e7e214) ) ROM_LOAD( "am27s21pc.37", 0x0100, 0x0100, CRC(8589d23c) SHA1(9629c0d8af3cce47ef376898a4be84c0752a265b) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "am27s19pc.39", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "am27s21pc.96", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x40, "unkprom2", 0 ) ROM_LOAD( "am27s19pc.73", 0x0000, 0x0020, CRC(b48d0b41) SHA1(01d2d0fd5e79c17043e97146001150b4b32ac86c) ) ROM_END ROM_START( ladylinra ) ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "6895a.bin", 0x0000, 0x8000, CRC(edf477ed) SHA1(abb54a7d5dcb9b32871272274a4fb850c0c5f633) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "73.bin", 0x00000, 0x8000, CRC(b9a018de) SHA1(fea5a428c6b970c9ad054cbc0ac9727491300d5f) ) ROM_LOAD( "72.bin", 0x08000, 0x8000, CRC(819498e0) SHA1(8e68400419bada80f8bbaf6e9d19bf8eeadddd2a) ) ROM_LOAD( "71.bin", 0x10000, 0x8000, CRC(36ccd3f8) SHA1(fd1b4e24d9bbadc4f82810fa5fd18ca0bbd968de) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "63s141.38", 0x0000, 0x0100, CRC(06a0ee6f) SHA1(e793fbb9e14e4e6c6d6783a36edee74f28e7e214) ) ROM_LOAD( "63s141.37", 0x0100, 0x0100, CRC(8589d23c) SHA1(9629c0d8af3cce47ef376898a4be84c0752a265b) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "63s081.39", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "63s141.96", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x40, "unkprom2", 0 ) ROM_LOAD( "63s081.73", 0x0000, 0x0020, CRC(b48d0b41) SHA1(01d2d0fd5e79c17043e97146001150b4b32ac86c) ) ROM_END /* Lady Liner (encrypted) These have a custom module with an encapsulated Z80 "CSP Z80" by SPL, Swiss made. Encryption seems close to custom Sega/NEC 315-xxx CPUs Data, address and M1 line (opcodes/data) are involved. Each set has different encryption, and seems that the encryption range is 0000-3b77. Beyond the offset, all seems to be unencrypted. */ ROM_START( ladylinrb ) ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "5067a.bin", 0x0000, 0x8000, CRC(41fc18a9) SHA1(2825a3f6b556993a16c2ea3f0a14c73bebb74d9c) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "73.bin", 0x00000, 0x8000, CRC(b9a018de) SHA1(fea5a428c6b970c9ad054cbc0ac9727491300d5f) ) ROM_LOAD( "72.bin", 0x08000, 0x8000, CRC(819498e0) SHA1(8e68400419bada80f8bbaf6e9d19bf8eeadddd2a) ) ROM_LOAD( "71.bin", 0x10000, 0x8000, CRC(36ccd3f8) SHA1(fd1b4e24d9bbadc4f82810fa5fd18ca0bbd968de) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "63s141.38", 0x0000, 0x0100, CRC(06a0ee6f) SHA1(e793fbb9e14e4e6c6d6783a36edee74f28e7e214) ) ROM_LOAD( "63s141.37", 0x0100, 0x0100, CRC(8589d23c) SHA1(9629c0d8af3cce47ef376898a4be84c0752a265b) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "63s081.39", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "63s141.96", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x40, "unkprom2", 0 ) ROM_LOAD( "63s081.73", 0x0000, 0x0020, CRC(b48d0b41) SHA1(01d2d0fd5e79c17043e97146001150b4b32ac86c) ) ROM_END ROM_START( ladylinrc ) ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "4012a.bin", 0x0000, 0x8000, CRC(a741cd75) SHA1(84f9ae2421fe60548925cf262b4d3ebee2d30e9c) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "73.bin", 0x00000, 0x8000, CRC(afa4a705) SHA1(779340713df7029553cfc1c57997dfdd96a0f0cc) ) ROM_LOAD( "72.bin", 0x08000, 0x8000, CRC(bd1d8a39) SHA1(01e37704c753352024e79b0b83b040f8288b9aed) ) ROM_LOAD( "71.bin", 0x10000, 0x8000, CRC(1c417efa) SHA1(491579a76d80c4f488ef94393d12a190571ae285) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.38", 0x0000, 0x0100, CRC(06a0ee6f) SHA1(e793fbb9e14e4e6c6d6783a36edee74f28e7e214) ) ROM_LOAD( "82s129.37", 0x0100, 0x0100, CRC(8589d23c) SHA1(9629c0d8af3cce47ef376898a4be84c0752a265b) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "82s123.39", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "82s129.96", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x40, "unkprom2", 0 ) ROM_LOAD( "82s123.73", 0x0000, 0x0020, CRC(b48d0b41) SHA1(01d2d0fd5e79c17043e97146001150b4b32ac86c) ) ROM_END ROM_START( ladylinrd ) ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "6092a.bin", 0x0000, 0x8000, CRC(fdf3d899) SHA1(40cb78d808ed153ff0232bc043e3d404face8cab) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "73.bin", 0x00000, 0x8000, CRC(b9a018de) SHA1(fea5a428c6b970c9ad054cbc0ac9727491300d5f) ) ROM_LOAD( "72.bin", 0x08000, 0x8000, CRC(819498e0) SHA1(8e68400419bada80f8bbaf6e9d19bf8eeadddd2a) ) ROM_LOAD( "71.bin", 0x10000, 0x8000, CRC(36ccd3f8) SHA1(fd1b4e24d9bbadc4f82810fa5fd18ca0bbd968de) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "prom_38.bin", 0x0000, 0x0100, CRC(06a0ee6f) SHA1(e793fbb9e14e4e6c6d6783a36edee74f28e7e214) ) ROM_LOAD( "prom_37.bin", 0x0100, 0x0100, CRC(8589d23c) SHA1(9629c0d8af3cce47ef376898a4be84c0752a265b) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "prom_39.bin", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "prom_96.bin", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x40, "unkprom2", 0 ) ROM_LOAD( "prom_73.bin", 0x0000, 0x0020, CRC(b48d0b41) SHA1(01d2d0fd5e79c17043e97146001150b4b32ac86c) ) ROM_END ROM_START( ladylinre ) ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "6095a.bin", 0x0000, 0x8000, CRC(7c3a3697) SHA1(5f348407ec26ce6d92edf54157652f7cbde86b91) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "73.bin", 0x00000, 0x8000, CRC(b9a018de) SHA1(fea5a428c6b970c9ad054cbc0ac9727491300d5f) ) ROM_LOAD( "72.bin", 0x08000, 0x8000, CRC(819498e0) SHA1(8e68400419bada80f8bbaf6e9d19bf8eeadddd2a) ) ROM_LOAD( "71.bin", 0x10000, 0x8000, CRC(36ccd3f8) SHA1(fd1b4e24d9bbadc4f82810fa5fd18ca0bbd968de) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.bin", 0x0000, 0x2000, CRC(29d6f197) SHA1(1542ca457594f6b7fe8f28f7d78023edd7021bc8) ) ROM_LOAD( "2.bin", 0x2000, 0x2000, CRC(5f812e65) SHA1(70d9ea82f9337936bf21f82b6961768d436f3a6f) ) ROM_LOAD( "3.bin", 0x4000, 0x2000, CRC(898b9ed5) SHA1(11b7d1cfcf425d00d086c74e0dbcb72068dda9fe) ) ROM_LOAD( "4.bin", 0x6000, 0x2000, CRC(4f7cfb35) SHA1(0617cf4419be00d9bacc78724089cb8af4104d68) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "prom_38.bin", 0x0000, 0x0100, CRC(06a0ee6f) SHA1(e793fbb9e14e4e6c6d6783a36edee74f28e7e214) ) ROM_LOAD( "prom_37.bin", 0x0100, 0x0100, CRC(8589d23c) SHA1(9629c0d8af3cce47ef376898a4be84c0752a265b) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "prom_39.bin", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "prom_96.bin", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x40, "unkprom2", 0 ) ROM_LOAD( "prom_73.bin", 0x0000, 0x0020, CRC(b48d0b41) SHA1(01d2d0fd5e79c17043e97146001150b4b32ac86c) ) ROM_END /* Board had a sticker that said MODEL 9006 .u22 2764 .u21 2764 .u20 2764 .u19 2764 .u18 27256 .u17 27256 .u16 27256 .u66 27256 HM6116P D4016C-2 x3 D4016C-5 12Mhz Crystal D780C UM82C55A-PC M5L8255AP-5 D8255AC-2 */ ROM_START( kkotnoli ) ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "9006.u66", 0x0000, 0x8000, CRC(5807a005) SHA1(9c7156656cd651c7785c42ce25e96aadd8e3d9ff) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "9006.u18", 0x00000, 0x8000, CRC(b83e304f) SHA1(1022518928d8cb094340927a65b8fb72b0f3c640) ) ROM_LOAD( "9006.u17", 0x08000, 0x8000, CRC(13a3258b) SHA1(605555ae48012ca4b1829d1c835b33ddeec17da6) ) ROM_LOAD( "9006.u16", 0x10000, 0x8000, CRC(84d09be4) SHA1(09a9e491a9a5fc7882c88d46ae2a6e7e99d082f4) ) ROM_REGION( 0x8000, "gfx2", 0 ) /* redumped */ ROM_LOAD( "9006.u22", 0x0000, 0x2000, CRC(4e93130d) SHA1(faaaf51844da8d3bdb908fb8ce0f2442e26b5f62) ) ROM_LOAD( "9006.u20", 0x2000, 0x2000, CRC(717fe736) SHA1(04e578c1992bbdb312bb6bc12137bd96522a50e6) ) ROM_LOAD( "9006.u21", 0x4000, 0x2000, CRC(f5314f3f) SHA1(0423dc545fce0322377f1934894a999427709b33) ) ROM_LOAD( "9006.u19", 0x6000, 0x2000, CRC(c321d50b) SHA1(8c132d8fcc812bcec5966c8a3960dfbe5d9f8c36) ) /* proper proms recent dumped */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "9006.u24", 0x0000, 0x0100, CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "9006.u23", 0x0100, 0x0100, CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) /* this one seems bitrotten (bits 3 and 7), except for this issue, the prom have concordance with prom1 from lucky8 */ ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "prom1", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) // ROM_LOAD( "9006.u57", 0x0000, 0x0020, CRC(8a37416a) SHA1(696b46db2ff2bb9ef471ff925977e8a186b17de8) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "9006.u41", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "9006.u58", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END /* Wild cat 3 by E.A.I. Cherry master type game .h1 2764 handwritten 1 .h3 2764 handwritten 2 .h4 2764 handwritten 3 .h5 2764 handwritten 4 .h7 27256 handwritten 5 .h8 27256 handwritten 6 .h10 27256 stickered 7 E.A.I. .g13 82s129 stickered G13 .g14 82s129 stickered G14 .d12 82s123 handwritten 2 .d13 82s123 stickered D13 .f3 82s129 handwritten 3 open 24 pin socket @ B13 Daughter board .u5 27512 Z80 on daughter board SN76489AN 6116 x4 12.000 MHz crystal 8255 x3 Winbound WF19054 40 pin dip */ ROM_START( wcat3 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "wcat3.u5", 0x0000, 0x10000, CRC(bf21cde5) SHA1(b501ba8ea815e3b19b26196f6fd48243892278eb) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "wcat3.h7", 0x10000, 0x8000, CRC(065cb575) SHA1(4dd49773c4caeaa489342e61f26c8eaaae876edc) ) ROM_LOAD( "wcat3.h8", 0x08000, 0x8000, CRC(60463213) SHA1(b0937b4a55f74831ce9a06f3df0af504845f908d) ) ROM_LOAD( "wcat3.h10", 0x00000, 0x8000, CRC(dda38c26) SHA1(4b9292911133dd6067a1c61a44845e824e88a52d) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "wcat3.h1", 0x6000, 0x2000, CRC(0509d556) SHA1(c2f46d279f45b544c67b0c966659cc6d5d53c22f) ) ROM_LOAD( "wcat3.h2", 0x4000, 0x2000, CRC(d50f3d62) SHA1(8500c7f3a2f51ea0ed7e142ecdc4e669ba3e7065) ) ROM_LOAD( "wcat3.h4", 0x2000, 0x2000, CRC(373d9949) SHA1(ff483505fb9e86411acad7059bf5434dde290946) ) ROM_LOAD( "wcat3.h5", 0x0000, 0x2000, CRC(50febe3b) SHA1(0479bcee53b174aa0413951e283e446b09a6f156) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "wcat3.g13", 0x0000, 0x0100, CRC(c29a36f2) SHA1(936b07a195f6e7f6a884bd35f442003cf67aa447) ) ROM_LOAD( "wcat3.g14", 0x0100, 0x0100, CRC(dcd53d2c) SHA1(bbcb4266117c3cd1c8ef0e5046d3558c8293313a) ) ROM_REGION( 0x40, "proms2", 0 ) ROM_LOAD( "wcat3.d13", 0x0000, 0x0020, CRC(eab832ed) SHA1(0fbc8914ba1805cfc6698fe7f137a934e63a4f89) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "wcat3.f3", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x40, "unkprom2", 0 ) ROM_LOAD( "wcat3.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_END ROM_START( wcat3a ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "main program sub 27c512.bin", 0x0000, 0x10000, CRC(50b61d88) SHA1(7cea2a03d9b48a1f324171f69ae9df62cf65dc6f) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "rom7.bin", 0x10000, 0x8000, CRC(3e2ade27) SHA1(9a463219c5028ed32086c378a17079f69d1c0439) ) ROM_LOAD( "rom6.bin", 0x08000, 0x8000, CRC(71ae4c3c) SHA1(7b3b0a7453e5844194f3d3ed449549e4c091b127) ) ROM_LOAD( "rom5.bin", 0x00000, 0x8000, CRC(8fac3f23) SHA1(e2c67620aa2ea01c2d469d963b5a34ca710742ec) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "rom4.bin", 0x6000, 0x2000, CRC(0509d556) SHA1(c2f46d279f45b544c67b0c966659cc6d5d53c22f) ) ROM_LOAD( "rom3.bin", 0x4000, 0x2000, CRC(d50f3d62) SHA1(8500c7f3a2f51ea0ed7e142ecdc4e669ba3e7065) ) ROM_LOAD( "rom2.bin", 0x2000, 0x2000, CRC(373d9949) SHA1(ff483505fb9e86411acad7059bf5434dde290946) ) ROM_LOAD( "rom1.bin", 0x0000, 0x2000, CRC(50febe3b) SHA1(0479bcee53b174aa0413951e283e446b09a6f156) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // no girls bitmap ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "n82s129 u84.bin", 0x0000, 0x0100, CRC(d12b865b) SHA1(cb1fee592c9eb51e38c33a27f8d706c4c57b9823) ) ROM_LOAD( "n82s129 u79.bin", 0x0100, 0x0100, CRC(89af30d9) SHA1(049252654a25399ad5ca95d1b063eb45356efcad) ) ROM_END /* these 'Amcoe' games look like bootlegs of cherry master the z80 roms are encrypted */ ROM_START( skill98 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "sk98133.bin", 0x0000, 0x1000, CRC(77a5dd54) SHA1(e693f477b42b83f1f5e45fb7c56486119bf91856) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x1000) ROM_CONTINUE(0x9000,0x1000) ROM_CONTINUE(0xa000,0x1000) ROM_CONTINUE(0xb000,0x1000) ROM_CONTINUE(0xc000,0x1000) ROM_CONTINUE(0xd000,0x1000) ROM_CONTINUE(0xe000,0x1000) ROM_CONTINUE(0xf000,0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "sk98h.bin", 0x00000, 0x10000, CRC(0574357b) SHA1(96a846f6d49dd67ad078ad9240e632f79ae1b437) ) ROM_LOAD( "sk98l.bin", 0x10000, 0x10000, CRC(ebe802a4) SHA1(178542c204fd1027874e6d2c099edaa7878c993f) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "sk98u19.bin", 0x0000, 0x0100, CRC(796c7960) SHA1(0f64a8119fd4809a5ac79585b415b34b2a83e9dc) ) ROM_LOAD( "sk98u20.bin", 0x0100, 0x0100, CRC(a0862663) SHA1(e27c3bba5f87b51a19ea8068f2ce7b82a6f0eedb) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "sku1920.bin", 0x0000, 0x0100, CRC(a8c86d5e) SHA1(d19cd5e57ac8fdd685540c1bb2e1474d1326362b) ) ROM_REGION( 0x80000, "oki", 0 ) // samples ROM_LOAD( "sk98t.bin", 0x00000, 0x20000, CRC(8598b059) SHA1(9e031e30e58a9c1b3d029004ee0f1616711fa2ae) ) ROM_END ROM_START( schery97 ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "sc352.bin", 0x00000, 0x1000, CRC(d3857d85) SHA1(e97b2634f0993631023c08f6baf800461abfad12) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x1000) ROM_CONTINUE(0x9000,0x1000) ROM_CONTINUE(0xa000,0x1000) ROM_CONTINUE(0xb000,0x1000) ROM_CONTINUE(0xc000,0x1000) ROM_CONTINUE(0xd000,0x1000) ROM_CONTINUE(0xe000,0x1000) ROM_CONTINUE(0xf000,0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "sc97h.bin", 0x00000, 0x10000, CRC(def39ee2) SHA1(5e6817bd947ebf16d0313285a00876b796b71cab) ) ROM_LOAD( "sc97l.bin", 0x10000, 0x10000, CRC(6f4d6aea) SHA1(6809c26e6975cac97b0f8c01a508d4e022859b1a) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "sc97u19.bin", 0x0000, 0x0100, CRC(6a01caca) SHA1(9b3e9eebb9fcc8770f7e92f0f1c0434516ee613d) ) ROM_LOAD( "sc97u20.bin", 0x0100, 0x0100, CRC(5899c1d5) SHA1(c335b99bb58da3a11005a8952a15d9f43bdff157) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "scu1920.bin", 0x0000, 0x0100, CRC(3aa291dd) SHA1(f35c916b5463ff9ec6e57048af29a746148a13af) ) ROM_REGION( 0x80000, "oki", 0 ) // samples ROM_LOAD( "sc97t.bin", 0x00000, 0x20000, CRC(8598b059) SHA1(9e031e30e58a9c1b3d029004ee0f1616711fa2ae) ) ROM_END ROM_START( schery97a ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "sc352c4.bin", 0x00000, 0x1000, CRC(44f55f6e) SHA1(8b6e8618281de480979de37c7b36a0e68a524f47) ) // ?? alt program? ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x1000) ROM_CONTINUE(0x9000,0x1000) ROM_CONTINUE(0xa000,0x1000) ROM_CONTINUE(0xb000,0x1000) ROM_CONTINUE(0xc000,0x1000) ROM_CONTINUE(0xd000,0x1000) ROM_CONTINUE(0xe000,0x1000) ROM_CONTINUE(0xf000,0x1000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "sc97h.bin", 0x00000, 0x10000, CRC(def39ee2) SHA1(5e6817bd947ebf16d0313285a00876b796b71cab) ) ROM_LOAD( "sc97l.bin", 0x10000, 0x10000, CRC(6f4d6aea) SHA1(6809c26e6975cac97b0f8c01a508d4e022859b1a) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "sc97u19.bin", 0x0000, 0x0100, CRC(6a01caca) SHA1(9b3e9eebb9fcc8770f7e92f0f1c0434516ee613d) ) ROM_LOAD( "sc97u20.bin", 0x0100, 0x0100, CRC(5899c1d5) SHA1(c335b99bb58da3a11005a8952a15d9f43bdff157) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "scu1920.bin", 0x0000, 0x0100, CRC(3aa291dd) SHA1(f35c916b5463ff9ec6e57048af29a746148a13af) ) ROM_REGION( 0x80000, "oki", 0 ) // samples ROM_LOAD( "sc97t.bin", 0x00000, 0x20000, CRC(8598b059) SHA1(9e031e30e58a9c1b3d029004ee0f1616711fa2ae) ) ROM_END ROM_START( roypok96 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "rp35.bin", 0x0000, 0x1000, CRC(e1509440) SHA1(30d931b02d4eb74f9a16c57eb12e834cf24f87a9) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "rp35h.bin", 0x00000, 0x10000, CRC(664649ea) SHA1(7915ab31afd2a1bbb8f817f961e0e522d76f5c05) ) ROM_LOAD( "rp35l.bin", 0x10000, 0x10000, CRC(ef416c4e) SHA1(5aac157ba15c66f79a7a68935095bef9a2636f7b) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "rpu19.bin", 0x0000, 0x0100, CRC(deb9ae3c) SHA1(056ce4947244ade1ff70f167a998140745b5cffa) ) ROM_LOAD( "rpu20.bin", 0x0100, 0x0100, CRC(b3e0a328) SHA1(f8990fcd1e90d3e9205ee81f1d7dd105dbdcfcd6) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "rpu1920.bin", 0x0000, 0x0100, CRC(e204e8f3) SHA1(9005fe9c72055af690701cd239f4b3665b2fae21) ) ROM_END ROM_START( roypok96a ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "rp36.bin", 0x0000, 0x1000, CRC(7fffff21) SHA1(85533e6aa0c6810cdaed9a6d1f1313f7bc871cbd) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "rp35h.bin", 0x00000, 0x10000, CRC(664649ea) SHA1(7915ab31afd2a1bbb8f817f961e0e522d76f5c05) ) ROM_LOAD( "rp35l.bin", 0x10000, 0x10000, CRC(ef416c4e) SHA1(5aac157ba15c66f79a7a68935095bef9a2636f7b) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "rpu19.bin", 0x0000, 0x0100, CRC(deb9ae3c) SHA1(056ce4947244ade1ff70f167a998140745b5cffa) ) ROM_LOAD( "rpu20.bin", 0x0100, 0x0100, CRC(b3e0a328) SHA1(f8990fcd1e90d3e9205ee81f1d7dd105dbdcfcd6) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "rpu1920.bin", 0x0000, 0x0100, CRC(e204e8f3) SHA1(9005fe9c72055af690701cd239f4b3665b2fae21) ) ROM_END ROM_START( roypok96b ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "rp36c3.bin", 0x0000, 0x1000, CRC(c7317ed7) SHA1(ca88d02c5ea5c03dd9407d71ab88e81c21791fe8) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "rp35h.bin", 0x00000, 0x10000, CRC(664649ea) SHA1(7915ab31afd2a1bbb8f817f961e0e522d76f5c05) ) ROM_LOAD( "rp35l.bin", 0x10000, 0x10000, CRC(ef416c4e) SHA1(5aac157ba15c66f79a7a68935095bef9a2636f7b) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "rpu19.bin", 0x0000, 0x0100, CRC(deb9ae3c) SHA1(056ce4947244ade1ff70f167a998140745b5cffa) ) ROM_LOAD( "rpu20.bin", 0x0100, 0x0100, CRC(b3e0a328) SHA1(f8990fcd1e90d3e9205ee81f1d7dd105dbdcfcd6) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "rpu1920.bin", 0x0000, 0x0100, CRC(e204e8f3) SHA1(9005fe9c72055af690701cd239f4b3665b2fae21) ) ROM_END ROM_START( roypok96c ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "subboard.bin", 0x0000, 0x1000, CRC(5ce4bed1) SHA1(bd888fec4531157668d4b14a9439a3051e52b3ec) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "rp35h.bin", 0x00000, 0x10000, CRC(664649ea) SHA1(7915ab31afd2a1bbb8f817f961e0e522d76f5c05) ) ROM_LOAD( "rp35l.bin", 0x10000, 0x10000, CRC(ef416c4e) SHA1(5aac157ba15c66f79a7a68935095bef9a2636f7b) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "rpu19.bin", 0x0000, 0x0100, CRC(deb9ae3c) SHA1(056ce4947244ade1ff70f167a998140745b5cffa) ) ROM_LOAD( "rpu20.bin", 0x0100, 0x0100, CRC(b3e0a328) SHA1(f8990fcd1e90d3e9205ee81f1d7dd105dbdcfcd6) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "rpu1920.bin", 0x0000, 0x0100, CRC(e204e8f3) SHA1(9005fe9c72055af690701cd239f4b3665b2fae21) ) ROM_END ROM_START( pokonl97 ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "po33.bin", 0x00000, 0x1000, CRC(55bdd5cf) SHA1(7fd9e5c63ab2439db33710d7684f5df5e7324325) ) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x2000,0x1000) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x8000,0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "po97h.bin", 0x00000, 0x10000, CRC(fe845426) SHA1(80a1ffa28f92ad381ccf01b387afddd3ee849a58) ) ROM_LOAD( "po97l.bin", 0x10000, 0x10000, CRC(d389d5be) SHA1(a88db3bf411dd1bdf8dc42c8c440d71b24ef95ee) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "po97u19.bin", 0x0000, 0x0100, CRC(889dd4b3) SHA1(dc4b2506bf61f1bc4d491c3a9c410be11d93b76f) ) ROM_LOAD( "po97u20.bin", 0x0100, 0x0100, CRC(e44d1b48) SHA1(0a21b79c03f33d31303ba6cabc4b5a23d7c9cfe3) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "pou1920.bin", 0x0000, 0x0100, CRC(ceac07bb) SHA1(b6fca4ef937c0a75d6371db405faf15d69462fc4) ) ROM_REGION( 0x80000, "oki", 0 ) // samples ROM_LOAD( "po97t.bin", 0x00000, 0x20000, CRC(dab7cbeb) SHA1(40cf5717485f31d5b5267a9f79ead0d21509d68c) ) ROM_END ROM_START( nfb96 ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "fb363c1.bin", 0x00000, 0x1000, CRC(ddc22974) SHA1(86f5d4d32f69d054ee1b444e2c4d470603e0391c) ) // v3.63, C1 Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "fb96seh b995", 0x00000, 0x10000, CRC(12042a0a) SHA1(4bc5f87f4b92f303fef100bf16e3d7b27670b793) ) ROM_LOAD( "fb96sel 246a", 0x10000, 0x10000, CRC(d611f10b) SHA1(425cad584e85f21de214bf978555a7811b13aa35) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96a ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "fb362c1.bin", 0x00000, 0x1000, CRC(5054418a) SHA1(a4bfe05b0eb3476651c06cb9ff78051e55c943c5) ) // v3.62, C1 Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "fbseh.bin", 0x00000, 0x10000, CRC(2fc10ce7) SHA1(a2418cfbe7ed217848ace8ea06587bcaa6b2c8f2) ) ROM_LOAD( "fbsel.bin", 0x10000, 0x10000, CRC(fb9d679a) SHA1(a4f6246bdbbf2e25f702006b30a62bc7873137de) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96b ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "fbse354d.bin", 0x00000, 0x1000, CRC(89dd3290) SHA1(040aa1daae58a38db66a046a4379975e014a2598) ) // v3.54, D Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) /* these graphic roms display a different copyright */ ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "fb96seh.bin", 0x00000, 0x10000, CRC(12042a0a) SHA1(4bc5f87f4b92f303fef100bf16e3d7b27670b793) ) ROM_LOAD( "fb96sel.bin", 0x10000, 0x10000, CRC(d611f10b) SHA1(425cad584e85f21de214bf978555a7811b13aa35) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96c ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "fbse362dk.bin", 0x00000, 0x1000, CRC(aa2576f2) SHA1(b6f0d6078dee01b90e08c09008f299439768c266) ) // v3.62,DK Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) /* these graphic roms display a different copyright */ ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "fb96seh.bin", 0x00000, 0x10000, CRC(12042a0a) SHA1(4bc5f87f4b92f303fef100bf16e3d7b27670b793) ) ROM_LOAD( "fb96sel.bin", 0x10000, 0x10000, CRC(d611f10b) SHA1(425cad584e85f21de214bf978555a7811b13aa35) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96d ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "27c512 v3.1 ca.bin", 0x00000, 0x1000, CRC(f823e51d) SHA1(2a258c0746d86e5933b22230e21c97b0ddee7cc2) ) // v3.1, A Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // no girls ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(fee708a7) SHA1(40ca3a236954d5549f9ad768541487752402fb5e) ) ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(b00e1a8c) SHA1(d191e7721059045a90129a8e14817c44f48fb5e6) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END ROM_START( nfb96e ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "3.61a - 7282.bin", 0x00000, 0x1000, CRC(84d820a5) SHA1(3d8279fce6821f1b5aeb80faff7a4e8bd44d826a) ) // v3.61a, C1 Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "fbseh.bin", 0x00000, 0x10000, CRC(2fc10ce7) SHA1(a2418cfbe7ed217848ace8ea06587bcaa6b2c8f2) ) ROM_LOAD( "fbsel.bin", 0x10000, 0x10000, CRC(fb9d679a) SHA1(a4f6246bdbbf2e25f702006b30a62bc7873137de) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96f ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "version 99-3.61a main.bin", 0x00000, 0x1000, CRC(901e990e) SHA1(33050fa34ab9173b251d4f672969e506490da690) ) // v3.61a,DK Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "fbseh.bin", 0x00000, 0x10000, CRC(2fc10ce7) SHA1(a2418cfbe7ed217848ace8ea06587bcaa6b2c8f2) ) ROM_LOAD( "fbsel.bin", 0x10000, 0x10000, CRC(fb9d679a) SHA1(a4f6246bdbbf2e25f702006b30a62bc7873137de) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96g ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "version 98-3.61.bin", 0x00000, 0x1000, CRC(8c5118ed) SHA1(09aa4441973be325b362d7ac893cdb08a63923c8) ) // v3.61,DK Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high x5 x bet 27c512.bin", 0x00000, 0x10000, CRC(b5dca416) SHA1(a6e0be8048b7568757d077320020c033ad76987c) ) ROM_LOAD( "low x5 x bet 27c512.bin", 0x10000, 0x10000, CRC(fd5ff1c4) SHA1(23609e7dc0763e5b82795d9c98b6606e0b25722f) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96h ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "27c512 u12 3.60 main.bin", 0x00000, 0x1000, CRC(84eef6fe) SHA1(da88d460da571eea1851dc9fed9036a6666e30a7) ) // v3.60,DK Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high x5 x bet 27c512.bin", 0x00000, 0x10000, CRC(b5dca416) SHA1(a6e0be8048b7568757d077320020c033ad76987c) ) ROM_LOAD( "low x5 x bet 27c512.bin", 0x10000, 0x10000, CRC(fd5ff1c4) SHA1(23609e7dc0763e5b82795d9c98b6606e0b25722f) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96i ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "fbse353.bin", 0x00000, 0x1000, CRC(65415a9f) SHA1(ab946858e3390da785263ce819cf04008b74b73b) ) // v3.53, D Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "fb96seh.bin", 0x00000, 0x10000, CRC(12042a0a) SHA1(4bc5f87f4b92f303fef100bf16e3d7b27670b793) ) ROM_LOAD( "fb96sel.bin", 0x10000, 0x10000, CRC(d611f10b) SHA1(425cad584e85f21de214bf978555a7811b13aa35) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96j ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "fb96340 3686.bin", 0x00000, 0x1000, CRC(48db8e5e) SHA1(31db8f690b1fa24a9d778d94754fca02f308f236) ) // v3.40, D Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "fb96seh.bin", 0x00000, 0x10000, CRC(12042a0a) SHA1(4bc5f87f4b92f303fef100bf16e3d7b27670b793) ) ROM_LOAD( "fb96sel.bin", 0x10000, 0x10000, CRC(d611f10b) SHA1(425cad584e85f21de214bf978555a7811b13aa35) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96k ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "main 27c512.bin", 0x00000, 0x1000, CRC(2a701f3a) SHA1(8cb920d561c44309a24a2260aef867fa94613ee5) ) // v97-3.3c, D Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high x5 x bet 27c512.bin", 0x00000, 0x10000, CRC(b5dca416) SHA1(a6e0be8048b7568757d077320020c033ad76987c) ) ROM_LOAD( "low x5 x bet 27c512.bin", 0x10000, 0x10000, CRC(fd5ff1c4) SHA1(23609e7dc0763e5b82795d9c98b6606e0b25722f) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nfb96l ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "version 97-3.1c.bin", 0x00000, 0x1000, CRC(05b00414) SHA1(4d7c21a3251369edfa0f5db2ec213f7f7554526f) ) // v97-3.1c, B Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // no girls ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(fee708a7) SHA1(40ca3a236954d5549f9ad768541487752402fb5e) ) ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(b00e1a8c) SHA1(d191e7721059045a90129a8e14817c44f48fb5e6) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END ROM_START( nfb96m ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "27c512 v3.1a.bin", 0x00000, 0x1000, CRC(579b94f7) SHA1(4fa58c182604a9e6d7ca654de709c355a43a47aa) ) // v3.1, A Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // no girls ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(fee708a7) SHA1(40ca3a236954d5549f9ad768541487752402fb5e) ) ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(b00e1a8c) SHA1(d191e7721059045a90129a8e14817c44f48fb5e6) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_END ROM_START( nfb96txt ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "tf122axt.bin", 0x00000, 0x1000, CRC(50b5b105) SHA1(01348c463985d9967b2494b649fa02edbd61f698) ) // Special Texas v1.22, C2 Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) /* these graphic roms display a different copyright */ ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "txfbh.bin", 0x00000, 0x10000, CRC(9e9ba897) SHA1(901bb2596ff67c0290977fd508247aa1da0a09b9) ) ROM_LOAD( "txfbl.bin", 0x10000, 0x10000, CRC(d1b8920c) SHA1(c6dc065134724baafed4c1cfa4aaf3c23dfb7a32) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96 ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "ch363c1.prom", 0x00000, 0x1000, CRC(e566cea3) SHA1(be81b21267ae2ff64c4dbc58e99a9ff4bf1d21aa) ) // v3.63, C1 Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "ch96seh.bin", 0x00000, 0x10000, CRC(65dee6ba) SHA1(77f5769ed0b745a4735576e9f0ce90dcdd9b5410) ) /* Correct graphics for this set, shows (R)COPYRIGHT(C) 1996 */ ROM_LOAD( "ch96sel.bin", 0x10000, 0x10000, CRC(c21cc114) SHA1(f7b6ff5ac34dc1a7332e8c1b9cc40f3b65deac05) ) /* the other set shows a currupted TM graphic */ ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96a ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "ch362c1.prom", 0x00000, 0x1000, CRC(10fa984b) SHA1(92ed9838db28deca038c4a5c080a723075ae0c53) ) // v3.62, C1 Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "ch96se-h.vrom2", 0x00000, 0x10000, CRC(fb90df1d) SHA1(84ec1f40a014a0043b3c3c999428dd274caba1b8) ) ROM_LOAD( "ch96se-l.vrom1", 0x10000, 0x10000, CRC(e0166f3e) SHA1(27e180fe6e03f48771b540e34415eee54951788f) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96b ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "ch361c1.prom", 0x00000, 0x1000, CRC(dfdd3869) SHA1(e512dd9370b40285a35d12ba7a05e65ab1c693ab) ) // v3.61, C1 Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "ch96se-h.vrom2", 0x00000, 0x10000, CRC(fb90df1d) SHA1(84ec1f40a014a0043b3c3c999428dd274caba1b8) ) ROM_LOAD( "ch96se-l.vrom1", 0x10000, 0x10000, CRC(e0166f3e) SHA1(27e180fe6e03f48771b540e34415eee54951788f) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96c ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "chse354d.bin", 0x00000, 0x1000, CRC(160f7b78) SHA1(537a91317e613676b748d4e4ec7015183872814b) ) // v3.54, D Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "ch96seh.bin", 0x00000, 0x10000, CRC(65dee6ba) SHA1(77f5769ed0b745a4735576e9f0ce90dcdd9b5410) ) /* Correct graphics for this set, shows TM COPYRIGHT(C) 1996 */ ROM_LOAD( "ch96sel.bin", 0x10000, 0x10000, CRC(c21cc114) SHA1(f7b6ff5ac34dc1a7332e8c1b9cc40f3b65deac05) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96d ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "chse353d.prom", 0x00000, 0x1000, CRC(fc56f84f) SHA1(a98746ef0dc919ced201c98c835ef0cbd5c18627) ) // v3.54, D Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "ch96se-h.vrom2", 0x00000, 0x10000, CRC(fb90df1d) SHA1(84ec1f40a014a0043b3c3c999428dd274caba1b8) ) ROM_LOAD( "ch96se-l.vrom1", 0x10000, 0x10000, CRC(e0166f3e) SHA1(27e180fe6e03f48771b540e34415eee54951788f) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96e ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "chsesep3_3.40.prom", 0x00000, 0x1000, CRC(0eec1fd1) SHA1(93e096f471376f5efc3b229fd226c48cd623c48d) ) // v3.40, D Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "ch96se-h.vrom2", 0x00000, 0x10000, CRC(fb90df1d) SHA1(84ec1f40a014a0043b3c3c999428dd274caba1b8) ) ROM_LOAD( "ch96se-l.vrom1", 0x10000, 0x10000, CRC(e0166f3e) SHA1(27e180fe6e03f48771b540e34415eee54951788f) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96f ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "chse362dk.bin", 0x00000, 0x1000, CRC(66df35d3) SHA1(da33f6413b8cf7b472023abc3e5cfe6d52ed1418) ) // v3.62, DK Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "ch96seh.bin", 0x00000, 0x10000, CRC(65dee6ba) SHA1(77f5769ed0b745a4735576e9f0ce90dcdd9b5410) ) ROM_LOAD( "ch96sel.bin", 0x10000, 0x10000, CRC(c21cc114) SHA1(f7b6ff5ac34dc1a7332e8c1b9cc40f3b65deac05) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96g ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "new cherry 96 b-type 3.1.bin", 0x00000, 0x1000, CRC(7c06c960) SHA1(017428d3cf5471533ef8702d62cb572bb7fbb652) ) // v3.1, B Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(1ab0441a) SHA1(88bd43fb27aa38b566c13b3a0c63cd2f7529f886) ) ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(6c173154) SHA1(af7d597dd9d7704b9fc9c154349e067c990c541d) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette, not dumped for this set ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_END ROM_START( nc96h ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "version 97-3.1c.bin", 0x00000, 0x1000, CRC(2aeb5747) SHA1(331a43195d01f18f9637c2ce1ca6cede6d3c51fd) ) // v3.1C, G Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(a3901324) SHA1(2bdfe3fb05202af32d0d845a499d44a79e963d89) ) ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(482931a3) SHA1(0307a7f7428974f3b9563ab4b56528a31c355cdd) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette, not dumped for this set ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_END ROM_START( nc96i ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "3.55 new cherry 96.bin", 0x00000, 0x1000, CRC(0046ab11) SHA1(21b500642545b62c3f80f639dee9807e14863be5) ) // v3.55, C1 Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high cherry 96.bin", 0x00000, 0x10000, CRC(b405a88d) SHA1(74caa24fe10292bb59debf505fb0bbb14547e7fb) ) ROM_LOAD( "low cherry 96.bin", 0x10000, 0x10000, CRC(846bb8ae) SHA1(aa6203cd4c7a39dbd816a1bebd9a60be7655f823) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette, not dumped for this set ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_END ROM_START( nc96j ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "chse361.bin", 0x00000, 0x1000, CRC(0b28366c) SHA1(560da2dfb1895e1481399d62a35d8a106a0b8e0a) ) // v3.61, DK Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "chseh e9e3", 0x00000, 0x10000, CRC(fb90df1d) SHA1(84ec1f40a014a0043b3c3c999428dd274caba1b8) ) ROM_LOAD( "chsel 0e11", 0x10000, 0x10000, CRC(e0166f3e) SHA1(27e180fe6e03f48771b540e34415eee54951788f) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96k ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "chse351 d085", 0x00000, 0x1000, CRC(cd3cc627) SHA1(9de09107a7096b9429da51c7a59e68b58fc51585) ) // v3.51, D Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "chseh e9e3", 0x00000, 0x10000, CRC(fb90df1d) SHA1(84ec1f40a014a0043b3c3c999428dd274caba1b8) ) ROM_LOAD( "chsel 0e11", 0x10000, 0x10000, CRC(e0166f3e) SHA1(27e180fe6e03f48771b540e34415eee54951788f) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "82s129a.u84", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "82s129a.u79", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( nc96l ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "cherry 96 v 3.00.bin", 0x00000, 0x1000, CRC(5bf0659d) SHA1(fdbe4b6b11bc21c603318a01e9ad9c3d9e79959d) ) // v3.0, A Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_FILL(0x00, 0x01, 0xf6) // TODO: only byte that doesn't decrypt correctly. Why? ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(a3901324) SHA1(2bdfe3fb05202af32d0d845a499d44a79e963d89) ) ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(482931a3) SHA1(0307a7f7428974f3b9563ab4b56528a31c355cdd) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "g13 - u84.bin", 0x0000, 0x0100, CRC(6a01caca) SHA1(9b3e9eebb9fcc8770f7e92f0f1c0434516ee613d) ) ROM_LOAD( "g14 - u79.bin", 0x0100, 0x0100, CRC(5899c1d5) SHA1(c335b99bb58da3a11005a8952a15d9f43bdff157) ) ROM_END ROM_START( nc96txt ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "tc132axt.bin", 0x00000, 0x1000, CRC(a77dc042) SHA1(1076a6687da1871b666bd214a755b68f5e1aeb8c) ) // Special Texas v1.32, C2 Sub-PCB ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "txchh.bin", 0x00000, 0x10000, CRC(07621bde) SHA1(65fd52545a399694394e623a7249d180d1a4fa9f) ) ROM_LOAD( "txchl.bin", 0x10000, 0x10000, CRC(3b00b7dc) SHA1(99d513d23eea28fedf59ad272a3280abd0d3c2ab) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) // no proms present, using nfb96 ones ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "sku1920.bin", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples // none? ROM_END ROM_START( match98 ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "match133.bin", 0x00000, 0x1000, CRC(ddd82435) SHA1(4d7310f77e1f87e2b5c820a311aaefd82307b388) ) ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "match98h.bin", 0x00000, 0x10000, CRC(94899f26) SHA1(1b6f953b6251496d7d06fb0a2d0b861e04ebc3df) ) ROM_LOAD( "match98l.bin", 0x10000, 0x10000, CRC(6db4b962) SHA1(7d476e244d70a86dacf85dd9c790f63aef4b7cd9) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "matchu19.bin", 0x0000, 0x0100, CRC(59cd3566) SHA1(e9726aad631d86e2c122e3d75f87abc22ea7ef97) ) ROM_LOAD( "matchu20.bin", 0x0100, 0x0100, CRC(f421503c) SHA1(591c80d6ff63021fab31b3bfcde1b47cd75fd7bb) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "matu1920.bin", 0x0000, 0x0100, CRC(c249576f) SHA1(54d51a54f4b2503c706c1c06050e33be7f479dfc) ) ROM_REGION( 0x100, "proms3", 0 ) // ? none of the other sets have this ROM_LOAD( "matchu8.bin", 0x0000, 0x0100, CRC(dba4579d) SHA1(fba0a5adad13728c805fbe9666a8e02484cfa821) ) ROM_REGION( 0x80000, "oki", ROMREGION_ERASEFF ) // samples ROM_LOAD( "match98t.bin", 0x00000, 0x40000, CRC(830f4e01) SHA1(fbc41e9100a69663b0f799aee447edd5fabd2af7) ) ROM_END ROM_START( fb2010 ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "fb2013r.bin", 0x00000, 0x1000, CRC(9cc75315) SHA1(f77fbce1037dbf38ddaa4ce79266d62e5cc7989e) ) ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x20000, "graphics", 0 ) ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(5950b5fb) SHA1(64441fdbd768e7765e20a33acd4002e69b868f09) ) ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(98b0454f) SHA1(91f7f4119a0cd591e68c87a9e716a8cd5233a4aa) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1 ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2 ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2 ROM_REGION( 0x8000, "gfx2", 0 ) ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 ) ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 ) ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 ) ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 ) ROM_REGION( 0x200, "proms", 0 ) // palette (taken from nfb96se, not verified) ROM_LOAD( "chu19.bin", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_END void cmaster_state::init_fb2010() { uint8_t *ROM = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = ROM[i]; switch (i & 0x22) { case 0x00: x = bitswap<8>(x^0x4c^0xff, 0,4,7,6,5,1,3,2); break; case 0x02: x = bitswap<8>(x^0xc0^0xff, 7,6,0,5,3,2,1,4); break; case 0x20: x = bitswap<8>(x^0x6b^0xff, 4,3,2,7,5,6,0,1); break; case 0x22: x = bitswap<8>(x^0x23^0xff, 0,6,1,3,4,5,2,7); break; } ROM[i] = x; } // some kind of protection? checks something in NVRAM after a few spins? // TODO: work out how to handle this without a patch, doesn't seem 100% related to port read below like in other games? ROM[0x10dc] = 0x00; ROM[0x10dd] = 0x00; m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x7d>))); } /* descrambled by looking at CALLs 0000 -> 0000 46e7 -> 16e7 4027 -> 1027 35f3 -> 25f3 3327 -> 2327 7f6a -> 3f6a 1095 -> 4095 1d2f -> 4d2f 1e8b -> 4e8b 6246 -> 5246 628f -> 528f 2bed -> 6bed 2db7 -> 6db7 5838 -> 7838 58a2 -> 78a2 810f -> 810f 9762 -> 9762 a??? -> a??? b84a -> b84a c??? -> c??? */ ROM_START( nfb96se ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "dogdptb.prg",0x00000, 0x1000, CRC(0690f915) SHA1(ed2477ba260a421013603017cfd1e1ba5ecd7f4e) ) // alt program? ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "dogd5.rom", 0x10000, 0x08000, CRC(c03b5632) SHA1(4f603ec5218adcbfce09ec6d3643ffb5006056dd) ) ROM_LOAD( "dogd6.rom", 0x08000, 0x08000, CRC(c48e5b5c) SHA1(9d79631b54d9915cd161b5028c1be7879254d9be) ) ROM_LOAD( "dogd7.rom", 0x00000, 0x08000, CRC(2f03f1e2) SHA1(b221ad7177fcf4d6d65b8ee9c0f5e4289688c707) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "dogd1.rom", 0x6000, 0x2000, CRC(0f9f77b1) SHA1(03719f79a39f93f38e4170143a5654bd74596206) ) ROM_LOAD( "dogd2.rom", 0x4000, 0x2000, CRC(6ab19916) SHA1(f125365b3c5546d72662cf439311811ae761f225) ) ROM_LOAD( "dogd3.rom", 0x2000, 0x2000, CRC(5d4810a5) SHA1(8e9e50c6c7c13010ecb726041a1ac8eccead96ce) ) ROM_LOAD( "dogd4.rom", 0x0000, 0x2000, CRC(be31f6fa) SHA1(b522ff520b3fbb34c55c7bb1fe7dfeecd593d6be) ) // taken from new fruit bonus '96, might be wrong ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END // this set has an encrypted program rom ROM_START( nfb96sea ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "dog_08.rom", 0x00000, 0x1000, CRC(357f13e8) SHA1(ca0872c9f7dc44a4c1c342f7f53c490f6342f1d2) ) ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) /* the graphic roms on this set are a mess, the planes don't match up properly */ ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "dog_05.rom", 0x10000, 0x08000, CRC(c03b5632) SHA1(4f603ec5218adcbfce09ec6d3643ffb5006056dd) ) ROM_LOAD( "dog_06.rom", 0x08000, 0x08000, CRC(c48e5b5c) SHA1(9d79631b54d9915cd161b5028c1be7879254d9be) ) ROM_LOAD( "dog_07.rom", 0x00000, 0x08000, CRC(97033c70) SHA1(4d5746f43f8f4d374ba2f31d21defd21921d39bf) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "dog_01.rom", 0x0000, 0x2000, CRC(26eb35ce) SHA1(564c775eda7a026841095b210257aea59288f042) ) ROM_LOAD( "dog_02.rom", 0x2000, 0x2000, CRC(0e220d8a) SHA1(f84145250785dae78ea5af6388d91ad24b42ff9c) ) ROM_LOAD( "dog_03.rom", 0x4000, 0x2000, CRC(01a7ff6f) SHA1(bfb4ad07d99807eadbb0cb85c5a6cf60a5875f2d) ) ROM_LOAD( "dog_04.rom", 0x6000, 0x2000, CRC(be31f6fa) SHA1(b522ff520b3fbb34c55c7bb1fe7dfeecd593d6be) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // taken from new fruit bonus '96, might be wrong ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END ROM_START( nfb96seb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "dogdptb.prg",0x00000, 0x1000, CRC(0690f915) SHA1(ed2477ba260a421013603017cfd1e1ba5ecd7f4e) ) // alt program? ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x8000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "dogmx5", 0x10000, 0x08000, CRC(c03b5632) SHA1(4f603ec5218adcbfce09ec6d3643ffb5006056dd) ) ROM_LOAD( "dogmx6", 0x08000, 0x08000, CRC(c48e5b5c) SHA1(9d79631b54d9915cd161b5028c1be7879254d9be) ) ROM_LOAD( "dogmx7", 0x00000, 0x08000, CRC(97033c70) SHA1(4d5746f43f8f4d374ba2f31d21defd21921d39bf) ) // wagner video junk on this layer ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "dogmx1", 0x6000, 0x2000, CRC(b72d2c2c) SHA1(faf60ca0f522868e6dbf7c3ace5c84d8fd001df3) ) ROM_LOAD( "dogmx2", 0x4000, 0x2000, CRC(a85f5516) SHA1(1564e6c490883c96bffc561d9115eb53450945ce) ) ROM_LOAD( "dogmx3", 0x2000, 0x2000, CRC(f1a8aea8) SHA1(c20b779a73856d94e862d87ad337c9501da86691) ) ROM_LOAD( "dogmx4", 0x0000, 0x2000, CRC(be31f6fa) SHA1(b522ff520b3fbb34c55c7bb1fe7dfeecd593d6be) ) // taken from new fruit bonus '96, might be wrong ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END ROM_START( nfb96sec ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "u34",0x00000, 0x1000, CRC(65e7a70d) SHA1(77b8b7e16e842d6debf9bb13d83dbf4289ab0bd4) ) ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) // Same data as other sets, arranged differently ROM_LOAD( "u2", 0x00000, 0x08000, CRC(7d245ff8) SHA1(eebc3c0700aaa5e8d0be22d411f097607e179d5e) ) ROM_CONTINUE( 0x10000, 0x08000 ) ROM_CONTINUE( 0x08000, 0x08000 ) ROM_CONTINUE( 0x00000, 0x08000 ) ROM_REGION( 0x10000, "gfx2", 0 ) // Same data as other sets, arranged differently ROM_LOAD( "u35", 0x0000, 0x4000, CRC(ddd6b7cb) SHA1(ff5161d7d25b216fd507a43f9102cde1e1518593) ) // 0xxxxxxxxxxxxxx = 0xFF ROM_CONTINUE( 0x2000, 0x2000 ) ROM_CONTINUE( 0x0000, 0x2000 ) ROM_LOAD( "u1", 0x4000, 0x4000, CRC(fdbb5896) SHA1(edfcfcfbf6306ff40c517eeeb05f91b869ba40d2) ) // 0xxxxxxxxxxxxxx = 0xFF ROM_CONTINUE( 0x6000, 0x2000 ) ROM_CONTINUE( 0x4000, 0x2000 ) // taken from new fruit bonus '96, might be wrong ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END // this contains elephants etc. instead of the usual symbols, maybe // it's meant to work with the above program roms? ROM_START( carb2002 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "dogd.prg", 0x00000, 0x1000, CRC(000102e0) SHA1(a1824576845b67fbc1a9a16d5aafa6cd000ea4fb) ) ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "dogtai5", 0x10000, 0x08000, CRC(0c8a4afb) SHA1(994295eea7964d60b6a1db911679739a10be9bbe) ) ROM_LOAD( "dogtai6", 0x08000, 0x08000, CRC(e9f5dc36) SHA1(6a4060c901f10202fe935701f1f1087c8477da56) ) ROM_LOAD( "dogtai7", 0x00000, 0x08000, CRC(73c4c1aa) SHA1(31a70861dc54b442a1e50adf3f013dbc38fbbbb1) ) // alt. replacements for roms 5+6?, erases the word 'slot' on the title screen? ROM_LOAD( "dogdif5", 0x10000, 0x08000, CRC(a1986e44) SHA1(3178de9c6063c9f33878b6070db95b2eeb12ffea) ) ROM_LOAD( "dogdif6", 0x08000, 0x08000, CRC(a5d389fc) SHA1(3db570c938a387708974f24a110cf25b9b52ac22) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "dogtai1", 0x6000, 0x2000, CRC(68ed1c26) SHA1(495a8b57c368b0b7c2a618d4f1e980d5187f411a) ) ROM_LOAD( "dogtai2", 0x4000, 0x2000, CRC(b5e25d9b) SHA1(9374f7662f92c10ca6d1af570eaa4d161173283f) ) ROM_LOAD( "dogtai3", 0x2000, 0x2000, CRC(df13aeb2) SHA1(942f742a722bab44dd3de270001b60d888c44111) ) ROM_LOAD( "dogtai4", 0x0000, 0x2000, CRC(170f07ce) SHA1(4b48841f9c5bdf7bfbc05113148666a5bcdd3d35) ) // taken from new fruit bonus '96, definitely wrong ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, BAD_DUMP CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END // same program as dogh set.. different gfx ROM_START( carb2003 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "dogd.prg", 0x00000, 0x1000, CRC(000102e0) SHA1(a1824576845b67fbc1a9a16d5aafa6cd000ea4fb) ) ROM_CONTINUE(0x4000, 0x1000) ROM_CONTINUE(0x3000, 0x1000) ROM_CONTINUE(0x7000, 0x1000) ROM_CONTINUE(0x1000, 0x1000) ROM_CONTINUE(0x6000, 0x1000) ROM_CONTINUE(0x2000, 0x1000) ROM_CONTINUE(0x5000, 0x1000) ROM_CONTINUE(0x8000, 0x1000) ROM_CONTINUE(0x9000, 0x1000) ROM_CONTINUE(0xa000, 0x1000) ROM_CONTINUE(0xb000, 0x1000) ROM_CONTINUE(0xc000, 0x1000) ROM_CONTINUE(0xd000, 0x1000) ROM_CONTINUE(0xe000, 0x1000) ROM_CONTINUE(0xf000, 0x1000) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "timedog5.rom", 0x10000, 0x08000, CRC(cf05b66d) SHA1(a711a86f2a82dd685a379fda0cf7240b2ca2696e) ) ROM_LOAD( "timedog6.rom", 0x08000, 0x08000, CRC(2d81bdbe) SHA1(56eaa9347014340b902d8f0bc38b719acf56c314) ) ROM_LOAD( "timedog7.rom", 0x00000, 0x08000, CRC(f8e410e5) SHA1(1edc863902cfb1605aca08f6970f9bd24147ca0b) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // these seem to contain mixed planes of different gfx sets.. not correct ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "timedog1.rom", 0x6000, 0x2000, CRC(d29e0217) SHA1(df978143ed313b33f848e7337097fe29c1fa4506) ) ROM_LOAD( "timedog2.rom", 0x4000, 0x2000, CRC(fafb6a51) SHA1(57e79e5efd525cdf5a4475eedfee2c8fc1417b76) ) ROM_LOAD( "timedog3.rom", 0x2000, 0x2000, CRC(6f305ac7) SHA1(55f0d73b783854584195658ab4e74770bc13ba0b) ) ROM_LOAD( "timedog4.rom", 0x0000, 0x2000, CRC(807a16fc) SHA1(111e7d171f9278abea666d6ad41b02f2c8bf98d8) ) ROM_IGNORE(0x2000) // taken from new fruit bonus '96, definitely wrong ROM_REGION( 0x200, "proms", 0 ) // palette ROM_LOAD( "chu19.bin", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) ) ROM_LOAD( "chu20.bin", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) ) ROM_REGION( 0x100, "proms2", 0 ) // colours again? ROM_LOAD( "chu1920.bin", 0x0000, 0x0100, BAD_DUMP CRC(71b0e11d) SHA1(1d2a2a31d8571f580c0cb7f4833823841072b31f) ) ROM_END ROM_START( nfm ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "fuitprg", 0x00000, 0x01000, CRC(6f6c98cf) SHA1(4641cb2b90d4d21edc65e504584f3ec92fe741c4) ) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0xa000,0x1000) ROM_CONTINUE(0x2000,0x1000) //? ROM_CONTINUE(0xb000,0x1000) //? ROM_CONTINUE(0x9000,0x1000) ROM_CONTINUE(0xc000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x8000,0x1000) ROM_CONTINUE(0xd000,0x1000) // ? ROM_CONTINUE(0xe000,0x1000) ROM_CONTINUE(0xf000,0x1000) ROM_REGION( 0x10000, "reelgfx", 0 ) ROM_LOAD( "fruit4", 0x00000, 0x04000, CRC(99ac5ddf) SHA1(65b6abb98f3156f4c0c55478d09c612eed5ae555) ) ROM_LOAD( "fruit3", 0x04000, 0x04000, CRC(f3361ba7) SHA1(1a7b9c4f685656447bd6ce5f361e6e4af63012e3) ) ROM_CONTINUE(0x4000, 0x4000) ROM_LOAD( "fruit2", 0x08000, 0x04000, CRC(6a37a16f) SHA1(7adb08d3e4de9768a8e41760a044bf52509da211) ) ROM_CONTINUE(0x8000, 0x4000) ROM_LOAD( "fruit1", 0x0c000, 0x04000, CRC(dd096dae) SHA1(ab34942cfa4fe7d46892819372c42f566c249f8c) ) ROM_CONTINUE(0xc000, 0x4000) ROM_REGION( 0x18000, "tilegfx", 0 ) ROM_LOAD( "fruit7", 0x00000, 0x08000, CRC(3ade6709) SHA1(9cdf2814e50c5433c582fc40265c5df2a16e99e7) ) ROM_LOAD( "fruit6", 0x08000, 0x08000, CRC(39d5b89a) SHA1(4cf52fa557ffc792d3e13f7dbb5d45fd617bac85) ) ROM_LOAD( "fruit5", 0x10000, 0x08000, CRC(a7a8f08d) SHA1(76c93194133ba85c0dde1f364260e16d5b647134) ) ROM_REGION( 0x40000, "user1", 0 ) ROM_LOAD( "8_f29c51002t.u53", 0x00000, 0x40000, CRC(ff9d5b6d) SHA1(a84fe241ff9958740dcdbd4650bd16a0aa6e01ca) ) ROM_REGION( 0x8000, "colours", 0 ) // colours, only 0x200 used ROM_LOAD( "fruiprg2", 0x0000, 0x08000, CRC(13925ff5) SHA1(236415a244ef6092834f8080cf0d2e04bbfa2650) ) ROM_END ROM_START( nfma ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "9_27c512.u53", 0x00000, 0x01000, CRC(127b2a17) SHA1(973815f99d744e055f8bdff7753c3e70a892250c) ) ROM_CONTINUE(0x5000,0x1000) ROM_CONTINUE(0x7000,0x1000) ROM_CONTINUE(0xa000,0x1000) ROM_CONTINUE(0x2000,0x1000) //? ROM_CONTINUE(0xb000,0x1000) //? ROM_CONTINUE(0x9000,0x1000) ROM_CONTINUE(0xc000,0x1000) ROM_CONTINUE(0x1000,0x1000) ROM_CONTINUE(0x3000,0x1000) ROM_CONTINUE(0x6000,0x1000) ROM_CONTINUE(0x4000,0x1000) ROM_CONTINUE(0x8000,0x1000) ROM_CONTINUE(0xd000,0x1000) // ? ROM_CONTINUE(0xe000,0x1000) ROM_CONTINUE(0xf000,0x1000) ROM_REGION( 0x10000, "reelgfx", 0 ) ROM_LOAD( "4_27c128.u15", 0x00000, 0x04000, CRC(99ac5ddf) SHA1(65b6abb98f3156f4c0c55478d09c612eed5ae555) ) // matches nfm ROM_LOAD( "3_27c128.u10", 0x04000, 0x04000, CRC(e8fbe05e) SHA1(a9439a91953d5caa211587eb837f6bfe52be0a00) ) // matches nfm, once taken into account this is correct size ROM ROM_LOAD( "2_27c128.u14", 0x08000, 0x04000, CRC(6540a218) SHA1(78f5b78b9c7198c5cf6b2d1a7e02e9ac7b422b10) ) // matches nfm, once taken into account this is correct size ROM ROM_LOAD( "1_27c128.u9", 0x0c000, 0x04000, CRC(af41b0c0) SHA1(ce463035b7f5509a92ae727020c3ecc511ed1d30) ) // matches nfm, once taken into account this is correct size ROM ROM_REGION( 0x18000, "tilegfx", 0 ) ROM_LOAD( "7_27c256.u16", 0x00000, 0x08000, CRC(3ade6709) SHA1(9cdf2814e50c5433c582fc40265c5df2a16e99e7) ) // matches nfm ROM_LOAD( "6_27c256.u11", 0x08000, 0x08000, CRC(39d5b89a) SHA1(4cf52fa557ffc792d3e13f7dbb5d45fd617bac85) ) // matches nfm ROM_LOAD( "5_27c256.u4", 0x10000, 0x08000, CRC(a7a8f08d) SHA1(76c93194133ba85c0dde1f364260e16d5b647134) ) // matches nfm ROM_REGION( 0x40000, "user1", 0 ) ROM_LOAD( "8_f29c51002t.u53", 0x00000, 0x40000, CRC(ff9d5b6d) SHA1(a84fe241ff9958740dcdbd4650bd16a0aa6e01ca) ) ROM_REGION( 0x8000, "colours", 0 ) // colours, only 0x200 used ROM_LOAD( "10bp_27c257.u62", 0x0000, 0x8000, CRC(13925ff5) SHA1(236415a244ef6092834f8080cf0d2e04bbfa2650) ) // matches nfm ROM_END /* Super Cherry Master. Lacks of Dyna copyright. Maybe bootleg. Not reels stop options. Tried any input on the real hardware without luck. */ ROM_START( scmaster ) // all roms unique ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c512.u6", 0x00000, 0x10000, CRC(4eef290a) SHA1(27cca383de49d5f0072ecdda11591b78727469c6) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "27c010.u29", 0x00000, 0x20000, CRC(98bd34b6) SHA1(e3ff6536eb421ed2e2f5d4354099078ba4ae5671) ) ROM_REGION( 0x40000, "gfx2", 0 ) ROM_LOAD( "27c020.u41", 0x00000, 0x40000, CRC(ece34be2) SHA1(fdfaaffb12a7f6de6bf21b46ad50e845abc00734) ) ROM_END ROM_START( unkch1 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "u6.bin", 0x00000, 0x10000, CRC(30309996) SHA1(290f35f587fdf78dcb4f09403c510deec533c9c2) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "u29.bin", 0x00000, 0x20000, CRC(6db245a1) SHA1(e9f85ba29b0af483eae6f999f49f1e431d9d2e27) ) ROM_REGION( 0x40000, "gfx2", 0 ) ROM_LOAD( "u41.bin", 0x00000, 0x40000, CRC(b2bca15d) SHA1(57747c9c05e5ab54e40cbded2e420dfbfc929ce5) ) ROM_END ROM_START( unkch2 ) // only gfx2 differs from unkch1 ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "u6.bin", 0x00000, 0x10000, CRC(30309996) SHA1(290f35f587fdf78dcb4f09403c510deec533c9c2) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "u29.bin", 0x00000, 0x20000, CRC(6db245a1) SHA1(e9f85ba29b0af483eae6f999f49f1e431d9d2e27) ) ROM_REGION( 0x40000, "gfx2", 0 ) ROM_LOAD( "u41.1", 0x00000, 0x40000, CRC(725b48c7) SHA1(2f21c33fb7d23ad9411e926130a65b75029b9112) ) ROM_END ROM_START( unkch3 ) // gfx2 is the same as unkch1, others differ ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "u6.3", 0x00000, 0x10000, CRC(902f9e42) SHA1(ac5843089748d457f70ea52d15285a0ccda705ad) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "u29.3", 0x00000, 0x20000, CRC(546929e6) SHA1(f97fe5687f8776f0abe68962a0246c9bbeb6acd1) ) ROM_REGION( 0x40000, "gfx2", 0 ) ROM_LOAD( "u41.bin", 0x00000, 0x40000, CRC(b2bca15d) SHA1(57747c9c05e5ab54e40cbded2e420dfbfc929ce5) ) ROM_END ROM_START( unkch4 ) // all roms unique ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "u6.4", 0x00000, 0x10000, CRC(eb191efa) SHA1(3004f26f9af7633df572f609647716cc4ac75990) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "u29.4", 0x00000, 0x20000, CRC(eaec0034) SHA1(6b2d3922873979eafcd4c71c52017263482b82ab) ) ROM_REGION( 0x40000, "gfx2", 0 ) ROM_LOAD( "u41.4", 0x00000, 0x40000, CRC(ef586512) SHA1(a720e40903dd04b2c498efad40d583618596e048) ) ROM_END ROM_START( cherry96 ) // all roms unique ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "new_96-16-3.u6", 0x00000, 0x10000, CRC(84d5f2fc) SHA1(e3ed0670350920c661c5a40581966671b8a8c7df) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "new_96-16-2.u29", 0x00000, 0x20000, CRC(dd8f7450) SHA1(c897e5151809d4e0a0b1e46609f07bb0156b489a) ) ROM_REGION( 0x40000, "gfx2", 0 ) ROM_LOAD( "new_96-16-1.u41", 0x00000, 0x20000, CRC(9ab19bdc) SHA1(2f34789729b5d12f6fa098a29253d5a80aef5b39) ) ROM_END /* Cherry Master '97 _____________________________________________________________________________________________ | F E D C B A | | _________ _________ ______________________ ________ | |11| PAL16L8 | | PAL16L8 | | ZILOG | _________ |74HC00AN| | | |_________| |_________| | Z0840006PSC | |LH5168N- | |________| __| | | Z80 CPU 9349 2E | |10L | | | _____________ |______________________| |_________| | | |C97.F10 | |__ |10| M27C512 | --| | |_____________| --| | ______________________ ___________ __________ --| | |C97.D9 | | N82S135N | |74HC374AN | --| |9 | M27C4002 | |___________| |__________| --| | |______________________| --| | --| | ______ ___________ __________ --| |8 |74HC14| | N82S135N | |74HC374AN | --| | |______| _____________ |___________| |__________| --| | | | --| | | | --| | __ _______ | DYNA | --| |7 |PS| |LH5168N| | DC3000 | ___________ --| | |__| |-10L | | 9650 A | | 74LS245N | --| | |_______| | | |___________| --| | | | --| | | | ___________ --| |6 |_____________| | 74LS245N | --| | ____ |___________| --| | |XTAL| ___________ --| |5 | | | 74LS245N | --| | ________ |____| |___________| --| | |SW 1 | ________________________ --| | | | | DYNA | ________ ________ --| |4 1________8 | 22A078803 | |74LS138N| |MCT1413P| --| | ________ | 9606EY001 | |________| |________| --| | |SW 2 | |________________________| --| | | | ___________ ________ --| |3 1________8 ________________________ | 74LS273N | |MCT1413P| --| | ________ |ORIGINAL | |___________| |________| --| | |SW 3 | |SER. NO. 076600 | --| |2 | | | | ___________ ________ --| | 1________8 |________________________| | 74LS273N | |MCT1413P| --| | ________ |___________| |________| --| | |SW 4 | __| | | | | | 1________8 | | ________ |__ | |SW 5 | | | | | | | 1________8 | |1 | | ____ ____ | | | | | | | | | | | | | | | | |______________________________________________________| |___________________| |________| PS = PST519A. XTAL = unknown. SW 1: SW 2: SW 3: SW 4: SW 5: _________________ _________________ _________________ _________________ _________________ | ON | | ON | | ON | | ON | | ON | | --------------- | | --------------- | | --------------- | | --------------- | | --------------- | ||#|#| | |#| | | || ||#| |#| | |#|#|#|| || | | | | |#| | || || | |#|#| | | | || || | |#|#|#|#| | || ||---------------|| ||---------------|| ||---------------|| ||---------------|| ||---------------|| || | |#|#| |#|#|#|| || |#| |#|#| | | || ||#|#|#|#|#| |#|#|| ||#|#| | |#|#|#|#|| ||#|#| | | | |#|#|| | --------------- | | --------------- | | --------------- | | --------------- | | --------------- | | 1 2 3 4 5 6 7 8 | | 1 2 3 4 5 6 7 8 | | 1 2 3 4 5 6 7 8 | | 1 2 3 4 5 6 7 8 | | 1 2 3 4 5 6 7 8 | |_________________| |_________________| |_________________| |_________________| |_________________| */ ROM_START( cmast97 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD16_WORD( "c97.f10", 0x00000, 0x10000, CRC(1416439f) SHA1(a1e44e5dc67dfb74c5651a5f9da822a9e6c7df6f) ) ROM_REGION( 0x080000, "gfx", 0 ) ROM_LOAD( "c97.d9", 0x000000, 0x80000, CRC(c2c14738) SHA1(dd378cb77a7214ffe5fd9ba1dcbc54f6802b0e41) ) ROM_REGION( 0x200, "proms", 0 ) // bad decoded ROM_LOAD( "82s135.c8", 0x000, 0x100, CRC(4b715969) SHA1(9429dc8698f4ff9195e5e975e62546b7b7e2f856) ) ROM_LOAD( "82s135.c9", 0x100, 0x100, CRC(85883486) SHA1(adcee60f6fc1e8a75c529951df9e5e1ee277e131) ) ROM_END // DYNA D9105 PCB with Sharp LH0080B (Z80B) CPU and 2 customs (DYNA DC4000 and DYNA 22A078803), 5x 8-dips, XTAL 24 MHz. DYNA ELD3 V1.1TA in ROM. ROM_START( eldoradd ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD16_WORD( "dyna nel 20t.c14", 0x00000, 0x10000, CRC(77b3b2ce) SHA1(e94b976ae9e5a899d916fffc8118486cbedab8b6) ) ROM_REGION( 0x100000, "gfx", 0 ) ROM_LOAD( "tc538000p-dyna dm9106.g15", 0x000000, 0x100000, CRC(fa84c372) SHA1(a71e57e76321b7ebb16933d9bc983b9160995b4a) ) ROM_REGION( 0x300, "proms", 0 ) ROM_LOAD( "mb7114.e8", 0x000, 0x100, CRC(fa274678) SHA1(6712cb1f7ead1a7aa703ec799e7199c33ace857c) ) ROM_LOAD( "mb7114.e10", 0x100, 0x100, CRC(e58877ea) SHA1(30fa873fc05d91610ef68eef54b78f2c7301a62a) ) ROM_LOAD( "mb7114.e12", 0x200, 0x100, CRC(781b2842) SHA1(566667d4f81e93b29bb01dbc51bf144c02dff75d) ) ROM_REGION( 0x400, "plds", 0 ) // available as brute-forced dumps, need to be verified and converted ROM_LOAD( "pal16l8.d13", 0x000, 0x104, NO_DUMP ) ROM_LOAD( "pal16l8.e11", 0x200, 0x104, NO_DUMP ) ROM_END /***************************************************************************************** MEGA LINES Fun World. CPU: 1x Z80 Sound: 3x SN76489. 1x AY-3-8910. ROMs: 1x 27C512 for program. 2x 27C512 for fg graphics. 2x 27C256 for reels graphics. PROMs: 3x TBP24S10N 1x N82S123AN Clock: 1x Xtal 12.000 MHz. Other: 1x DIP-40 custom IC silkscreened '06B30P' (I/O?). 1x DIP-28 custom IC silkscreened '06B49P' (clock divider). 2x DIP-28 custom IC silkscreened '06B53P' (video). 1x 3.6V lithium battery. 4x 8 DIP switches banks. 1x Reset switch. Connectors: 1x (2x36) edge connector. 1x (2x10) edge connector. ROMS have Falcon original stickers. PCB is original from WING Co.,Ltd, with Wing license seal, and Eagle & Fun World stickers (serial numbers). For custom IC's 06B49P, and 06B53P, see the reverse-engineering notes in lucky74.cpp. ------------------------ IO mapped devices: PSGs: A0 - C0 - E0 AY8910: 60 - 80 ***************************************************************************************** PCB Layout .--------------------------------------------------------------------------------------------------------------------------. | .---------. .---. | | .-----------------. .-----------. .---------. .---------. .-------------------------. | 3.6 V | | o XXXXXX | |M27C512 | |HD74LS245P | R |HD74LS157| |HD74LS157| | Z8400BB1 | | | '---' | | | | '-----------' '---------' '---------' | Z80BCPU | | BATTERY | RESET SW | | | 18| | 29017 | '---------' .---' | '-----------------' .-----------. .---------. .---------. '-------------------------' .--------. | | |HD74HC245P | P |HD74LS157| |HD74LS157| | NEC | | | .-----------------. '-----------' '---------' '---------' .-------------------------. |uPC1241H| | | | | | 06B30P | '++++++++' '---. | | HM6264ALP-12 | .-----------. .---------. .---------. | 062002 | |||||||| ---| | | | |HD74HC374P | N |HD74LS157| |HD74LS157| | | ---| | '-----------------' '-----------' '---------' '---------' '-------------------------' ---| | ---| | .-----------------. .-----------. .---------. .---------. .-----------. .---------. ---| | | | |HD74HC374P | M |TBP24S10N| |HD74LS138| |HD74HC245P | | SW1 | ---| | | 06B53P | '-----------' '---------' '---------' '-----------' '---------' ---| | | 9G1 | ----------- DAN803 ---| | '-----------------' .-----------. .---------. .---------. .-----------. .---------. ---| | |HD74LS273P | L |HD74LS283| |HD74LS138| |HD74HC240P | | SW2 | ---| | .-----------------. '-----------' '---------' '---------' '-----------' '---------' ---| | |M27256ZB | ----------- DAN803 ---| | | | .-----------. .---------. .---------. .-----------. .---------. ---| | | 14| |HD74HC273P | K |HD74LS283| |HD74LS139| |HD74LS273P | | SW3 | ---| | '-----------------' '-----------' '---------' '---------' '-----------' '---------' ---| | ----------- DAN803 ---| | .-----------------. .-----------. .---------. .---------. .-----------. .---------. ---| | |M27256ZB | |HD74HC273P | J | HD7425P | |N82S123AN| |HD74LS273P | | SW4 | ---| | | | '-----------' '---------' '---------' '-----------' '---------' ---| | | 13| ----------- DAN803 ---| | '-----------------' ---| | .-----------. .---------. .---------. .-----------. .---------. ---| | .-----------------. |HD74HC245P | H |HD74HC02P| |TBP24S10N| |HD74HC273P | |SN76489AN| ---| | | | '-----------' '---------' '---------' '-----------' '---------' ---| | | HM6264ALP-12 | ---| | | | ---| | '-----------------' .-----------. .---------. .---------. .-----------. .---------. ---| | |HD74LS273P | F |HD74LS08P| |TBP24S10N| |HD74HC273P | |SN76489AN| ---| | .-----------------. '-----------' '---------' '---------' '-----------' '---------' ---| | | | 2x36 EDGE ---| | | 06B53P | CONNECTOR ---| | | 9G1 | .-----------. .---------. .---------. .-----------. ---------. ---| | '-----------------' |HD74HC245P | E |HD74LS32P| |HD74LS86P| |HD74HC273P | |SN76489AN| ---| | '-----------' '---------' '---------' '-----------' '---------' ---| | .-----------------. ---| | |HN27512P | .-----------. .---------. .---------. .-----------. .---------. ---| | | | |HD74HC273P | D |HD74LS86P| |HD74LS86P| |HD74HC240P | | NE556N | ---| | | 12| '-----------' '---------' '---------' '-----------' '---------' .---' | '-----------------' | | | | .-----------------. .-----------. .---------. .---------. | | |HN27512P | |HD74HC273P | C |HD74LS86P| |HD74LS74A| '---. | | | '-----------' '---------' '---------' | | | 11| | | '-----------------' .-----------. .---------. .---------. .----. | | |HD74HC244P | B |HD74LS08P| |HD74LS74A| |8212| | | .-----------------. '-----------' '---------' '---------' |CPA | | | | | .---------. '----' | | | 06B49P | .-----------. .---------. | XTAL | 6 7 | | | 8L1 | |HD74HC240P | A |HD74LS164| | VX-8111 | | | '-----------------' '-----------' '---------' |12.000Mhz| 2x10 EDGE CONN | | '---------' .-----. .-----. | | 1 2 3 4 5 | | | | | | | | | | | | | '------------------------------------------------------------------------------------' '-----------------' '-------' IC POSITION (PIN) D1(12)<---+ +--->D1(28) K1(12)<--+ +-->K1(28) D1(11)<---+ | | +--->D1(13) K1(11)<--+ | | +-->K1(13) GND<-------+ | | | | +--->D1(15) L2(15)<--+ | | | | +-->K1(15) F4(4)<-----+ | | | | | | +--->D1(16) J4(13)<--+ | | | | | | +-->K1(16) F4(7)<-----+ | | | | | | | | +--->D1(17) J4(12)<--+ | | | | | | | | +--->K1(17) F4(6)<-----+ | | | | | | | | | | +--->D1(18) J4(11)<--+ | | | | | | | | | | +--->K1(18) F4(5)<-----+ | | | | | | | | | | | | +--->D1(19) J4(10)<--+ | | | | | | | | | | | | +--->K1(19) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |28 15| |28 15| | | | | | [E1] | | [M1] | |> 06B53P | |> 06B53P | | | | | | | | | | 1 14| | 1 14| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C3(8)<--+ | | | | | | | | | | | | +-->B1(19) C3(8)<--+ | | | | | | | | | | | | +-->J1(19) B3(6)<--+ | | | | | | | | | | +-->B1(18) B3(6)<--+ | | | | | | | | | | +-->J1(18) A2(12)<--+ | | | | | | | | +-->B1(17) A2(12)<--+ | | | | | | | | +-->J1(17) A3(6)<--+ | | | | | | +-->B1(16) A3(6)<--+ | | | | | | +-->J1(16) B3(2)<--+ | | | | +-->B1(15) B3(2)<--+ | | | | +-->J1(15) B1(11)<--+ | | +-->B1(13) J1(11)<--+ | | +-->J1(13) GND<--+ +-->B1(12) GND<----+ +-->J1(12) ========================== Custom 06B53P 9G1 - DIP 28 ========================== Pinout ====== Position [E1] Position [M1] ------------- ------------- 01 -> C3(08) 01 -> C3(08) 02 -> B3(06) 02 -> B3(06) 03 -> A2(12) 03 -> A2(12) 04 -> A3(06) 04 -> A3(06) 05 -> B3(02) 05 -> B3(02) 06 -> B1(11) 06 -> J1(11) 07 -> GND 07 -> GND 08 -> B1(12) 08 -> J1(12) 09 -> B1(13) 09 -> J1(13) 10 -> B1(15) 10 -> J1(15) 11 -> B1(16) 11 -> J1(16) 12 -> B1(17) 12 -> J1(17) 13 -> B1(18) 13 -> J1(18) 14 -> B1(19) 14 -> J1(19) ------------- ------------- 15 -> D1(19) 15 -> K1(19) 16 -> D1(18) 16 -> K1(18) 17 -> D1(17) 17 -> K1(17) 18 -> D1(16) 18 -> K1(16) 19 -> D1(15) 19 -> K1(15) 20 -> D1(13) 20 -> K1(13) 21 -> D1(28) 21 -> K1(28) 22 -> D1(12) 22 -> K1(12) 23 -> D1(11) 23 -> K1(11) 24 -> GND 24 -> L2(15) 25 -> F4(04) 25 -> J4(13) 26 -> F4(07) 26 -> J4(12) 27 -> F4(06) 27 -> J4(11) 28 -> F4(05) 28 -> J4(10) ====================== Custom 06B30P - DIP 40 ====================== Pinout ====== Position [N5] ---------------------------- 01 -> Not Connected 02 -> Not Connected 03 -> Not Connected 04 -> N2(05) 05 -> N2(16) 06 -> N2(02) 07 -> M2(19) 08 -> M2(16) 09 -> M2(15) 10 -> M2(12) 11 -> N2(19) -> 10k -> +5V 12 -> GND 13 -> GND 14 -> M2(06) 15 -> M2(09) 16 -> A2(05) 17 -> 100p -> GND 18 -> Not Connected 19 -> H3(03) 20 -> Not Connected ---------------------------- 21 -> GND 22 -> H3(02) 23 -> Not Connected 24 -> +5V 25 -> N2(09) 26 -> N2(12) 27 -> N2(15) 28 -> N2(06) 29 -> Not Connected 30 -> Not Connected 31 -> P2(18) 32 -> P2(17) 33 -> P2(15) 34 -> P2(18) 35 -> M2(02) 36 -> P2(14) 37 -> P2(13) 38 -> P2(12) 39 -> P2(11) 40 -> Z8400(04) ========================== Custom 06B49P 8L1 - DIP 28 ========================== Pinout ====== Position [A1] -------------------- 01 -> A2(07) 02 -> A2(15) 03 -> Not Connected 04 -> A2(17) 05 -> A3(01) 06 -> E4(01) 07 -> GND 08 -> E4(12) 09 -> E4(09) 10 -> E4(04) 11 -> D4(09) 12 -> D4(04) 13 -> +5V 14 -> GND -------------------- 15 -> GND 16 -> Not Connected 17 -> D4(12) 18 -> D4(01) 19 -> D3(09) 20 -> D3(12) 21 -> +5V 22 -> D3(01) 23 -> D3(04) 24 -> c3(05) 25 -> C3(01) 26 -> B3(13) 27 -> A2(2) 28 -> B2(04) ***************************************************************************************** ======== BPROMS: ======== GND-------------+ +----------N3(10) GND-----------+ | | +--------N3(06) K5(06)------+ | | | | +------(N/C) +5V-------+ | | | | | | +----L2(13) | | | | | | | | +-----------------+ |#################| |>## 24S10 @M3 ###| |#################| +-+-+-+-+-+-+-+-+-+ | | | | | | | | K5(15)----+ | | | | | | +----GND K3(12)------+ | | | | +------D3(03) K3(14)--------+ | | +--------D3(11) D3(06)----------+ +----------D3(08) J3(10)---+ +----J3(11) K5(05)---+ | | +----J3(12) H3(05)----+ | | | | +-----J3(13) +5V-------+ | | | | | | | | | | | | | +-------------------+ | | | | | | | | | +-----------------+ | |#################| | |>## 82S123 @J4 ##| | |#################| | +-+-+-+-+-+-+-+-+-+ | | | | | | | | | | | | | | | | | +--GND | | | | | | | +-------------------+ | | | | | | +-------------------+ | | | | | | +-------------------+ | | | | | | +-------+ | | | | | | +-------+ | | | | | | +-------+ | | | | | | +-------+ | | | | | | | +---------------------+ | | | | | | | | +-|-------------------+ | | | | | | | | | +-|-|-----------------+ | | | | | | | | | | | | | +5V--+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------+ | | | | | | | |#################| | | | | | | | |>## 24S10 @H4 ###| | | | | | | | |#################| | | | | | | | +-+-+-+-+-+-+-+-+-+ | | | | | | | | | | | | | | | | | | | | | | +-----------|-|-+ | | | | +--GND | | | | | | | | +---------|-+ | | | +--------+ | | | | | | | | | +-------+ | | +----------|-+ | | | | | | | +-|-|-|-------------+ +------------|-|-+ | | | | | | | | | | | | | | | | | | | | +-|-|-|-|-------------+ +------------|-|-|--+ | | | | +---|-|-|-|-----------+ | | +----------|-|-|----+ | | +-----|-|-|-|---------+ | | | | +--------|-|-|------+ | | | | | +5V--+ | | | | | | +------|-|-|--------+ | | | | | | | | | | | | | | | | | | | +-----------------+ | | | | | | | |#################| | | | | | | | |>## 24S10 @F4 ###| | | | | | | | |#################| | | | | | | | +-+-+-+-+-+-+-+-+-+ | | | | | | | | | | | | | | | | | | | | | +-------+ | | | | | | +--GND | | | | | +-----------+ | | | | +--------+ | | | +---------------+ | | +------------+ | +-------------------+ +----------------+ ============== DIP SWITCHES: ============== +----------+--------------------------------------+ +-|----------|-+----------------------------------+ | +-|-|----------|-|-+------------------------------+ | | +-|-|-|----------|-|-|-+--------------------------+ | | | +-|-|-|-|----------|-|-|-|-+----------------------+ | | | | +-|-|-|-|-|----------|-|-|-|-|-+------------------+ | | | | | +-|-|-|-|-|-|----------|-|-|-|-|-|-+--------------+ | | | | | | +-|-|-|-|-|-|-|----------|-|-|-|-|-|-|-+----------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +---+-+-+-+-+-+-+-+---+ | | | | | | | | 20| | | | | | | | | | | 1+---------------+8 | | | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | | | | | | | | | | | | | |#####################| | ----------------- |SW1 | | | | | | | | |># HD74HC245P @M5 #| | |#|#|#|#|#|#|#|#| | | | | | | | | | |#####################| | +---------------+ | | | | | | | | | +-+-+-+-+-+-+-+-+-+-+-+ +---+-+-+-+-+-+-+-+---+ | | | | | | | | 1| | | | | | | | | | | | | | | | | | | | | | | | | | | +-+-+-+-+-+-+-+-+-+ | | | | | | | | +------------------+#### DAN803 #####| | | | | | | | | +-----------------+ | | | | | | | | | | | | | | | | +------------------------|-|-|-|-|-|-|-+ | +----------------------|-|-|-|-|-|-+ | | | +--------------------|-|-|-|-|-+ | | | | | +------------------|-|-|-|-+ | | | | | | | +----------------|-|-|-+ | | | | | | | | | +--------------|-|-+ | | | | | | | | | | | +------------|-+ | | | | | | | | | | | | | +----------+ | | | | | | | | | | | | | | | | | | | | | | | +---+-+-+-+-+-+-+-+---+ | | | | | | | | | 1+---------------+8 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ----------------- |SW2 | | | | | | | | | |#|#|#|#|#|#|#|#| | | | | | | | | | | +---------------+ | | | | | | | | | +---+-+-+-+-+-+-+-+---+ | | | | | | | | | | | | | | | | | | | | | | | | +-+-+-+-+-+-+-+-+-+ | | | | | | | | +----------+#### DAN803 #####| | | | | | | | | | +-----------------+ | | | | | | | | HD74LS139 | | | | | | | | | @K4 | +------------------------|-|-|-|-|-|-|-+ | | +----------------------|-|-|-|-|-|-+ | 1 +-V-+ 16 | | | +--------------------|-|-|-|-|-+ | | -|###|- | | | | +------------------|-|-|-|-+ | | | -|###|- | | | | | +----------------|-|-|-+ | | | | -|###|- | | | | | | +--------------|-|-+ | | | | | -|###|- | | | | | | | +------------|-+ | | | | | | -|###|- | | | | | | | | +----------+ | | | | | | | -|###|-----------+ | | | | | | | | | | | | | | | | -|###|---------+ +---+-+-+-+-+-+-+-+---+ | | | | | | | | -|###|--+ | | 1+---------------+8 | | | | | | | | | +---+ | | | | | | | | | | | | | | | | | | | | | | | | ----------------- |SW3 | | | | | | | | | | | |#|#|#|#|#|#|#|#| | | | | | | | | | | | | +---------------+ | | | | | | | | | | | +---+-+-+-+-+-+-+-+---+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-+-+-+-+-+-+-+-+-+ | | | | | | | | | +------------+#### DAN803 #####| | | | | | | | | | +-----------------+ | | | | | | | | | | | | | | | | | | +------------------------|-|-|-|-|-|-|-+ | | +----------------------|-|-|-|-|-|-+ | | | +--------------------|-|-|-|-|-+ | | | | +------------------|-|-|-|-+ | | | | | +----------------|-|-|-+ | | | | | | +--------------|-|-+ | | | | | | | +------------|-+ | | | | | | | | +----------+ | | | | | | | | | | +---+-+-+-+-+-+-+-+---+ | | 1+---------------+8 | | | | | | | | | | | | | | | ----------------- |SW4 | | |#|#|#|#|#|#|#|#| | | | +---------------+ | | +---+-+-+-+-+-+-+-+---+ | | | | | | | | | | +-+-+-+-+-+-+-+-+-+ +-------------------+#### DAN803 #####| +-----------------+ *****************************************************************************************/ ROM_START( megaline ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "18.r1", 0x00000, 0x10000, CRC(37234cca) SHA1(f991bc55fbfc69594573608ca03a9001ccf2f73b) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "11.b1", 0x00000, 0x10000, CRC(6e7810d8) SHA1(16f1331851041b971a62f653f69b8853a2c4f868) ) ROM_LOAD( "12.d1", 0x10000, 0x10000, CRC(054c6ee7) SHA1(6e91223c8f6a2dc93a39a1e6453ccd9c731b8b45) ) ROM_REGION( 0x10000, "gfx2", 0 ) ROM_LOAD( "13.j1", 0x0000, 0x8000, CRC(5676ccb3) SHA1(36794c365c0b7490a9046422c0b334a3cdc15b8e) ) ROM_LOAD( "14.k1", 0x8000, 0x8000, CRC(81acfc59) SHA1(b6f94ade557a2d3ba5e358d33e83016a210890e7) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "tbp24s10.f4", 0x0000, 0x0100, CRC(d864b6f1) SHA1(6edc1941fe49cf53f073bf4acc466cd28b788146) ) ROM_LOAD( "tbp24s10.h4", 0x0100, 0x0100, CRC(4acd5887) SHA1(dca1187a74d9f4abc53b77a1590ec726f682dd91) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "n82s123an.j4", 0x0000, 0x0020, CRC(5447e258) SHA1(04057cddb86896500954b9aa6d6508aa081b9645) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "tbp24s10.m3", 0x0000, 0x0100, CRC(7edb311b) SHA1(8e7f933313dc7a1f2a5e8803c26953ced3f798d0) ) ROM_END /* Bonus Chance (W-8). Wing Co. Ltd. Board similar to Mega Lines, but with slightly different layout and some extra additions... CPU: 1x Z80 @ 6MHz. (measured) MCU: 1x M80C51F-711 (8-Bit Microcontroller) @ 12MHz. (measured). Sound: 4x SN76489 @ 3MHz. (measured). ROMs: 1x 27C512 for program. 2x 27C512 for fg graphics. 2x 27C512 for reels graphics. PROMs: 5x TBP24S10N Clock: 1x Xtal 12.000 MHz. Other: 1x DIP-40 custom IC silkscreened '06B30P' (I/O?). 1x DIP-28 custom IC silkscreened '06B49P' (clock divider, measured). 2x DIP-28 custom IC silkscreened '06B53P' (video). 1x 3.6V lithium battery. 5x 8 DIP switches banks. 1x Reset switch. Connectors: 1x (2x36) edge connector. 1x (2x10) edge connector. ROMS have Eagle original stickers. PCB is original from WING Co.,Ltd, with Wing license seal, and Eagle stickers (serial numbers). For custom IC's 06B49P, and 06B53P, see the reverse-engineering notes in lucky74.c. */ ROM_START( bonusch ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "10.1u", 0x00000, 0x10000, CRC(5098eba6) SHA1(40a33a25d3589dfe7e228f1874239fbfbc5250e4) ) ROM_REGION( 0x1000, "mcu", 0 ) ROM_LOAD( "0.5p", 0x0000, 0x1000, NO_DUMP ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "1.1c", 0x00000, 0x10000, CRC(33ce67c0) SHA1(8f3d7e78a4616bebafed2779b7f793d41576c9c8) ) ROM_LOAD( "2.1e", 0x10000, 0x10000, CRC(fc394767) SHA1(645bf0e60a7061771aa73bb4d10603eaaad17f20) ) ROM_REGION( 0x20000, "gfx2", 0 ) ROM_LOAD( "3.1m", 0x00000, 0x10000, CRC(2acac012) SHA1(59d879214c4e473fa6fedb4a08dcd9b3c6a881a3) ) ROM_LOAD( "4.1p", 0x10000, 0x10000, CRC(530bdec2) SHA1(2ce0993386fe6b165363a053b54fc66d8bf385d7) ) ROM_REGION( 0x300, "proms", 0 ) ROM_LOAD( "tbp24s10.3e", 0x0000, 0x0100, CRC(f8d160c5) SHA1(a3cb9c4337f4f030d62e74ccc882052959b1fa4f) ) ROM_LOAD( "tbp24s10.3f", 0x0100, 0x0100, CRC(bbc03eb2) SHA1(c0e44df0ec8268344f59965e3b9d62a4dca2ebb2) ) ROM_LOAD( "tbp24s10.3h", 0x0200, 0x0100, CRC(77b2585d) SHA1(898302f9a0bd8e354794087461f8f1103bb63783) ) ROM_REGION( 0x300, "proms2", 0 ) ROM_LOAD( "tbp24s10.4e", 0x0000, 0x0100, CRC(06fa2649) SHA1(b2f17d37826317ccad19d535cd5afeedb143778b) ) ROM_LOAD( "tbp24s10.4f", 0x0100, 0x0100, CRC(38000593) SHA1(e0113590cb2dc338d61ae2e7e92b1046c5c2d19f) ) ROM_LOAD( "tbp24s10.4h", 0x0200, 0x0100, CRC(cbf0062d) SHA1(f49dfca34d2eb86b5ff16872fab23d3e3a10be9a) ) ROM_END /* Fever Chance Wing 19?? (1986 in ROM). Wing license seal but Eagle labeled ROMs 1 x Z80 3 x I8255A 3 x SN76489AN 1 x unknown at 8d (possibly battery backed RAM) */ ROM_START( feverch ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "w9.c11", 0x00000, 0x8000, CRC(4dda18ef) SHA1(9a98a2f6996903b58d53e10b7b68c6ed1c34967a) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "cf18.7h", 0x00000, 0x08000, CRC(c63924fe) SHA1(7471d05c8688ba1fa6c0c3444de8883595c21776) ) ROM_LOAD( "cf19.8h", 0x08000, 0x08000, CRC(f0229490) SHA1(665d335cc030a0cbec0c11c685a6f1e2f9706989) ) ROM_LOAD( "cf20.10h", 0x10000, 0x08000, CRC(1d831a06) SHA1(42d235b8dd894d38579886940a3e13adb843e00d) ) ROM_REGION( 0x10000, "gfx2", 0 ) ROM_LOAD( "cf1.1h", 0x00000, 0x02000, CRC(5f022073) SHA1(2e154837834cc9db452279b4933900234b568565) ) // 1st and 2nd half identical ROM_CONTINUE(0x00000, 0x02000) ROM_LOAD( "cf2.2h", 0x02000, 0x02000, CRC(e8f927b9) SHA1(29dec2f21a1bea250a4a2d75fab8d03a1fc70bcd) ) // 1st and 2nd half identical ROM_CONTINUE(0x02000, 0x02000) ROM_LOAD( "cf3.4h", 0x04000, 0x02000, CRC(79b06e00) SHA1(18f73527714914edb57e22909c95f2c764223900) ) // 1st and 2nd half identical ROM_CONTINUE(0x04000, 0x02000) ROM_LOAD( "cf4.5h", 0x06000, 0x02000, CRC(7f73744e) SHA1(7c07095f7ec4302a4839a279c755979ec10e0715) ) // 1st and 2nd half identical ROM_CONTINUE(0x06000, 0x02000) // PROMs not dumped, taken from lucky8 ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "d12", 0x0000, 0x0100, BAD_DUMP CRC(23e81049) SHA1(78071dae70fad870e972d944642fb3a2374be5e4) ) ROM_LOAD( "prom4", 0x0100, 0x0100, BAD_DUMP CRC(526cf9d3) SHA1(eb779d70f2507d0f26d225ac8f5de8f2243599ca) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "d13", 0x0000, 0x0020, BAD_DUMP CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_END /* Win Cherry (ver 0.16 - 19990219) 1x Z0840006PSC-Z80CPU 8-bit Microprocessor. 1x KC89C72 Programmable Sound Generator. 1x TDA2003 Audio Amplifier. 1x 27C256 (ic9) dumped. 1x 27C512 (ic2) dumped. 1x M27C1001 (ic6) dumped. 1x AM27C29PC (not dumped yet). 1x CY62256LL-70PC Static RAM. 1x LP6264D-70LL Static RAM. 2x Xilinx XC9572-PC84 CPLD's (read protected). 1x oscillator 12.000 MHz. 1x 2x28 JAMMA edge connector. 2x pushbutton (MANAG. - STATIS.). 1x trimmer (volume). 5x 8 DIP switches. 1x battery (missing). */ ROM_START( wcherry ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "wc20_388.ic2", 0x00000, 0x10000, CRC(b1ea0e6a) SHA1(2dd3f2cfffc1e47b45c29daa9d7df7af956b599c) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "wincherryb.ic6", 0x00000, 0x20000, CRC(cace16f5) SHA1(a6caddc6ccd30901e2332a42f339a1da022de410) ) ROM_REGION( 0x08000, "gfx2", 0 ) ROM_LOAD( "wincherrya.ic9", 0x00000, 0x08000, CRC(919bd692) SHA1(1aeb66f1e4555b731858833445000593e613f74d) ) ROM_REGION( 0x0200, "proms", 0 ) ROM_LOAD( "am27c29pc", 0x00000, 0x0200, BAD_DUMP CRC(5c8f2b8f) SHA1(67d2121e75813dd85d83858c5fc5ec6ad9cc2a7d) ) // borrowed from other game. ROM_END /* Taiwan Chess Legend Uniwang, 1995 Preliminary driver by Tomasz Slanina PCB Layout ---------- |-----------------------------------------------| | AY8930 DSW5 TCL.1E | | DSW4 TCL.3E TCL.3F TCL.3H | | DSW3 TCL.4E TCL.4F TCL.4H | | DSW2 6116 | | DSW1 6116 6116 | | 6116 | | 8255 12MHz | | | | | | TCL_PR3.9E | | | | 8255 PAL | | | | PAL | | BATTERY LATTICE | | PAL PLSI 1016 Z80 PAL | | TCL_PR1.15C PAL | | SW1 TCL_PR2.16C 6116 TCL.16F | |-----------------------------------------------| Notes: Z80 Clock: 3.000MHz VSync: 60Hz HSync: 15.15kHz This appears to be based off a Blue Dyna Cherry Master board but with extra protection (the sub-board with CPU) */ ROM_START( tcl ) ROM_REGION( 0x10000*2, "maincpu", 0 ) ROM_LOAD( "tcl.16f", 0x00000, 0x20000, CRC(8e694a58) SHA1(7a3c20a7c740065b71fe66ec581edce0dd32f145) ) ROM_REGION( 0x8000*3, "gfx1", 0 ) ROM_LOAD( "tcl.1e", 0x00000, 0x8000, CRC(37edf9b8) SHA1(9225728116d6edfe8476e565a12e1f1e59766d26) ) ROM_LOAD( "tcl.3e", 0x08000, 0x8000, CRC(396298cf) SHA1(0ee306179a9d3dd84f7e5799527e6825d2979ddb) ) ROM_LOAD( "tcl.4e", 0x10000, 0x8000, CRC(f880101c) SHA1(8417410a7dcb304a88e98f9199f44a4df1ee3fb7) ) ROM_REGION( 0x2000*4, "gfx2", 0 ) /* ??? */ ROM_LOAD( "tcl.3f", 0x0000, 0x2000, CRC(c290c1eb) SHA1(00eb5ff46affe01f240081211b7f9a40e9f76bd8) ) ROM_LOAD( "tcl.4f", 0x2000, 0x2000, CRC(225e0148) SHA1(26d8db263b1957fc6b2204765c8aa1f10f44b591) ) ROM_LOAD( "tcl.3h", 0x4000, 0x2000, CRC(ee63d380) SHA1(c1d9ca4584bb2ef0fa85e2afb0876040b473a924) ) ROM_LOAD( "tcl.4h", 0x6000, 0x2000, CRC(6afa36a1) SHA1(a87423f01dbf9b1e69feb049d6ae3fd63321ee1a) ) ROM_REGION( 0x10000, "user1", ROMREGION_ERASEFF ) // (girl bitmaps, not present) ROM_REGION( 0x100*3, "proms", 0 ) ROM_LOAD( "tcl_pr1.15c", 0x000, 0x100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_LOAD( "tcl_pr2.16c", 0x100, 0x100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "tcl_pr3.9e", 0x200, 0x100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /****************************** Stealth Sets ******************************/ /* Super PacMan 2.1 + Cherry Master (Corsica, ver 8.31) stealth game... The game runs in the blue old cherry master hardware, with a daughterboard placed in the Z80 socket. You can switch the games pulsing a hidden input. Hidden Switch: One wire goes to edge connector 35+36 (solder side), carrying GND, and putting PPI (u34) pin 14 (PC0) to GND. The other goes to edge connector 8 (solder side): PPI pin 18 (PB0) */ ROM_START( cmpacman ) ROM_REGION( 0x10000, "maincpu", 0 ) // Seems to have the pulse/bookkeeping bug fixed. ROM_LOAD( "corsica_v8.31_pacman_old_board_new.bin", 0x0000, 0x10000, CRC(4f1ea727) SHA1(e127f3da9e7cc81b93dc3eec66ca56452e78375e) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "c_m_pacman_rom7.u16", 0x00000, 0x8000, CRC(c53273a4) SHA1(d359e65c31ef5253f1e9a3b67db8851a8d1262d1) ) ROM_LOAD( "c_m_pacman_rom6.u11", 0x08000, 0x8000, CRC(013bff64) SHA1(65f2808480970a756b642ddd1a64c10b89ea3b3e) ) ROM_LOAD( "c_m_pacman_rom5.u4", 0x10000, 0x8000, CRC(03298f22) SHA1(32c99da82afff6d38333a9998802c497d6f49fab) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "4.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "3.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "2.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "1.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END ROM_START( cmpacmana ) ROM_REGION( 0x10000, "maincpu", 0 ) // Seems to have a pulse/bookkeeping bug. ROM_LOAD( "corsica_v8.31_pacman_old_board.bin", 0x0000, 0x10000, CRC(f69cbe75) SHA1(08446eb005b6c7ed24489fd664df14b20a41e3eb) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "c_m_pacman_rom7.u16", 0x00000, 0x8000, CRC(c53273a4) SHA1(d359e65c31ef5253f1e9a3b67db8851a8d1262d1) ) ROM_LOAD( "c_m_pacman_rom6.u11", 0x08000, 0x8000, CRC(013bff64) SHA1(65f2808480970a756b642ddd1a64c10b89ea3b3e) ) ROM_LOAD( "c_m_pacman_rom5.u4", 0x10000, 0x8000, CRC(03298f22) SHA1(32c99da82afff6d38333a9998802c497d6f49fab) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "4.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "3.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "2.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "1.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* Tetris + Cherry Master (Corsica, ver 8.01) stealth game... The game runs in the blue old cherry master hardware, with some mods... You can switch the games pulsing their respective hidden buttons. Hidden Switch: One wire goes to edge connector 35+36 (solder side), putting PPI (u34) pin 14 (PC0) to GND (needed to get the switch working). One button adds GND to the edge connector 8 (solder side): PPI pin 18 (PB0), to switch to Tetris game. The other button, adds GND to the edge connector 7 (solder side): PPI pin 19 (PB1), to switch to Cherry Master game. */ ROM_START( cmtetris ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "tetris_cm_v8.01.u81", 0x0000, 0x10000, CRC(3f67dcb2) SHA1(00aa1dcfd14f9b3e130ad31462cd7c9873e9a990) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "7__cmtetris.u16", 0x00000, 0x8000, CRC(2f5c94bd) SHA1(d99bcaa788f8abf5c75b29572d53be109b20c4bb) ) ROM_LOAD( "6__cmtetris.u11", 0x08000, 0x8000, CRC(dac50071) SHA1(7d1c8ec0d81897fe2155578d8c7455dc07104899) ) ROM_LOAD( "5__cmtetris.u4", 0x10000, 0x8000, CRC(9d67e265) SHA1(62eba137d881789c70121d5c07b5247684b917dd) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "4.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "3.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "2.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "1.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* Tetris + Cherry Master (Corsica, ver 8.01) stealth game... The game runs in the blue old cherry master hardware, with some mods... The program is shuffled in banks of 0x1000. You can switch the games pulsing their respective hidden buttons. The Tetris game is different to the one in cmtetris set. Hidden Switch: One wire goes to edge connector 35+36 (solder side), putting PPI (u34) pin 14 (PC0) to GND (needed to get the switch working). One button adds GND to the edge connector 8 (solder side): PPI pin 18 (PB0), to switch to Tetris game. The other button, adds GND to the edge connector 7 (solder side): PPI pin 19 (PB1), to switch to Cherry Master game. */ ROM_START( cmtetrsa ) ROM_REGION( 0x20000, "maincpu", 0 ) ROM_LOAD( "cm89-tetri-9.u81", 0x10000, 0x10000, CRC(75e0c101) SHA1(6dc4f7c43f0f4e21d621f3c42cb1709d6b730c53) ) /* Need checks and fixes 3800+ --> 5800+ 9800+ --> 3800+ */ // ROM_COPY( "maincpu", 0x1c000, 0x0000, 0x1000 ) /* src-dest-size ok */ // ROM_COPY( "maincpu", 0x16000, 0x1000, 0x1000 ) /* src-dest-size ok */ // ROM_COPY( "maincpu", 0x14000, 0x2000, 0x1000 ) /* src-dest-size ok */ // ROM_COPY( "maincpu", 0x1a000, 0x3000, 0x1000 ) /* src-dest-size ok (some calls to high 5xxx appear here, maybe split in 0x800?) */ // ROM_COPY( "maincpu", 0x15000, 0x4000, 0x1000 ) /* src-dest-size ok */ // ROM_COPY( "maincpu", 0x11000, 0x6000, 0x1000 ) /* src-dest-size ok */ // ROM_COPY( "maincpu", 0x13000, 0x8000, 0x1000 ) /* src-dest-size ok */ // ROM_COPY( "maincpu", 0x17000, 0x5000, 0x1000 ) /* src-dest-size */ // ROM_COPY( "maincpu", 0x10000, 0x7000, 0x1000 ) /* src-dest-size */ // ROM_COPY( "maincpu", 0x18000, 0x9000, 0x1000 ) /* src-dest-size */ // ROM_COPY( "maincpu", 0x19000, 0xa000, 0x1000 ) /* src-dest-size */ // ROM_COPY( "maincpu", 0x12000, 0xb000, 0x1000 ) /* src-dest-size */ // ROM_COPY( "maincpu", 0x1b000, 0xc000, 0x1000 ) /* src-dest-size */ // ROM_COPY( "maincpu", 0x1d000, 0xd000, 0x1000 ) /* src-dest-size */ // ROM_COPY( "maincpu", 0x1e000, 0xe000, 0x1000 ) /* src-dest-size */ // ROM_COPY( "maincpu", 0x1f000, 0xf000, 0x1000 ) /* src-dest-size */ ROM_COPY( "maincpu", 0x1c000, 0x0000, 0x0800 ) /* src-dest-size */ // #01 ROM_COPY( "maincpu", 0x19800, 0x0800, 0x0800 ) /* src-dest-size */ // #02 ROM_COPY( "maincpu", 0x16000, 0x1000, 0x0800 ) /* src-dest-size */ // #03 ROM_COPY( "maincpu", 0x17800, 0x1800, 0x0800 ) /* src-dest-size */ // #04 ROM_COPY( "maincpu", 0x14000, 0x2000, 0x0800 ) /* src-dest-size */ // #05 ROM_COPY( "maincpu", 0x1c800, 0x2800, 0x0800 ) /* src-dest-size */ // #06 ROM_COPY( "maincpu", 0x1a000, 0x3000, 0x0800 ) /* src-dest-size */ // #07 ROM_COPY( "maincpu", 0x18800, 0x3800, 0x0800 ) /* src-dest-size */ // #08 ROM_COPY( "maincpu", 0x10000, 0x4000, 0x0800 ) /* src-dest-size */ // #09 ROM_COPY( "maincpu", 0x15000, 0x4800, 0x0800 ) /* src-dest-size */ // #10 ROM_COPY( "maincpu", 0x14800, 0x5000, 0x0800 ) /* src-dest-size */ // #11 ROM_COPY( "maincpu", 0x1a800, 0x5800, 0x0800 ) /* src-dest-size */ // #12 ROM_COPY( "maincpu", 0x11000, 0x6000, 0x0800 ) /* src-dest-size */ // #13 ROM_COPY( "maincpu", 0x11800, 0x6800, 0x0800 ) /* src-dest-size */ // #14 ROM_COPY( "maincpu", 0x1b000, 0x7000, 0x0800 ) /* src-dest-size */ // #15 ROM_COPY( "maincpu", 0x1f000, 0x7800, 0x0800 ) /* src-dest-size */ // #16 ROM_COPY( "maincpu", 0x1f800, 0x8000, 0x0800 ) /* src-dest-size */ // #17 ROM_COPY( "maincpu", 0x13800, 0x8800, 0x0800 ) /* src-dest-size */ // #18 ROM_COPY( "maincpu", 0x19000, 0x9000, 0x0800 ) /* src-dest-size */ // #19 ROM_COPY( "maincpu", 0x1b800, 0x9800, 0x0800 ) /* src-dest-size */ // #20 ROM_COPY( "maincpu", 0x12000, 0xa000, 0x0800 ) /* src-dest-size */ // #21 ROM_COPY( "maincpu", 0x10800, 0xa800, 0x0800 ) /* src-dest-size */ // #22 ROM_COPY( "maincpu", 0x18000, 0xb000, 0x0800 ) /* src-dest-size */ // #23 ROM_COPY( "maincpu", 0x12800, 0xb800, 0x0800 ) /* src-dest-size */ // #24 ROM_COPY( "maincpu", 0x13000, 0xc000, 0x0800 ) /* src-dest-size */ // #25 ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "cm89-tetri-7.u16", 0x00000, 0x8000, CRC(2f5c94bd) SHA1(d99bcaa788f8abf5c75b29572d53be109b20c4bb) ) ROM_LOAD( "cm89-tetri-6.u11", 0x08000, 0x8000, CRC(dac50071) SHA1(7d1c8ec0d81897fe2155578d8c7455dc07104899) ) ROM_LOAD( "cm89-tetri-5.u4", 0x10000, 0x8000, CRC(9d67e265) SHA1(62eba137d881789c70121d5c07b5247684b917dd) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "cm89-tetri-4.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "cm89-tetri-3.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "cm89-tetri-2.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "cm89-tetri-1.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "cm89-tetri-8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u46", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /* Tetris + Cherry Master (+K, Canada Version, encrypted) stealth game... The game runs in the blue old cherry master hardware, with a daughterboard placed in the Z80 socket. Daughterboard specs: Silkscreened: AMUS89 REV.0 1x Zilog Z0840006PSC (Z80 CPU) 1x Lattice A444A12 (PLCC68) 1x Unknown DIL-24 IC marked 3567 HX881(1) 9620. 1x AM27C512 for program, labeled '9'. 1x HM6116LP-3 1x C358C (dual oper amplifier) 1x 12.000 MHz. crystal. 1x 3.579545 MHz. crystal. About the unknown IC.... HX881 is known as U3567, U3567 is a YM2413 clone. YM2413 is 18 pins, but the SOP package is 24 pins. Because of the dual amp, this might support it being a sound chip. Probably tracing pin connections to the HX881 will confirm it. Hidden Switch: You can enter Cherry Master mode in same way like other Tetris versions. One wire goes to edge connector 35 + 36 (solder side), putting PPI (u34) pin 14 (PC0) to GND (needed to get the switch working). One button adds GND to the edge connector 8 (solder side): PPI pin 18 (PB0), to switch to Tetris game. The other button, adds GND to the edge connector 7 (solder side): PPI pin 19 (PB1), to switch to Cherry Master game. Need proper implementation. */ ROM_START( cmtetrsb ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "9__canada_daughterboard.bin", 0x0000, 0x10000, CRC(9810b853) SHA1(cf1216414f93cc78c7c9e5a3998e8b162692e05e) ) ROM_REGION( 0x30000, "gfx1", 0 ) ROM_LOAD( "rom7.u16", 0x00000, 0x10000, CRC(51498501) SHA1(7ac92129b449f7d4407f847c6200bf278c196c02) ) ROM_LOAD( "rom6.u11", 0x10000, 0x10000, CRC(8b113a3c) SHA1(aa24edd672c05a06f476286b343f8b1a40d5f0c9) ) ROM_LOAD( "rom5.u4", 0x20000, 0x10000, CRC(c3de5ce1) SHA1(2945c8e336c6d8638899b798fbe79c5757941fd8) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "rom4.u15", 0x0000, 0x2000, CRC(8607ffd9) SHA1(9bc94715554aa2473ae2ed249a47f29c7886b3dc) ) ROM_LOAD( "rom3.u10", 0x2000, 0x2000, CRC(c32367be) SHA1(ff217021b9c58e23b2226f8b0a7f5da966225715) ) ROM_LOAD( "rom2.u14", 0x4000, 0x2000, CRC(6dfcb188) SHA1(22430429c798954d9d979e62699b58feae7fdbf4) ) ROM_LOAD( "rom1.u9", 0x6000, 0x2000, CRC(9678ead2) SHA1(e80aefa98b2363fe9e6b2415762695ace272e4d3) ) ROM_REGION( 0x10000, "user1", 0 ) ROM_LOAD( "rom8.u53", 0x0000, 0x10000, CRC(e92443d3) SHA1(4b6ca4521841610054165f085ae05510e77af191) ) /* proms taken from cmv4, probably wrong */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.u84", 0x0000, 0x0100, CRC(0489b760) SHA1(78f8632b17a76335183c5c204cdec856988368b0) ) ROM_LOAD( "82s129.u79", 0x0100, 0x0100, CRC(21eb5b19) SHA1(9b8425bdb97f11f4855c998c7792c3291fd07470) ) ROM_REGION( 0x100, "proms2", 0 ) ROM_LOAD( "82s129.u43", 0x0000, 0x0100, CRC(50ec383b) SHA1(ae95b92bd3946b40134bcdc22708d5c6b0f4c23e) ) ROM_END /********************** Flaming 7, from Cyberdyne Systems, Inc. *********************** Flaming 7. Cyberdyne Systems, Inc. Graphics: CGA Reels: 3 spinning reels. Lines: 8. Bonus Games: Yes. Harness Type: Standard 36/10 Pin Cherry Master Harness. Looks like a Wing W-4 derivative. There are at least 3 different hardwares: Cyberdyne original PCB, Taiwanese custom PCB, and one close to Wing W-4. Graphics: 4 different types, selectable through DIP switches. 1) Regular Fruits. 2) Numbers. (Custom Option 1 in W-4 HW) 3) Custom Set 1 (Custom Option 2 in W-4 HW) 4) Custom Set 2 (Custom Option 3 in W-4 HW) Titles / GFX upgrades: +----+------------------------------+---------+----------+ | N# | Title: | Dumped | Emulated | +----+------------------------------+---------+----------+ | 01 | Big Bull Frog. | NO | NO | | 02 | Buffalo Bills. | NO | NO | | 03 | Cash Cabaret. | NO | NO | | 04 | Cash Cow. | NO | NO | | 05 | Cherry 50 Bonus. | YES | YES | Custom main 50, 500 & 2000. | 06 | Cherry 500 Bonus. | YES | YES | Custom main 50, 500 & 2000. | 07 | Cherry 1000 Bonus. | YES | YES | Custom main 50, 500 & 2000. | 08 | Christmas. | NO | NO | | 09 | Deuces Wild. | NO | NO | | 10 | Diamond Delight. | YES | YES | Different set. Custom main 50, 500 & 2000. | 11 | Diamond Doubles. | NO | NO | | 12 | Diamond Treasure. | NO | NO | | 13 | Dream Catcher. | NO | NO | | 14 | Dynamite Diamonds 1. | NO | NO | | 15 | Dynamite Diamonds 2. | NO | NO | | 16 | Egyptian Gold. | NO | NO | | 17 | Gold Country. | NO | NO | | 18 | Golden Treasure. | NO | NO | | 19 | Greenbacks. | NO | NO | | 20 | Harley Davidson. | NO | NO | | 21 | Hollywood Nights. | YES (W4)| YES (W4) | Flaming 7's W4 version. | 22 | Independence Day. | NO | NO | | 23 | Jokers Wild. | NO | NO | | 24 | Midnight Sevens. | NO | NO | | 25 | Mighty Buffalo. | NO | NO | | 26 | Money. | NO | NO | | 27 | Moola. | NO | NO | | 28 | New Year's. | NO | NO | | 29 | Prospector's Gold. | NO | NO | | 30 | Red Hot Ice. | NO | NO | | 31 | Red, White & Blue 7's. | YES (W4)| YES (W4) | Flaming 7's W4 version. | 32 | Rising Star. | NO | NO | | 33 | Rockin' Reels. | NO | NO | | 34 | Rolling Thunder. | NO | NO | | 35 | Soboba Gold. | NO | NO | | 36 | Star Sevens / American Gold. | NO | NO | | 37 | Sun God. | NO | NO | | 38 | Super Stars & Stripes. | NO | NO | | 39 | Sweet Dreams. | NO | NO | | 40 | Sweethearts & Sevens. | NO | NO | | 41 | Tropical Treasure. | NO | NO | | 42 | Vegas Classic. | NO | NO | | 43 | White Buffalo. | NO | NO | | 44 | Wild Thing. | NO | NO | | 45 | Wild Watermelons. | NO | NO | | 46 | Wild West. | NO | NO | +----+------------------------------+---------+----------+ Will name the sets using the internal code of both custom graphics sets in their respective order... ------------------------------------------------------------------- Original Cyberdyne Systems hardware DIP switches: +-----------------------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | DIP SWITCHES BANK #1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | +----------------+------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | CREDITS OUT | NO CREDITS OUT | OFF | OFF | | | | | | | | | TICKET PRINTER | ON | OFF | | | | | | | | | HOPPER PAYOUT | OFF | ON | | | | | | | | | REMOTE CLEAR | ON | ON | | | | | | | +----------------+------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | GAME SPEED | FAST GAME | | | OFF | | | | | | | | SLOW GAME | | | ON | | | | | | +----------------+------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | LOCK UP ON 7-8 | NO | | | | OFF | | | | | | OF ANY KIND | YES | | | | ON | | | | | +----------------+------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | GRAPHICS TYPE | REGULAR FRUIT | | | | | OFF | OFF | | | | | NUMBERS | | | | | ON | OFF | | | | | CUSTOM OPTION 1 | | | | | OFF | ON | | | | | CUSTOM OPTION 2 | | | | | ON | ON | | | +----------------+------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | PAY TABLE | 9322 | | | | | | | OFF | OFF | | | 9323 | | | | | | | ON | OFF | | | 9324 | | | | | | | OFF | ON | | | 9321 | | | | | | | ON | ON | +----------------+------------------+-----+-----+-----+-----+-----+-----+-----+-----+ +-----------------------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | DIP SWITCHES BANK #2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | +----------------+------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | BONUS PAY % | 1.0 % | OFF | OFF | OFF | | | | | | | | 1.2 % | ON | OFF | OFF | | | | | | | | 3.3 % | OFF | ON | OFF | | | | | | | | 4.0 % | ON | ON | OFF | | | | | | | | 5.0 % | OFF | OFF | ON | | | | | | | | 6.2 % | ON | OFF | ON | | | | | | | | 8.0 % | OFF | ON | ON | | | | | | | | 10.0 % | ON | ON | ON | | | | | | +----------------+-----+------------+-----+-----+-----+-----+-----+-----+-----+-----+ | INTERNAL PROGRESSIVE | ON | | | | OFF | | | | | | | OFF | | | | ON | | | | | +----------------+-----+------------+-----+-----+-----+-----+-----+-----+-----+-----+ | NOT USED | | | | | | OFF | OFF | OFF | OFF | +----------------+------------------+-----+-----+-----+-----+-----+-----+-----+-----+ +-----------------------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | DIP SWITCHES BANK #3 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ | MAXIMUM BET | 8 | OFF | OFF | | | | | | | | | 16 | ON | OFF | | | | | | | | | 32 | OFF | ON | | | | | | | | | 64 | ON | ON | | | | | | | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ | COIN IN-TIME OUT | OFF | | | OFF | | | | | | | | ON | | | ON | | | | | | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ | DEMONATION | $1.00 | | | | OFF | OFF | OFF | | | | | 50 CENTS | | | | ON | OFF | OFF | | | | | 25 CENTS | | | | OFF | ON | OFF | | | | | 10 CENTS | | | | ON | ON | OFF | | | | | 5 CENTS | | | | OFF | OFF | ON | | | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ | PROGRESSIVE SIGN | OFF | | | | | | | OFF | OFF | | | SINGLE LEVEL | | | | | | | ON | OFF | | | MULTI-LEVEL | | | | | | | OFF | ON | | | TEST MODE | | | | | | | ON | ON | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ +-----------------------------------+-----+-----+-----+-----+-----+-----+-----+-----+ | DIP SWITCHES BANK #4 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ | BUTTON LOCKOUT | OFF | OFF | | | | | | | | | | ON | ON | | | | | | | | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ | LOCKOUT POLARITY | ACTIVE HIGH | | OFF | | | | | | | | | ACTIVE LOW | | ON | | | | | | | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ | PRINTER TYPE | EPSON 276A | | | OFF | OFF | | | | | | | STAR 300 | | | ON | OFF | | | | | | | ITHACA 75 | | | OFF | ON | | | | | | | CITIZEN 3541 | | | ON | ON | | | | | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ | PAPER LOW SENSOR | OFF | | | | | OFF | OFF | OFF | OFF | | | ON | | | | | ON | OFF | OFF | OFF | +------------------+----------------+-----+-----+-----+-----+-----+-----+-----+-----+ NOTE: Set bill validator DIP switches for 1 pulse per dollar. When you choose the demonation with the DIP switch on the board, the software will know how many credits to give per dollar. Pay Table Diagram: (Set With DIP Switches Bank #1, numbers 7 & 8) --- 9323 --- 3 Flaming Sevens 75 for 1 3 Sevens 40 for 1 9 Bars 15 for 1 6 Bars 12 for 1 3 Bars 10 for 1 3 Cherries 08 for 1 2 Cherries 05 for 1 1 Cherries 02 for 1 With 8 or more Bet: 9 of any one = 1000 for 1 8 of any one = 500 for 1 7 of any one = 100 for 1 If Cherry Bonus is on 5 or more Cherries, Pays Bonus. --- 9324 --- 3 Flaming Sevens 75 for 1 3 Sevens 40 for 1 9 Bars 15 for 1 6 Bars 12 for 1 3 Bars 10 for 1 3 Cherries 08 for 1 2 Cherries 04 for 1 1 Cherries 01 for 1 With 8 or more Bet: 9 of any one = 5000 for 1 8 of any one = 2500 for 1 7 of any one = 500 for 1 If Cherry Bonus is on 5 or more Cherries, Pays Bonus. --- 9321 --- 3 Flaming Sevens 75 for 1 3 Sevens 40 for 1 9 Bars 15 for 1 6 Bars 12 for 1 3 Bars 10 for 1 3 Cherries 08 for 1 2 Cherries 05 for 1 1 Cherries 02 for 1 With 8 or more Bet: 9 of any one = 3000 for 1 8 of any one = 1500 for 1 7 of any one = 300 for 1 If Cherry Bonus is on 5 or more Cherries, Pays Bonus. --- 9322 --- 3 Flaming Sevens 100 for 1 3 Sevens 50 for 1 9 Bars 18 for 1 6 Bars 14 for 1 3 Bars 10 for 1 3 Cherries 10 for 1 2 Cherries 05 for 1 1 Cherries 02 for 1 With 8 or more Bet: 9 of any one = 1000 for 1 8 of any one = 500 for 1 7 of any one = 100 for 1 If Cherry Bonus is on 5 or more Cherries, Pays Bonus. ------------------------------------------------------------------------- CYBERDYNE 72 PIN GAME LOGIC CONNECTOR Parts Side | | | Solder Side ---------------+--+--+--------------- Red Video |01|37| Green Video Blue Video |02|38| Video Sync Speaker (+)|03|39| Speaker Ground |04|40| |05|41| |06|42| Drop Door SW |07|43| Change SW Logic Door SW |08|44| Main Door SW Start Switch |09|45| Low Switch |10|46| Play Credit Switch |11|47| Take Score Switch |12|48| Double Up Switch |13|49| High Switch |14|50| Button Lock |15|51| |16|52| |17|53| (DBA) Inuput0 |18|54| Coin Switch "A" Coin Switch "B" |19|55| Book Keeping Switch |20|56| Stats / Setup SW Collect SW |21|57| Hopper Full Switch |22|58| Counter Out "A" |23|59| Bell |24|60| Lockout mars (DBA) Tower Lamp |25|61| Counter Out "D" |26|62| Played Meter |27|63| Lack of Hopper Counter Count down Meter Out |28|64| Start Lamp |29|65| Low Lamp |30|66| Collect Lamp Play Credit Lamp |31|67| Progressive Link Take Score Lamp |32|68| Double Up Lamp |33|69| TXD High Lamp |34|70| |35|71| Switch Grounds |36|72| Switch Grounds +--+--+ 20 Pin Game PCB Power Connector Parts Side | | | Solder Side ---------------+--+--+--------------- Logic Ground |01|11| Logic Ground Logic Ground |02|12| Logic Ground +5 VDC |03|13| +5 VDC |04|14| +5 VDC +12 VDC |05|15| +12 VDC |06|16| |07|17| |08|18| Logic Ground |09|19| Logic Ground Logic Ground |10|20| Logic Ground +--+--+ ------------------------------------------------------------------------- Cyberdyne Printer Harness (Flaming 7) ------------------------------------- +12V.----+----+ | | Z Z Z Z 470 ohm 1/4 watt resistors Z Z | | PCB Pin 69 Solder Side (TXD) ---+----|---- DB25 pin 3 (received data) | +---- DB25 pin 6 PCB Pin 22 Parts Side -------------------- DB25 pins 1 & 7 (Single & Safety) PCB Pin 35 Parts Side -------------------- DB25 pin 20 (Printer Busy Signal) DIP Switches settings for Citizen Printer: Model # 3551 DIP SW #1 = 5, 7, 9, 10 OFF. DIP SW #2 = 5, 7, 8, OFF. ------------------------------------------------------------------------- Tech Notes: W-4 PCB type has some hacks... 1) PPI 8255 pin 10 (PC7) is wired to pin 22 (PB4)... 2) Pin 39 from solder side (speaker GND) and pin 04 from components side (PPI 8255 pin 11, PC6) are wired with a DS2401 (sillicon serial number) device, to pins 1 & 2 (GND & DATA). DS2401 has 64bits of internal data: 8 bits for family type + 48 bits for serial + 8 bits for CRC. Maxim/Dallas 1-Wire devices use what is called Dow CRC to check that the data bytes were received correctly. This returns an 8-bit CRC value as the last byte and uses a polynomial of X^8 + X^5 + X^4 + X^0. 3) Z80 /INT line (pin 16) is out of socket and wired to a 74161. Custom Hardware Notes: To initialize the game the first time, enter BOOKS/STATS/SETUP (Key 0), and advance through the menus with RESET key (key R). When finish press again BOOKS/STATS/SETUP (Key 0) to exit the setup mode. --- GFX Bank 1 (chars and BG graphics) is colors-accurate. GFX Bank 2 needs some work... There is a window that should shows the bonus graphics. This graphic icon is taken from Bank 2, and is the "representative" for the chosen gfx set. Code writes the bonus graphics at 9A80-9A89, and the "reel scroll" at B0C0-B0FF... Tileset: Reels GFX 1: 00-00-01-02-03-04-05-06-07-00 Reels GFX 2: 00-5A-5B-5C-5D-5E-5F-60-61-00 Reels GFX 3: 9F-A0-A1-A2-A3-A4-A5-A6-A7-A8 Reels GFX 4: E7-E8-E9-EA-EB-EC-ED-EE-EF-F0 ...and written 0x10 at B0C0-B0FF. The taiwanese hardware needs better decoded reels graphics ROMs, The chars/text graphics are properly decodes, but texts strings look bad in the game. *******************************************************************************************/ /* Flaming 7 Cyberdyne Systems, Inc. W4 hardware. GFX sets: 1) Red, White & Blue 7's 2) Hollywood Nights. To boot the first time, press the BET 1 button (key M), and then BOOKS/STATS/SETUP (Key 0) twice. For further boots, just press BET 1 button. (the real hardware boots straight due to electronic serial number protection) To enter the Bookkeeping/Setup mode, press BOOKS/STATS/SETUP (key 0). Use RESET key (key R) to navigate between pages. Press BOOKS/STATS/SETUP (key 0) to exit the Bookkeeping mode. */ ROM_START( fl7_3121 ) // Red, White & Blue 7's + Hollywood Nights. Serial 7D063B800000. ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "main.14b", 0x0000, 0x8000, CRC(5756e927) SHA1(5448e1ca4ae060b086145eee10b8dc6eb05acc56) ) ROM_REGION( 0x18000, "gfx1", 0 ) ROM_LOAD( "5.7h", 0x00000, 0x8000, CRC(e2a2bf3e) SHA1(545ccd46f1fb65573778c3d14e73abb7d5f0ceda) ) ROM_LOAD( "6.8h", 0x08000, 0x8000, CRC(46038515) SHA1(630b8fe920b9eded66705c39fbb8f2a49cae05a7) ) ROM_LOAD( "7.10h", 0x10000, 0x8000, CRC(56c5c6e0) SHA1(9b64466899df17b5198249c12a2bdcd08383bb07) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "1.1h", 0x00000, 0x2000, CRC(22e23ce1) SHA1(5d1314cb259f6ab6d25abc8c019a74696d5ebc44) ) ROM_LOAD( "2.3h", 0x02000, 0x2000, CRC(d3a097a5) SHA1(7100fb3570fc30aa7df4558a61cd165a67ae916d) ) ROM_LOAD( "3.4h", 0x04000, 0x2000, CRC(c3207316) SHA1(3caeb0342aa23e6f3b5f1bf72957dce890ac6bc6) ) ROM_LOAD( "4.5h", 0x06000, 0x2000, CRC(8d4a9198) SHA1(44fad32da4b018c1293320dc584e93d17ca71b2b) ) ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "82s129.g13", 0x0000, 0x0100, CRC(3ed8a612) SHA1(4189f1abb0033aeb64b56f63bdbc29d980c43909) ) ROM_LOAD( "82s129.g14", 0x0100, 0x0100, CRC(aa068a22) SHA1(42c6d77e5aa360c529f8aca6b925010c15eedcd7) ) ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "82s123.d13", 0x0000, 0x0020, CRC(c6b41352) SHA1(d7c3b5aa32e4e456c9432a13bede1db6d62eb270) ) ROM_REGION( 0x100, "unkprom", 0 ) ROM_LOAD( "82s129.f3", 0x0000, 0x0100, CRC(1d668d4a) SHA1(459117f78323ea264d3a29f1da2889bbabe9e4be) ) ROM_REGION( 0x20, "unkprom2", 0 ) ROM_LOAD( "82s123.d12", 0x0000, 0x0020, CRC(6df3f972) SHA1(0096a7f7452b70cac6c0752cb62e24b643015b5c) ) ROM_REGION(0x8, "fl7w4_id", 0) /* Electronic Serial DS2401 */ ROM_LOAD( "ds2401.bin", 0x0000, 0x0008, CRC(b7078792) SHA1(f9eba1587b65ed9bc07ea6c4b2d393fb43f60659) ) // Hand built to match our ROM set ROM_END /* Flaming 7's Cyberdyne Systems. Main - 50. Custom Hardware. */ ROM_START( fl7_50 ) // Serial 00000069A1C9. ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "50-main.u22", 0x0000, 0x8000, CRC(e097e317) SHA1(a903144cc2290b7e22045490784b592adbf9ba97) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "27c1001.u6", 0x00000, 0x20000, CRC(00eac3c1) SHA1(1a955f8bc044e17f0885b4b126a66d7ad191e410) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "27c256.u3", 0x0000, 0x8000, CRC(cfc8f3e2) SHA1(7dd72e3ffb0904776f3c07635b953e72f4c63068) ) /* Proper bipolar PROM dump */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "am27s29.u1", 0x0000, 0x0100, CRC(3fe7e369) SHA1(cf4ae287cb58581a4bf9e9ff1994426461fb38cc) ) ROM_CONTINUE( 0x0000, 0x0100) // palette data is stored in the second half. ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "dummy", 0x0000, 0x0020, NO_DUMP ) ROM_REGION(0x8, "fl7w4_id", 0) /* Electronic Serial */ ROM_LOAD( "eserial.bin", 0x0000, 0x0008, NO_DUMP ) // Hand built to match our ROM set ROM_END /* Flaming 7's Cyberdyne Systems. Main - 500. Custom Hardware. */ ROM_START( fl7_500 ) // Serial 000000125873. ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "500-main.u22", 0x0000, 0x8000, CRC(e2c82c67) SHA1(951b0044de9b6104f51aa5a3176d0ea475415f7c) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "27c1001.u6", 0x00000, 0x20000, CRC(00eac3c1) SHA1(1a955f8bc044e17f0885b4b126a66d7ad191e410) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "27c256.u3", 0x0000, 0x8000, CRC(4e3bd980) SHA1(202d3135da7ab435f487943079d88b170dc10955) ) /* Proper bipolar PROM dump */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "am27s29.u1", 0x0000, 0x0100, CRC(3fe7e369) SHA1(cf4ae287cb58581a4bf9e9ff1994426461fb38cc) ) ROM_CONTINUE( 0x0000, 0x0100) // palette data is stored in the second half. ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "dummy", 0x0000, 0x0020, NO_DUMP ) ROM_REGION(0x8, "fl7w4_id", 0) /* Electronic Serial */ ROM_LOAD( "eserial.bin", 0x0000, 0x0008, NO_DUMP ) // Hand built to match our ROM set ROM_END /* Flaming 7's Cyberdyne Systems. Main - 2000. Custom Hardware. */ ROM_START( fl7_2000 ) // Serial 00000063A47F. ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "2000_main_27c256.u22", 0x0000, 0x8000, CRC(9659b045) SHA1(801b6733b70b35de65cd8faba6814fa013c05ad0) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "m27c1001.u6", 0x00000, 0x20000, CRC(5a2157bb) SHA1(2b170102caf1224df7a6d33bb84d19114f453d89) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "27c256.u3", 0x0000, 0x8000, CRC(cfc8f3e2) SHA1(7dd72e3ffb0904776f3c07635b953e72f4c63068) ) /* Proper bipolar PROM dump */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "am27s29.u1", 0x0000, 0x0100, CRC(3fe7e369) SHA1(cf4ae287cb58581a4bf9e9ff1994426461fb38cc) ) ROM_CONTINUE( 0x0000, 0x0100) // palette data is stored in the second half. ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "dummy", 0x0000, 0x0020, NO_DUMP ) ROM_REGION(0x8, "fl7w4_id", 0) /* Electronic Serial */ ROM_LOAD( "eserial.bin", 0x0000, 0x0008, NO_DUMP ) // Hand built to match our ROM set ROM_END /* Flaming 7's Cyberdyne Systems. 2000 Bonus. Egyptian Gold. Custom Hardware. */ ROM_START( fl7_2k16 ) // Serial 000000743111. ROM_REGION( 0x8000, "maincpu", 0 ) ROM_LOAD( "2000_bonus_27c256.u22", 0x0000, 0x8000, CRC(290c37b0) SHA1(a90093d2139fd5ca261870298c2d84648f14e6bc) ) ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "egyptian_gold_m27c1001.u6", 0x00000, 0x20000, CRC(5a2157bb) SHA1(2b170102caf1224df7a6d33bb84d19114f453d89) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "egyptian_gold_27c256.u3", 0x0000, 0x8000, CRC(11241dae) SHA1(7197813304623c022dc37aa603c0cb067c8bf1fd) ) /* Bipolar PROM dump borrowed from main sets */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "am27s29.u1", 0x0000, 0x0100, CRC(3fe7e369) SHA1(cf4ae287cb58581a4bf9e9ff1994426461fb38cc) ) ROM_CONTINUE( 0x0000, 0x0100) // palette data is stored in the second half. ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "dummy", 0x0000, 0x0020, NO_DUMP ) ROM_REGION(0x8, "fl7w4_id", 0) /* Electronic Serial */ ROM_LOAD( "eserial.bin", 0x0000, 0x0008, NO_DUMP ) // Hand built to match our ROM set ROM_END /* Flaming 7's (unknown version) Taiwanese Hardware. Needs proper graphics ROM decryption and gfxdecode... */ ROM_START( fl7_tw ) // Serial 00000050E9B7. ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "27c512_tw.u20", 0x0000, 0x10000, CRC(50927a1b) SHA1(2557069f497b23f13978294f3ac108229d9db544) ) // identical halves. ROM_REGION( 0x20000, "gfx1", 0 ) ROM_LOAD( "m27c1001_tw.u1", 0x00000, 0x20000, CRC(e6099723) SHA1(31e73a81166dd0d50d51ead38d348e36018d0698) ) ROM_REGION( 0x8000, "gfx2", 0 ) ROM_LOAD( "27c256_tw.u3", 0x0000, 0x8000, CRC(7f163639) SHA1(607aa1e7d15423409bb2cd49895502dc2e4b3e46) ) /* Bipolar PROM dump borrowed from main sets */ ROM_REGION( 0x200, "proms", 0 ) ROM_LOAD( "am27s29.u1", 0x0000, 0x0100, CRC(3fe7e369) SHA1(cf4ae287cb58581a4bf9e9ff1994426461fb38cc) ) ROM_CONTINUE( 0x0000, 0x0100) // palette data is stored in the second half. ROM_REGION( 0x20, "proms2", 0 ) ROM_LOAD( "dummy", 0x0000, 0x0020, NO_DUMP ) ROM_REGION(0x8, "fl7w4_id", 0) /* Electronic Serial */ ROM_LOAD( "eserial.bin", 0x0000, 0x0008, NO_DUMP ) // Hand built to match our ROM set ROM_END // PCB pic is blurred, but main components appear to be: TMPZ84C00AP-8, Winbond WF19054, 5 8-dip banks (dip sheet available) // it's a 3-reel 5-liner with an extra reel. Puts PATRICK SHANGHAI in NVRAM, so some kind of hack / bootleg ROM_START( ss2001 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "9.u26", 0x00000, 0x10000, CRC(9ddb0239) SHA1(15733481996de9becccd5b920e40220c6101becf) ) ROM_REGION( 0x80000, "gfx", 0 ) // all 27c1001 ROM_LOAD( "1.u1", 0x00000, 0x10000, CRC(f4075f1c) SHA1(16513735e181e14a01fe24be6de0b22ef5a894eb) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x10000) ROM_LOAD( "2.u2", 0x10000, 0x10000, CRC(7df72d1b) SHA1(ad61c3de89be547014ca123b72bb9775bad55cdd) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x10000) ROM_LOAD( "3.u3", 0x20000, 0x10000, CRC(c8db92f7) SHA1(3a77d9a21125e47396b06dc8c54625aa8ad54386) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x10000) ROM_LOAD( "4.u4", 0x30000, 0x10000, CRC(bdca2cd5) SHA1(6139a697321475ac6fefac5b5a9f76c8de30f2f8) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x10000) ROM_LOAD( "5.u5", 0x40000, 0x10000, CRC(c01acca1) SHA1(f2caed0b8624fb224f41323f15eaa9ce3fadd886) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x10000) ROM_LOAD( "6.u6", 0x50000, 0x10000, CRC(a6194545) SHA1(74ddda87ad55e8bce1e986dde8fd371ab8843ceb) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x10000) ROM_LOAD( "7.u7", 0x60000, 0x10000, CRC(03375cf9) SHA1(d336c4dff53a7368c9264a02fbc53afd0776a9cd) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x10000) ROM_LOAD( "8.u8", 0x70000, 0x10000, CRC(2ad9778b) SHA1(05d8e0be028060cbe78ff1ff927f15f8114f8508) ) // 1ST AND 2ND HALF IDENTICAL ROM_IGNORE(0x10000) ROM_REGION( 0x2000, "proms", 0 ) ROM_LOAD( "d27hc65d.bin", 0x0000, 0x02000, CRC(af8ce88d) SHA1(59d59b6b739aed4f6ee618db04af9ab9d2873bed) ) // colour data is at 0x1800-0x18ff ROM_END /*********************************************************************************************************************/ void goldstar_state::init_goldstar() { uint8_t *rom = memregion("maincpu")->base(); for (int A = 0; A < 0x10000; A++) { if ((A & 0x30) == 0) rom[A] ^= 0x82; else rom[A] ^= 0xcc; } } void goldstar_state::init_jkrmast() { uint8_t *rom = memregion("maincpu")->base(); for (int A = 0; A < 0x8000; A++) { uint8_t x = rom[A]; x = bitswap<8>(x ^ 0x0a, 5, 6, 1, 4, 7, 2, 3, 0); rom[A] = x; } uint8_t buf[0x8000]; memcpy(buf, rom, 0x8000); for (int i = 0; i < 0x8000; i++) { if ((i & 0x60) == 0x00) rom[i] = buf[i^0x08]; else if ((i & 0x60) == 0x60) rom[i] = buf[i^0x10]; else if ((i & 0x60) == 0x40) rom[i] = buf[i^0x18]; else if ((i & 0x60) == 0x20) rom[i] = buf[i]; } } void goldstar_state::init_pkrmast() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x8000; i++) { uint8_t x = rom[i]; switch (x & 0xf4) { case 0x00: case 0x10: case 0x64: case 0x74: case 0x80: case 0x90: case 0xe4: case 0xf4: break; case 0x04: case 0x20: case 0x24: case 0x40: case 0x44: case 0x60: case 0x94: case 0xb0: case 0xb4: case 0xd0: case 0xd4: case 0xf0: x = bitswap<8>(x ^ 0x90, 1, 6, 5, 4, 7, 2, 0, 3); break; case 0x14: case 0x30: case 0x34: case 0x50: case 0x54: case 0x70: case 0x84: case 0xa0: case 0xa4: case 0xc0: case 0xc4: case 0xe0: x = bitswap<8>(x, 1, 6, 5, 4, 7, 2, 0, 3); break; } rom[i] = x; } } void goldstar_state::init_ladylinrb() { uint8_t *rom = memregion("maincpu")->base(); uint8_t unkn = 0x00; static const uint8_t xor_table_00[0x08][0x08] = { { 0x10, 0x01, unkn, 0x75, 0x01, 0x11, 0x41, 0x11 }, // 0x0x and 0x2x { 0x43, 0x53, 0x42, 0x12, unkn, 0x40, 0x50, 0x40 }, // 0x1x and 0x3x { 0x51, 0x52, 0x13, 0x51, 0x10, 0x00, 0x51, 0x41 }, // 0x4x and 0x6x { 0x52, 0x03, 0x12, 0x50, 0x41, 0x51, 0x51, 0x01 }, // 0x5x and 0x7x { 0x50, 0x43, 0x43, 0x02, 0x02, 0x43, 0x50, 0x10 }, // 0x8x and 0xax { 0x42, 0x01, 0x43, unkn, 0x13, 0x03, unkn, 0x42 }, // 0x9x and 0xbx { 0x52, 0x42, 0x01, unkn, 0x13, 0x00, unkn, 0x03 }, // 0xcx and 0xex { 0x10, 0x53, 0x52, 0x42, unkn, 0x01, 0x43, unkn }, // 0xdx and 0xfx }; static const uint8_t xor_table_01[0x08][0x08] = { { 0x12, 0x11, 0x42, 0x51, 0x03, 0x52, 0x53, 0x41 }, // 0x0x and 0x2x { 0x53, 0x41, 0x11, 0x52, 0x01, 0x03, 0x13, 0x11 }, // 0x1x and 0x3x { 0x13, 0x41, 0x53, 0x01, unkn, 0x00, 0x10, 0x50 }, // 0x4x and 0x6x { 0x51, 0x53, 0x41, 0x02, 0x40, 0x01, 0x52, 0x10 }, // 0x5x and 0x7x { 0x10, 0x50, unkn, 0x03, 0x03, unkn, unkn, 0x10 }, // 0x8x and 0xax { 0x01, 0x53, 0x13, 0x10, 0x42, 0x03, 0x52, unkn }, // 0x9x and 0xbx { 0x42, 0x53, 0x12, 0x03, 0x11, 0x00, 0x01, 0x01 }, // 0xcx and 0xex { 0x43, 0x10, unkn, 0x10, unkn, 0x02, 0x50, unkn }, // 0xdx and 0xfx }; static const uint8_t xor_table_02[0x08][0x08] = { { 0x13, 0x02, 0x40, 0x52, 0x03, 0x53, 0x51, unkn }, // 0x0x and 0x2x { 0x12, unkn, 0x12, 0x01, 0x02, 0x41, 0x50, 0x03 }, // 0x1x and 0x3x { 0x01, 0x11, 0x01, 0x03, 0x40, 0x00, 0x02, unkn }, // 0x4x and 0x6x { 0x51, 0x03, 0x01, 0x43, 0x52, 0x50, 0x03, 0x42 }, // 0x5x and 0x7x { unkn, 0x40, 0x13, 0x13, unkn, unkn, 0x40, 0x01 }, // 0x8x and 0xax { 0x13, 0x41, 0x52, 0x12, unkn, 0x43, 0x41, unkn }, // 0x9x and 0xbx { 0x03, 0x13, unkn, unkn, unkn, 0x00, 0x02, unkn }, // 0xcx and 0xex { 0x01, 0x43, 0x52, 0x11, 0x42, unkn, 0x51, 0x40 }, // 0xdx and 0xfx }; static const uint8_t xor_table_03[0x08][0x08] = { { 0x50, 0x13, 0x41, 0x42, 0x11, 0x53, 0x10, 0x41 }, // 0x0x and 0x2x { 0x42, unkn, 0x41, 0x51, 0x12, 0x40, 0x51, 0x40 }, // 0x1x and 0x3x { 0x50, 0x52, 0x40, 0x12, 0x50, 0x00, 0x02, 0x50 }, // 0x4x and 0x6x { 0x10, 0x51, 0x53, 0x50, 0x53, 0x01, 0x53, 0x53 }, // 0x5x and 0x7x { unkn, unkn, 0x01, 0x13, unkn, unkn, unkn, unkn }, // 0x8x and 0xax { unkn, 0x10, 0x40, 0x52, 0x13, 0x43, 0x41, unkn }, // 0x9x and 0xbx { 0x03, 0x53, 0x13, 0x50, 0x42, 0x00, unkn, 0x50 }, // 0xcx and 0xex { unkn, 0x40, 0x12, 0x11, 0x10, 0x43, 0x03, 0x53 }, // 0xdx and 0xfx }; for (int i = 0; i < 0x8000; i++) { uint8_t x = rom[i]; uint8_t row = (BIT(x, 4) + (BIT(x, 6) << 1) + (BIT(x, 7) << 2)); uint8_t xor_v = x & 0x07; switch(i & 0x03) { case 0x00: x ^= xor_table_00[row][xor_v]; break; case 0x01: x ^= xor_table_01[row][xor_v]; break; case 0x02: x ^= xor_table_02[row][xor_v]; break; case 0x03: x ^= xor_table_03[row][xor_v]; break; } m_decrypted_opcodes[i] = x; } } void goldstar_state::init_ladylinrc() { uint8_t *rom = memregion("maincpu")->base(); uint8_t unkn = 0x00; static const uint8_t xor_table_00[0x08][0x08] = { { 0x00, 0x40, 0x40, 0x10, 0x02, 0x10, 0x10, 0x51 }, // 0x0x and 0x2x { 0x02, 0x40, 0x11, 0x41, 0x13, 0x02, unkn, 0x40 }, // 0x1x and 0x3x { 0x51, unkn, 0x11, 0x03, 0x40, 0x00, unkn, unkn }, // 0x4x and 0x6x { 0x51, 0x53, 0x02, 0x43, unkn, unkn, 0x53, 0x43 }, // 0x5x and 0x7x { unkn, 0x40, 0x03, 0x03, 0x02, 0x02, 0x51, 0x11 }, // 0x8x and 0xax { 0x12, 0x43, unkn, 0x42, 0x41, unkn, 0x01, unkn }, // 0x9x and 0xbx { 0x43, 0x11, unkn, 0x53, unkn, 0x00, 0x10, 0x01 }, // 0xcx and 0xex { 0x41, 0x43, 0x12, 0x10, unkn, unkn, 0x02, 0x42 }, // 0xdx and 0xfx }; static const uint8_t xor_table_01[0x08][0x08] = { { 0x02, 0x42, 0x53, 0x51, 0x50, 0x53, 0x53, 0x41 }, // 0x0x and 0x2x { 0x13, 0x01, unkn, 0x53, 0x53, 0x42, 0x52, 0x13 }, // 0x1x and 0x3x { 0x51, 0x52, 0x03, 0x01, 0x41, 0x00, 0x40, 0x40 }, // 0x4x and 0x6x { unkn, 0x50, 0x01, 0x53, 0x42, 0x41, 0x43, 0x40 }, // 0x5x and 0x7x { 0x40, 0x11, 0x13, 0x01, 0x03, 0x13, 0x40, 0x52 }, // 0x8x and 0xax { 0x02, 0x50, 0x11, 0x51, 0x12, 0x11, unkn, unkn }, // 0x9x and 0xbx { 0x53, 0x02, 0x12, 0x12, unkn, 0x00, 0x51, 0x03 }, // 0xcx and 0xex { 0x02, unkn, 0x52, 0x52, 0x13, 0x01, unkn, unkn }, // 0xdx and 0xfx }; static const uint8_t xor_table_02[0x08][0x08] = { { 0x52, 0x13, 0x43, 0x41, 0x42, 0x13, 0x02, unkn }, // 0x0x and 0x2x { 0x43, 0x52, 0x12, 0x11, 0x50, 0x10, 0x10, 0x41 }, // 0x1x and 0x3x { 0x50, 0x42, 0x12, 0x12, 0x11, 0x00, 0x01, 0x53 }, // 0x4x and 0x6x { 0x43, 0x50, 0x43, 0x13, unkn, 0x52, 0x01, 0x42 }, // 0x5x and 0x7x { 0x01, 0x02, unkn, 0x12, unkn, 0x43, unkn, 0x51 }, // 0x8x and 0xax { 0x50, 0x52, 0x42, 0x13, 0x03, 0x51, unkn, unkn }, // 0x9x and 0xbx { 0x11, unkn, 0x03, 0x11, 0x11, 0x00, unkn, 0x10 }, // 0xcx and 0xex { 0x42, 0x41, 0x10, unkn, 0x52, 0x52, unkn, unkn }, // 0xdx and 0xfx }; for (int i = 0; i < 0x8000; i++) { uint8_t x = rom[i]; uint8_t row = (BIT(x, 4) + (BIT(x, 6) << 1) + (BIT(x, 7) << 2)); uint8_t xor_v = x & 0x07; switch(i & 0x03) { case 0x00: x ^= xor_table_00[row][xor_v]; break; case 0x01: x ^= xor_table_01[row][xor_v]; break; case 0x02: x ^= xor_table_02[row][xor_v]; break; case 0x03: x ^= xor_table_01[row][xor_v]; break; } m_decrypted_opcodes[i] = x; } } void goldstar_state::init_ladylinrd() { uint8_t *rom = memregion("maincpu")->base(); uint8_t unkn = 0x00; static const uint8_t xor_table_00[0x08][0x08] = { { 0x41, 0x11, 0x42, unkn, 0x52, 0x10, unkn, unkn }, // 0x0x and 0x2x { 0x13, 0x02, unkn, 0x11, 0x43, 0x41, 0x51, 0x12 }, // 0x1x and 0x3x { 0x10, 0x13, 0x42, 0x42, 0x53, 0x00, 0x50, 0x41 }, // 0x4x and 0x6x { 0x01, 0x40, 0x01, 0x11, 0x50, 0x41, 0x10, 0x02 }, // 0x5x and 0x7x { 0x12, 0x11, 0x53, unkn, unkn, 0x13, 0x52, 0x12 }, // 0x8x and 0xax { 0x12, 0x52, 0x13, unkn, unkn, 0x53, 0x11, 0x42 }, // 0x9x and 0xbx { 0x01, 0x01, 0x12, unkn, 0x13, 0x00, 0x02, 0x41 }, // 0xcx and 0xex { 0x41, 0x03, 0x52, 0x11, 0x02, unkn, 0x41, unkn }, // 0xdx and 0xfx }; static const uint8_t xor_table_01[0x08][0x08] = { { 0x53, 0x43, 0x02, 0x43, 0x12, 0x50, 0x12, 0x03 }, // 0x0x and 0x2x { unkn, 0x02, 0x11, 0x43, 0x43, 0x53, 0x03, 0x43 }, // 0x1x and 0x3x { 0x03, unkn, 0x10, 0x42, 0x12, 0x00, 0x40, 0x40 }, // 0x4x and 0x6x { 0x42, 0x53, 0x43, 0x02, 0x51, 0x42, 0x11, 0x13 }, // 0x5x and 0x7x { 0x43, 0x02, 0x13, 0x03, 0x02, 0x50, 0x52, 0x51 }, // 0x8x and 0xax { unkn, 0x50, 0x13, 0x51, 0x52, 0x52, unkn, unkn }, // 0x9x and 0xbx { 0x11, 0x01, 0x50, 0x41, 0x43, 0x00, 0x02, 0x10 }, // 0xcx and 0xex { unkn, 0x42, unkn, 0x43, unkn, 0x43, 0x41, unkn }, // 0xdx and 0xfx }; static const uint8_t xor_table_02[0x08][0x08] = { { 0x53, 0x50, 0x41, 0x12, 0x52, 0x43, unkn, 0x52 }, // 0x0x and 0x2x { 0x03, 0x41, 0x40, 0x12, unkn, 0x13, 0x13, 0x02 }, // 0x1x and 0x3x { 0x52, 0x01, unkn, 0x40, unkn, 0x00, 0x12, unkn }, // 0x4x and 0x6x { 0x50, 0x53, 0x42, 0x12, 0x03, 0x52, 0x52, 0x41 }, // 0x5x and 0x7x { 0x11, 0x53, 0x41, 0x03, 0x12, unkn, unkn, unkn }, // 0x8x and 0xax { 0x02, 0x10, 0x11, unkn, unkn, unkn, 0x41, unkn }, // 0x9x and 0xbx { 0x11, unkn, 0x02, unkn, 0x02, 0x00, 0x51, 0x41 }, // 0xcx and 0xex { unkn, 0x01, 0x10, 0x43, 0x01, 0x03, 0x12, unkn }, // 0xdx and 0xfx }; static const uint8_t xor_table_03[0x08][0x08] = { { 0x52, 0x01, 0x42, 0x52, 0x02, 0x13, 0x52, 0x03 }, // 0x0x and 0x2x { 0x53, 0x01, 0x50, unkn, 0x13, 0x53, 0x03, 0x12 }, // 0x1x and 0x3x { 0x42, 0x42, 0x43, 0x52, 0x12, 0x00, 0x52, 0x50 }, // 0x4x and 0x6x { 0x42, 0x02, 0x13, 0x03, 0x03, unkn, 0x12, 0x10 }, // 0x5x and 0x7x { 0x11, 0x11, 0x52, 0x42, unkn, unkn, unkn, unkn }, // 0x8x and 0xax { unkn, 0x03, 0x01, unkn, 0x41, 0x43, unkn, 0x10 }, // 0x9x and 0xbx { 0x41, 0x01, 0x41, 0x01, unkn, 0x00, 0x40, unkn }, // 0xcx and 0xex { 0x02, 0x12, 0x52, 0x02, 0x12, 0x43, 0x01, 0x40 }, // 0xdx and 0xfx }; for (int i = 0; i < 0x8000; i++) { uint8_t x = rom[i]; uint8_t row = (BIT(x, 4) + (BIT(x, 6) << 1) + (BIT(x, 7) << 2)); uint8_t xor_v = x & 0x07; switch(i & 0x03) { case 0x00: x ^= xor_table_00[row][xor_v]; break; case 0x01: x ^= xor_table_01[row][xor_v]; break; case 0x02: x ^= xor_table_02[row][xor_v]; break; case 0x03: x ^= xor_table_03[row][xor_v]; break; } m_decrypted_opcodes[i] = x; } } void goldstar_state::init_ladylinre() { uint8_t *rom = memregion("maincpu")->base(); uint8_t unkn = 0x00; static const uint8_t xor_table_00[0x08][0x08] = { { 0x03, 0x03, 0x53, 0x13, 0x12, 0x10, 0x02, 0x02 }, // 0x0x and 0x2x { 0x10, 0x02, 0x53, 0x53, unkn, 0x53, unkn, 0x50 }, // 0x1x and 0x3x { 0x41, 0x13, 0x12, unkn, 0x12, 0x00, 0x40, 0x40 }, // 0x4x and 0x6x { 0x03, 0x40, 0x40, 0x11, unkn, 0x42, 0x03, unkn }, // 0x5x and 0x7x { 0x40, 0x11, 0x13, 0x11, unkn, 0x13, unkn, 0x10 }, // 0x8x and 0xax { 0x41, unkn, 0x11, 0x11, 0x01, unkn, 0x42, 0x10 }, // 0x9x and 0xbx { 0x03, 0x40, unkn, 0x01, unkn, 0x00, 0x02, unkn }, // 0xcx and 0xex { unkn, 0x51, 0x13, 0x01, 0x12, 0x02, 0x03, 0x01 }, // 0xdx and 0xfx }; static const uint8_t xor_table_01[0x08][0x08] = { { 0x51, 0x03, 0x40, 0x03, 0x53, 0x43, 0x42, 0x53 }, // 0x0x and 0x2x { 0x02, 0x02, 0x41, 0x12, unkn, 0x11, 0x51, 0x02 }, // 0x1x and 0x3x { 0x03, 0x11, 0x10, 0x03, 0x53, 0x00, 0x41, 0x42 }, // 0x4x and 0x6x { 0x41, 0x10, 0x42, 0x50, 0x02, unkn, 0x40, 0x51 }, // 0x5x and 0x7x { 0x10, 0x42, 0x11, 0x43, 0x52, unkn, unkn, unkn }, // 0x8x and 0xax { 0x51, unkn, 0x40, 0x11, 0x40, unkn, 0x10, 0x40 }, // 0x9x and 0xbx { 0x40, 0x40, unkn, 0x01, unkn, 0x00, unkn, 0x01 }, // 0xcx and 0xex { 0x42, unkn, 0x02, 0x50, 0x43, 0x12, 0x03, 0x41 }, // 0xdx and 0xfx }; static const uint8_t xor_table_02[0x08][0x08] = { { 0x40, 0x02, 0x10, 0x12, 0x02, 0x01, 0x42, 0x02 }, // 0x0x and 0x2x { 0x03, 0x43, 0x13, 0x52, 0x02, 0x12, 0x50, 0x40 }, // 0x1x and 0x3x { 0x13, 0x03, 0x13, unkn, unkn, 0x00, 0x53, 0x13 }, // 0x4x and 0x6x { 0x50, 0x01, 0x42, 0x51, 0x13, 0x41, unkn, 0x02 }, // 0x5x and 0x7x { unkn, unkn, 0x53, 0x12, unkn, 0x53, 0x01, unkn }, // 0x8x and 0xax { 0x42, 0x03, 0x51, 0x51, 0x03, unkn, 0x43, 0x51 }, // 0x9x and 0xbx { unkn, 0x41, 0x52, 0x03, 0x13, 0x00, unkn, unkn }, // 0xcx and 0xex { unkn, 0x52, 0x13, unkn, 0x52, 0x11, unkn, 0x41 }, // 0xdx and 0xfx }; static const uint8_t xor_table_03[0x08][0x08] = { { 0x53, 0x43, 0x01, 0x02, 0x43, 0x53, 0x51, 0x52 }, // 0x0x and 0x2x { 0x42, 0x11, 0x03, 0x42, 0x02, 0x53, 0x42, 0x02 }, // 0x1x and 0x3x { 0x03, 0x43, 0x51, 0x51, 0x50, 0x00, 0x02, 0x50 }, // 0x4x and 0x6x { 0x11, 0x41, 0x12, 0x03, 0x51, 0x51, 0x51, 0x51 }, // 0x5x and 0x7x { unkn, 0x41, 0x03, 0x12, 0x40, 0x53, unkn, unkn }, // 0x8x and 0xax { 0x02, 0x52, 0x01, 0x41, unkn, 0x11, unkn, 0x40 }, // 0x9x and 0xbx { 0x02, 0x51, 0x42, 0x02, 0x43, 0x00, unkn, unkn }, // 0xcx and 0xex { unkn, 0x52, 0x03, unkn, 0x01, 0x43, unkn, 0x40 }, // 0xdx and 0xfx }; for (int i = 0; i < 0x8000; i++) { uint8_t x = rom[i]; uint8_t row = (BIT(x, 4) + (BIT(x, 6) << 1) + (BIT(x, 7) << 2)); uint8_t xor_v = x & 0x07; switch(i & 0x03) { case 0x00: x ^= xor_table_00[row][xor_v]; break; case 0x01: x ^= xor_table_01[row][xor_v]; break; case 0x02: x ^= xor_table_02[row][xor_v]; break; case 0x03: x ^= xor_table_03[row][xor_v]; break; } m_decrypted_opcodes[i] = x; } } void wingco_state::init_wcat3() { // there must be some more conditions and/or some errors as the game needs to be soft resets 4-5 times before working apparently fine // see from 0xb0 - 0xcf range for an example (comparable to range 0x96 - 0xb5 in lucky8) uint8_t *rom = memregion("maincpu")->base(); static const uint8_t op_convtable[8][8] = { // opcodes address // 0 1 2 3 4 5 6 7 { 0x10, 0x00, 0x80, 0x90, 0x30, 0x20, 0xa0, 0xb0 }, // 0x000 { 0x10, 0x00, 0x80, 0x90, 0x30, 0x20, 0xa0, 0xb0 }, // 0x001 { 0x20, 0xa0, 0x00, 0x80, 0x10, 0x90, 0x30, 0xb0 }, // 0x004 { 0x00, 0x20, 0x10, 0x30, 0x80, 0xa0, 0x90, 0xb0 }, // 0x005 { 0x20, 0x80, 0x00, 0xa0, 0x30, 0x90, 0x10, 0xb0 }, // 0x400 { 0x00, 0x80, 0x10, 0x90, 0x20, 0xa0, 0x30, 0xb0 }, // 0x401 { 0x20, 0x80, 0x00, 0xa0, 0x30, 0x90, 0x10, 0xb0 }, // 0x404 { 0x80, 0xa0, 0x10, 0x30, 0x00, 0x20, 0x90, 0xb0 }, // 0x405 }; static const uint8_t convtable[8][8] = { // data address // 0 1 2 3 4 5 6 7 { 0x00, 0x10, 0x20, 0x30, 0x80, 0x90, 0xa0, 0xb0 }, // 0x000 { 0x10, 0x00, 0x90, 0x80, 0x20, 0x30, 0xa0, 0xb0 }, // 0x001 { 0x20, 0xa0, 0x00, 0x80, 0x10, 0x90, 0x30, 0xb0 }, // 0x004 // verify 0x00, 0x90, 0xa0 { 0x80, 0x20, 0x90, 0x30, 0x00, 0xa0, 0x10, 0xb0 }, // 0x005 { 0x00, 0x10, 0x20, 0x30, 0x80, 0x90, 0xa0, 0xb0 }, // 0x400 { 0x10, 0x00, 0x90, 0x80, 0x20, 0x30, 0xa0, 0xb0 }, // 0x401 { 0x00, 0x80, 0x20, 0xa0, 0x10, 0x90, 0x30, 0xb0 }, // 0x404 { 0x00, 0x80, 0x20, 0xa0, 0x10, 0x90, 0x30, 0xb0 }, // 0x405 }; for (int i = 0x0000; i < 0x10000; i++) { uint8_t x = rom[i]; // translation table from address uint8_t row = (BIT(i, 0) + (BIT(i, 2) << 1) + (BIT(i, 10) << 2)); // offset in the table from source data uint8_t col = (BIT(x, 4) + (BIT(x, 5) << 1) + (BIT(x, 7) << 2)); m_decrypted_opcodes[i] = (x & ~0xb0) | op_convtable[row][col]; } for (int i = 0x0000; i < 0x10000; i++) { uint8_t x = rom[i]; // translation table from address uint8_t row = (BIT(i, 0) + (BIT(i, 2) << 1) + (BIT(i, 10) << 2)); // offset in the table from source data uint8_t col = (BIT(x, 4) + (BIT(x, 5) << 1) + (BIT(x, 7) << 2)); rom[i] = (x & ~0xb0) | convtable[row][col]; } } // this block swapping is the same for chry10, chrygld and cb3 // the underlying bitswaps / xors are different however void cb3_state::do_blockswaps(uint8_t *rom) { static const uint16_t cherry_swaptables[32] = { /* to align with goldstar */ 0x0800, 0x4000, 0x2800, 0x5800, 0x1800, 0x3000, 0x6800, 0x7000, 0x0000, 0x4800, 0x2000, 0x5000, 0x1000, 0x7800, 0x6000, 0x3800, /* bit below, I'm not sure, no exact match, but only the first ones matter, as the rest is just garbage */ 0xc000, 0xc800, 0xd000, 0xd800, 0xe000, 0xe800, 0xf000, 0xf800, 0x8000, 0x8800, 0x9000, 0x9800, 0xa000, 0xa800, 0xb000, 0xb800, }; std::vector buffer(0x10000); memcpy(&buffer[0], rom, 0x10000); // swap some 0x800 blocks around.. for (int a =0;a<32; a++) { memcpy(rom + a * 0x800, &buffer[cherry_swaptables[a]], 0x800); } } void cb3_state::dump_to_file(uint8_t *rom) { #if 0 { FILE *fp; char filename[256]; sprintf(filename,"decrypted_%s", machine().system().name); fp=fopen(filename, "w+b"); if (fp) { fwrite(rom, 0x10000, 1, fp); fclose(fp); } } #endif } uint8_t cb3_state::cb3_decrypt(uint8_t cipherText, uint16_t address) { int idx; uint8_t output; int rotation[8] = {1, 0, 0, 1, 0, 1, 1, 1}; int sbox[8] = {0x08, 0x08, 0x28, 0x00, 0x20, 0x20, 0x88, 0x88}; idx = BIT(cipherText, 1) | (BIT(address,0) << 1) | (BIT(address, 4) << 2); if (rotation[idx] == 0) output = bitswap<8>(cipherText, 5, 6, 3, 4, 7, 2, 1, 0); // rotates bit #3, #5 and #7 in one direction... else output = bitswap<8>(cipherText, 3, 6, 7, 4, 5, 2, 1, 0); // ... or in the other return output ^ sbox[idx]; } uint8_t cb3_state::chry10_decrypt(uint8_t cipherText) { return cipherText ^ (BIT(cipherText, 4) << 3) ^ (BIT(cipherText, 1) << 5) ^ (BIT(cipherText, 6) << 7); } void cb3_state::init_chry10() { uint8_t *rom = memregion("maincpu")->base(); int size = memregion("maincpu")->bytes(); for (int i = 0; i < size; i++) { rom[i] = chry10_decrypt(rom[i]); } do_blockswaps(rom); /* The game has a PIC for protection. If the code enter to this sub, just keeps looping eternally... */ rom[0xA5DC] = 0xc9; dump_to_file(rom); } void cb3_state::init_cb3() { uint8_t *rom = memregion("maincpu")->base(); int size = memregion("maincpu")->bytes(); for (int i = 0; i < size; i++) { rom[i] = cb3_decrypt(rom[i], i); } do_blockswaps(rom); dump_to_file(rom); } void goldstar_state::init_chryangl() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x83) { case 0x00: x = bitswap<8>(x ^ 0x80, 1, 6, 7, 4, 5, 2, 3, 0); break; case 0x01: x = bitswap<8>(x ^ 0xa0, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x02: x = bitswap<8>(x ^ 0x02, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x03: x = bitswap<8>(x ^ 0xa0, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x80: x = bitswap<8>(x ^ 0x82, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x81: x = bitswap<8>(x ^ 0x02, 1, 6, 7, 4, 5, 2, 3, 0); break; case 0x82: x = bitswap<8>(x ^ 0x08, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x83: x = bitswap<8>(x ^ 0x80, 5, 6, 3, 4, 1, 2, 7, 0); break; } m_decrypted_opcodes[i] = x; } for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x83) { case 0x00: x = bitswap<8>(x ^ 0x22, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x01: x = bitswap<8>(x ^ 0x2a, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x02: x = bitswap<8>(x ^ 0x82, 1, 6, 7, 4, 5, 2, 3, 0); break; case 0x03: x = bitswap<8>(x ^ 0x2a, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x80: x = bitswap<8>(x ^ 0xa8, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x81: x = bitswap<8>(x ^ 0x88, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x82: x = bitswap<8>(x ^ 0x22, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x83: x = bitswap<8>(x ^ 0x88, 1, 6, 7, 4, 5, 2, 3, 0); break; } rom[i] = x; } } void cmaster_state::init_wcat3a() // seems ok, but needs checking { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x83) { case 0x00: x = bitswap<8>(x ^ 0x2a, 1, 6, 7, 4, 5, 2, 3, 0); break; case 0x01: x = bitswap<8>(x ^ 0x0a, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x02: x = bitswap<8>(x ^ 0xa8, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x03: x = bitswap<8>(x ^ 0x0a, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x80: x = bitswap<8>(x ^ 0x28, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x81: x = bitswap<8>(x ^ 0xa8, 1, 6, 7, 4, 5, 2, 3, 0); break; case 0x82: x = bitswap<8>(x ^ 0xa2, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x83: x = bitswap<8>(x ^ 0x2a, 5, 6, 3, 4, 1, 2, 7, 0); break; } m_decrypted_opcodes[i] = x; } for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x83) { case 0x00: x = bitswap<8>(x ^ 0x88, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x01: x = bitswap<8>(x ^ 0x80, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x02: x = bitswap<8>(x ^ 0x28, 1, 6, 7, 4, 5, 2, 3, 0); break; case 0x03: x = bitswap<8>(x ^ 0x80, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x80: x = bitswap<8>(x ^ 0x02, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x81: x = bitswap<8>(x ^ 0x22, 3, 6, 1, 4, 7, 2, 5, 0); break; case 0x82: x = bitswap<8>(x ^ 0x88, 5, 6, 3, 4, 1, 2, 7, 0); break; case 0x83: x = bitswap<8>(x ^ 0x22, 1, 6, 7, 4, 5, 2, 3, 0); break; } rom[i] = x; } } void cb3_state::init_chrygld() { uint8_t *rom = memregion("maincpu")->base(); do_blockswaps(rom); // a data bitswap for (int a = 0; a < 0x10000; a++) { uint8_t dat = rom[a]; dat = bitswap<8>(dat, 5, 6, 3, 4, 7, 2, 1, 0); rom[a] = dat; } dump_to_file(rom); } void cmaster_state::init_cm() { uint8_t *rom = memregion("maincpu")->base(); /* forcing PPI mode 0 for all, and A, B & C as input. the mixed modes 2-0 are not working properly. */ rom[0x0021] = 0x9b; rom[0x0025] = 0x9b; } void cmaster_state::init_cmv4() { uint8_t *rom = memregion("maincpu")->base(); /* forcing PPI mode 0 for all, and A, B & C as input. the mixed modes 2-0 are not working properly. */ rom[0x0209] = 0x9b; rom[0x020d] = 0x9b; } void goldstar_state::init_cmast91() { uint8_t *rom = memregion("maincpu")->base(); /* forcing PPI mode 0 for all, and A, B & C as input. the mixed modes 2-0 are not working properly. */ rom[0x0070] = 0x9b; rom[0x0a92] = 0x9b; } void wingco_state::init_lucky8a() { uint8_t *rom = memregion("maincpu")->base(); rom[0x0010] = 0x21; } void wingco_state::init_lucky8f() // TODO: simplify { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x8000; i++) { uint8_t x = rom[i]; switch(i & 0x1249) { case 0x0000: x = bitswap<8>(x ^ 0x44, 7, 6, 5, 4, 3, 2, 1, 0); break; case 0x0001: x = bitswap<8>(x ^ 0x51, 7, 6, 5, 4, 3, 2, 1, 0); break; case 0x0008: x = bitswap<8>(x ^ 0x10, 7, 4, 5, 6, 3, 2, 1, 0); break; case 0x0009: x = bitswap<8>(x ^ 0x54, 7, 4, 5, 6, 3, 2, 1, 0); break; case 0x0040: x = bitswap<8>(x ^ 0x15, 7, 4, 5, 6, 3, 2, 1, 0); break; case 0x0041: x = bitswap<8>(x ^ 0x14, 7, 2, 5, 4, 3, 6, 1, 0); break; case 0x0048: x = bitswap<8>(x ^ 0x05, 7, 2, 5, 4, 3, 6, 1, 0); break; case 0x0049: x = bitswap<8>(x ^ 0x55, 7, 2, 5, 4, 3, 6, 1, 0); break; case 0x0200: x = bitswap<8>(x ^ 0x05, 7, 0, 5, 4, 3, 2, 1, 6); break; case 0x0201: x = bitswap<8>(x ^ 0x51, 7, 0, 5, 4, 3, 2, 1, 6); break; case 0x0208: x = bitswap<8>(x ^ 0x40, 7, 6, 5, 2, 3, 4, 1, 0); break; case 0x0209: x = bitswap<8>(x ^ 0x54, 7, 6, 5, 2, 3, 4, 1, 0); break; case 0x0240: x = bitswap<8>(x ^ 0x51, 7, 6, 5, 2, 3, 4, 1, 0); break; case 0x0241: x = bitswap<8>(x ^ 0x41, 7, 6, 5, 0, 3, 2, 1, 4); break; case 0x0248: x = bitswap<8>(x ^ 0x50, 7, 6, 5, 0, 3, 2, 1, 4); break; case 0x0249: x = bitswap<8>(x ^ 0x55, 7, 6, 5, 0, 3, 2, 1, 4); break; case 0x1000: x = bitswap<8>(x ^ 0x41, 7, 6, 5, 4, 3, 0, 1, 2); break; case 0x1001: x = bitswap<8>(x ^ 0x54, 7, 6, 5, 4, 3, 0, 1, 2); break; case 0x1008: x = bitswap<8>(x ^ 0x04, 7, 2, 5, 6, 3, 4, 1, 0); break; case 0x1009: x = bitswap<8>(x ^ 0x54, 7, 2, 5, 6, 3, 4, 1, 0); break; case 0x1040: x = bitswap<8>(x ^ 0x15, 7, 2, 5, 6, 3, 4, 1, 0); break; case 0x1041: x = bitswap<8>(x ^ 0x14, 7, 4, 5, 2, 3, 6, 1, 0); break; case 0x1048: x = bitswap<8>(x ^ 0x11, 7, 4, 5, 2, 3, 6, 1, 0); break; case 0x1049: x = bitswap<8>(x ^ 0x55, 7, 4, 5, 2, 3, 6, 1, 0); break; case 0x1200: x = bitswap<8>(x ^ 0x11, 7, 4, 5, 6, 3, 0, 1, 2); break; case 0x1201: x = bitswap<8>(x ^ 0x54, 7, 4, 5, 6, 3, 0, 1, 2); break; case 0x1208: x = bitswap<8>(x ^ 0x40, 7, 6, 5, 0, 3, 4, 1, 2); break; case 0x1209: x = bitswap<8>(x ^ 0x51, 7, 6, 5, 0, 3, 4, 1, 2); break; case 0x1240: x = bitswap<8>(x ^ 0x54, 7, 6, 5, 0, 3, 4, 1, 2); break; case 0x1241: x = bitswap<8>(x ^ 0x41, 7, 0, 5, 6, 3, 4, 1, 2); break; case 0x1248: x = bitswap<8>(x ^ 0x05, 7, 0, 5, 6, 3, 4, 1, 2); break; case 0x1249: x = bitswap<8>(x ^ 0x55, 7, 0, 5, 6, 3, 4, 1, 2); break; } m_decrypted_opcodes[i] = x; } for (int i = 0; i < 0x8000; i++) { uint8_t x = rom[i]; switch(i & 0x5249) { case 0x0000: x = bitswap<8>(x ^ 0x01, 7, 6, 5, 4, 3, 2, 1, 0); break; case 0x0001: x = bitswap<8>(x ^ 0x15, 7, 6, 5, 4, 3, 2, 1, 0); break; case 0x0008: x = bitswap<8>(x ^ 0x04, 7, 4, 5, 6, 3, 2, 1, 0); break; case 0x0009: x = bitswap<8>(x ^ 0x41, 7, 4, 5, 6, 3, 2, 1, 0); break; case 0x0040: x = bitswap<8>(x ^ 0x00, 7, 2, 5, 4, 3, 6, 1, 0); break; case 0x0041: x = bitswap<8>(x ^ 0x50, 7, 2, 5, 4, 3, 6, 1, 0); break; case 0x0048: x = bitswap<8>(x ^ 0x41, 7, 2, 5, 4, 3, 6, 1, 0); break; case 0x0049: x = bitswap<8>(x ^ 0x10, 7, 0, 5, 4, 3, 2, 1, 6); break; case 0x0200: x = bitswap<8>(x ^ 0x40, 7, 0, 5, 4, 3, 2, 1, 6); break; case 0x0201: x = bitswap<8>(x ^ 0x54, 7, 0, 5, 4, 3, 2, 1, 6); break; case 0x0208: x = bitswap<8>(x ^ 0x10, 7, 6, 5, 2, 3, 4, 1, 0); break; case 0x0209: x = bitswap<8>(x ^ 0x05, 7, 6, 5, 2, 3, 4, 1, 0); break; case 0x0240: x = bitswap<8>(x ^ 0x00, 7, 6, 5, 0, 3, 2, 1, 4); break; case 0x0241: x = bitswap<8>(x ^ 0x05, 7, 6, 5, 0, 3, 2, 1, 4); break; case 0x0248: x = bitswap<8>(x ^ 0x14, 7, 6, 5, 0, 3, 2, 1, 4); break; case 0x0249: x = bitswap<8>(x ^ 0x10, 7, 6, 5, 4, 3, 0, 1, 2); break; case 0x1000: x = bitswap<8>(x ^ 0x04, 7, 6, 5, 4, 3, 0, 1, 2); break; case 0x1001: x = bitswap<8>(x ^ 0x15, 7, 6, 5, 4, 3, 0, 1, 2); break; case 0x1008: x = bitswap<8>(x ^ 0x10, 7, 2, 5, 6, 3, 4, 1, 0); break; case 0x1009: x = bitswap<8>(x ^ 0x41, 7, 2, 5, 6, 3, 4, 1, 0); break; case 0x1040: x = bitswap<8>(x ^ 0x00, 7, 4, 5, 2, 3, 6, 1, 0); break; case 0x1041: x = bitswap<8>(x ^ 0x44, 7, 4, 5, 2, 3, 6, 1, 0); break; case 0x1048: x = bitswap<8>(x ^ 0x41, 7, 4, 5, 2, 3, 6, 1, 0); break; case 0x1049: x = bitswap<8>(x ^ 0x40, 7, 4, 5, 6, 3, 0, 1, 2); break; case 0x1200: x = bitswap<8>(x ^ 0x04, 7, 4, 5, 6, 3, 0, 1, 2); break; case 0x1201: x = bitswap<8>(x ^ 0x45, 7, 4, 5, 6, 3, 0, 1, 2); break; case 0x1208: x = bitswap<8>(x ^ 0x10, 7, 6, 5, 0, 3, 4, 1, 2); break; case 0x1209: x = bitswap<8>(x ^ 0x05, 7, 6, 5, 0, 3, 4, 1, 2); break; case 0x1240: x = bitswap<8>(x ^ 0x00, 7, 0, 5, 6, 3, 4, 1, 2); break; case 0x1241: x = bitswap<8>(x ^ 0x50, 7, 0, 5, 6, 3, 4, 1, 2); break; case 0x1248: x = bitswap<8>(x ^ 0x14, 7, 0, 5, 6, 3, 4, 1, 2); break; case 0x1249: x = bitswap<8>(x ^ 0x01, 7, 4, 5, 0, 3, 6, 1, 2); break; case 0x4000: x = bitswap<8>(x ^ 0x01, 7, 4, 5, 2, 3, 6, 1, 0); break; case 0x4001: x = bitswap<8>(x ^ 0x45, 7, 4, 5, 2, 3, 6, 1, 0); break; case 0x4008: x = bitswap<8>(x ^ 0x01, 7, 4, 5, 6, 3, 0, 1, 2); break; case 0x4009: x = bitswap<8>(x ^ 0x44, 7, 4, 5, 6, 3, 0, 1, 2); break; case 0x4040: x = bitswap<8>(x ^ 0x00, 7, 6, 5, 0, 3, 4, 1, 2); break; case 0x4041: x = bitswap<8>(x ^ 0x11, 7, 6, 5, 0, 3, 4, 1, 2); break; case 0x4048: x = bitswap<8>(x ^ 0x14, 7, 6, 5, 0, 3, 4, 1, 2); break; case 0x4049: x = bitswap<8>(x ^ 0x40, 7, 0, 5, 6, 3, 4, 1, 2); break; case 0x4200: x = bitswap<8>(x ^ 0x04, 7, 0, 5, 6, 3, 4, 1, 2); break; case 0x4201: x = bitswap<8>(x ^ 0x54, 7, 0, 5, 6, 3, 4, 1, 2); break; case 0x4208: x = bitswap<8>(x ^ 0x40, 7, 4, 5, 0, 3, 6, 1, 2); break; case 0x4209: x = bitswap<8>(x ^ 0x05, 7, 4, 5, 0, 3, 6, 1, 2); break; case 0x4240: x = bitswap<8>(x ^ 0x00, 7, 0, 5, 4, 3, 6, 1, 2); break; case 0x4241: x = bitswap<8>(x ^ 0x50, 7, 0, 5, 4, 3, 6, 1, 2); break; case 0x4248: x = bitswap<8>(x ^ 0x44, 7, 0, 5, 4, 3, 6, 1, 2); break; case 0x4249: x = bitswap<8>(x ^ 0x04, 7, 6, 5, 2, 3, 0, 1, 4); break; case 0x5000: x = bitswap<8>(x ^ 0x10, 7, 6, 5, 2, 3, 0, 1, 4); break; case 0x5001: x = bitswap<8>(x ^ 0x15, 7, 6, 5, 2, 3, 0, 1, 4); break; case 0x5008: x = bitswap<8>(x ^ 0x01, 7, 2, 5, 6, 3, 0, 1, 4); break; case 0x5009: x = bitswap<8>(x ^ 0x50, 7, 2, 5, 6, 3, 0, 1, 4); break; case 0x5040: x = bitswap<8>(x ^ 0x00, 7, 0, 5, 6, 3, 2, 1, 4); break; case 0x5041: x = bitswap<8>(x ^ 0x44, 7, 0, 5, 6, 3, 2, 1, 4); break; case 0x5048: x = bitswap<8>(x ^ 0x14, 7, 0, 5, 6, 3, 2, 1, 4); break; case 0x5049: x = bitswap<8>(x ^ 0x01, 7, 2, 5, 0, 3, 6, 1, 4); break; case 0x5200: x = bitswap<8>(x ^ 0x10, 7, 2, 5, 0, 3, 6, 1, 4); break; case 0x5201: x = bitswap<8>(x ^ 0x51, 7, 2, 5, 0, 3, 6, 1, 4); break; case 0x5208: x = bitswap<8>(x ^ 0x40, 7, 0, 5, 2, 3, 6, 1, 4); break; case 0x5209: x = bitswap<8>(x ^ 0x14, 7, 0, 5, 2, 3, 6, 1, 4); break; case 0x5240: x = bitswap<8>(x ^ 0x00, 7, 4, 5, 2, 3, 0, 1, 6); break; case 0x5241: x = bitswap<8>(x ^ 0x05, 7, 4, 5, 2, 3, 0, 1, 6); break; case 0x5248: x = bitswap<8>(x ^ 0x41, 7, 4, 5, 2, 3, 0, 1, 6); break; case 0x5249: x = bitswap<8>(x ^ 0x10, 7, 2, 5, 4, 3, 0, 1, 6); break; } rom[i] = x; } } void wingco_state::init_super972() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0x0000; i < 0xf000; i++) m_decrypted_opcodes[i] = rom [i]; for (int i = 0xc000; i < 0xe000; i++) m_decrypted_opcodes[i] = bitswap<8>(m_decrypted_opcodes[i], 7, 4, 5, 6, 3, 0, 1, 2);; for (int i = 0xc000; i < 0xe000; i++) rom[i] = bitswap<8>(rom[i], 7, 2, 5, 0, 3, 6, 1, 4); } void cmaster_state::init_nfb96sea() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 7) { case 0: x = bitswap<8>(x ^ 0x80, 1, 6, 7, 4, 5, 2, 3, 0); break; case 1: x = bitswap<8>(x ^ 0xa0, 5, 6, 3, 4, 1, 2, 7, 0); break; case 2: x = bitswap<8>(x ^ 0x02, 5, 6, 3, 4, 1, 2, 7, 0); break; case 3: x = bitswap<8>(x ^ 0xa0, 3, 6, 1, 4, 7, 2, 5, 0); break; case 4: x = bitswap<8>(x ^ 0x82, 3, 6, 1, 4, 7, 2, 5, 0); break; case 5: x = bitswap<8>(x ^ 0x02, 1, 6, 7, 4, 5, 2, 3, 0); break; case 6: x = bitswap<8>(x ^ 0x08, 3, 6, 1, 4, 7, 2, 5, 0); break; case 7: x = bitswap<8>(x ^ 0x80, 5, 6, 3, 4, 1, 2, 7, 0); break; } rom[i] = x; } } void cmaster_state::init_schery97() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x12) { case 0x00: x = bitswap<8>(x ^ 0x3e, 1, 0, 7, 6, 5, 4, 3, 2); break; case 0x02: x = bitswap<8>(x ^ 0x4d, 0, 7, 6, 5, 4, 3, 2, 1); break; case 0x10: x = bitswap<8>(x ^ 0x24, 2, 1, 0, 7, 6, 5, 4, 3); break; case 0x12: x = bitswap<8>(x ^ 0xbb, 4, 3, 2, 1, 0, 7, 6, 5); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x1d, 0x1d, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0xa8>))); m_maincpu->space(AS_IO).install_read_handler(0x2a, 0x2a, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0xb4>))); /* Oki 6295 at 0x20 */ } void cmaster_state::init_schery97a() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 6) { case 0: x = bitswap<8>(x ^ 0xb9, 4, 0, 6, 7, 3, 1, 5, 2); break; case 2: x = bitswap<8>(x ^ 0x8f, 6, 7, 4, 0, 3, 2, 1, 5); break; case 4: x = bitswap<8>(x ^ 0xd2, 3, 4, 0, 2, 5, 6, 1, 7); break; case 6: x = bitswap<8>(x ^ 0xd1, 6, 0, 2, 1, 4, 5, 3, 7); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x38>))); /* Oki 6295 at 0x20 */ } void cmaster_state::init_skill98() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x12) { case 0x00: x = bitswap<8>(x ^ 0x21, 2, 1, 0, 7, 6, 5, 4, 3); break; case 0x02: x = bitswap<8>(x ^ 0x45, 2, 1, 0, 7, 6, 5, 4, 3); break; case 0x10: x = bitswap<8>(x ^ 0x23, 4, 3, 2, 1, 0, 7, 6, 5); break; case 0x12: x = bitswap<8>(x ^ 0x5b, 4, 3, 2, 1, 0, 7, 6, 5); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x1e, 0x1e, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0xea>))); /* Oki 6295 at 0x20 */ } void cmaster_state::init_nfb96_a() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x02) { case 0x00: x = bitswap<8>(x ^ 0x06, 5, 4, 3, 2, 1, 0, 7, 6); break; case 0x02: x = bitswap<8>(x ^ 0x09, 3, 2, 1, 0, 7, 6, 5, 4); break; } rom[i] = x; } } void cmaster_state::init_nfb96_b() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x18) { case 0x00: x = bitswap<8>(x ^ 0x27, 3, 2, 1, 0, 7, 6, 5, 4); break; case 0x08: x = bitswap<8>(x ^ 0xa1, 0, 7, 6, 5, 4, 3, 2, 1); break; case 0x10: x = bitswap<8>(x ^ 0x34, 5, 4, 3, 2, 1, 0, 7, 6); break; case 0x18: x = bitswap<8>(x ^ 0x5c, 4, 3, 2, 1, 0, 7, 6, 5); break; } rom[i] = x; } } void cmaster_state::init_nfb96_c1() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x12) { case 0x00: x = bitswap<8>(x ^ 0xf5, 6, 4, 3, 7, 0, 1, 5, 2); break; case 0x02: x = bitswap<8>(x ^ 0xe6, 4, 6, 3, 0, 7, 2, 1, 5); break; case 0x10: x = bitswap<8>(x ^ 0x34, 0, 3, 5, 2, 4, 6, 1, 7); break; case 0x12: x = bitswap<8>(x ^ 0xc6, 2, 0, 4, 1, 6, 5, 3, 7); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x31, 0x31, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x68>))); } void cmaster_state::init_nfb96_c1_2() // C1 PCB, different CPLD { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x14) { case 0x00: x = bitswap<8>(x ^ 0x7d, 4, 0, 7, 6, 3, 1, 5, 2); break; case 0x04: x = bitswap<8>(x ^ 0xbe, 6, 7, 0, 4, 3, 2, 1, 5); break; case 0x10: x = bitswap<8>(x ^ 0x30, 3, 4, 2, 0, 5, 6, 1, 7); break; case 0x14: x = bitswap<8>(x ^ 0x59, 6, 0, 1, 2, 4, 5, 3, 7); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x18, 0x18, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x3a>))); } void cmaster_state::init_nfb96_c2() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x22) { case 0x00: x = bitswap<8>(x ^ 0x5f, 6, 4, 3, 7, 0, 5, 2, 1); break; case 0x02: x = bitswap<8>(x ^ 0xe7, 4, 6, 3, 0, 7, 5, 1, 2); break; case 0x20: x = bitswap<8>(x ^ 0x18, 0, 3, 5, 2, 4, 7, 1, 6); break; case 0x22: x = bitswap<8>(x ^ 0x74, 2, 0, 4, 1, 6, 7, 3, 5); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x21, 0x21, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x58>))); } void cmaster_state::init_nfb96_d() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 5) { case 0: x = bitswap<8>(x ^ 0x6a, 2, 1, 0, 7, 6, 5, 4, 3); break; case 1: x = bitswap<8>(x ^ 0xcc, 0, 7, 6, 5, 4, 3, 2, 1); break; case 4: x = bitswap<8>(x ^ 0x8f, 3, 2, 1, 0, 7, 6, 5, 4); break; case 5: x = bitswap<8>(x ^ 0x93, 4, 3, 2, 1, 0, 7, 6, 5); break; } rom[i] = x; } // nfb96b needs both of these m_maincpu->space(AS_IO).install_read_handler(0x23, 0x23, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x80>))); m_maincpu->space(AS_IO).install_read_handler(0x5a, 0x5a, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0xaa>))); // csel96b m_maincpu->space(AS_IO).install_read_handler(0x6e, 0x6e, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x96>))); } void cmaster_state::init_nfb96_dk() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 5) { case 0: x = bitswap<8>(x ^ 0xce, 1, 0, 7, 6, 5, 4, 3, 2); break; case 1: x = bitswap<8>(x ^ 0x9e, 3, 2, 1, 0, 7, 6, 5, 4); break; case 4: x = bitswap<8>(x ^ 0xc3, 0, 7, 6, 5, 4, 3, 2, 1); break; case 5: x = bitswap<8>(x ^ 0xdb, 4, 3, 2, 1, 0, 7, 6, 5); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x2e, 0x2e, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0xbe>))); } void cmaster_state::init_nfb96_g() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x0a) { case 0x00: x = bitswap<8>(x ^ 0x5c, 1, 0, 7, 6, 5, 4, 3, 2); break; case 0x02: x = bitswap<8>(x ^ 0xaf, 5, 4, 3, 2, 1, 0, 7, 6); break; case 0x08: x = bitswap<8>(x ^ 0x39, 2, 1, 0, 7, 6, 5, 4, 3); break; case 0x0a: x = bitswap<8>(x ^ 0xd7, 6, 5, 4, 3, 2, 1, 0, 7); break; } rom[i] = x; } } void cmaster_state::init_rp35() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 3) { case 0: x = bitswap<8>(x ^ 0x2a, 0, 7, 6, 5, 4, 3, 2, 1); break; case 1: x = bitswap<8>(x ^ 0x1c, 4, 3, 2, 1, 0, 7, 6, 5); break; case 2: x = bitswap<8>(x ^ 0x4f, 3, 2, 1, 0, 7, 6, 5, 4); break; case 3: x = bitswap<8>(x ^ 0x23, 1, 0, 7, 6, 5, 4, 3, 2); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x5e, 0x5e, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x84>))); m_maincpu->space(AS_IO).install_read_handler(0x36, 0x36, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x90>))); } void cmaster_state::init_rp36() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 5) { case 0: x = bitswap<8>(x ^ 0xee, 2, 1, 0, 7, 6, 5, 4, 3); break; case 1: x = bitswap<8>(x ^ 0x9f, 3, 2, 1, 0, 7, 6, 5, 4); break; case 4: x = bitswap<8>(x ^ 0xc7, 3, 2, 1, 0, 7, 6, 5, 4); break; case 5: x = bitswap<8>(x ^ 0xc3, 3, 2, 1, 0, 7, 6, 5, 4); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x34, 0x34, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0xb2>))); } void cmaster_state::init_rp36c3() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0xa) { case 0x0: x = bitswap<8>(x ^ 0xfd, 6, 4, 0, 7, 3, 1, 5, 2); break; case 0x2: x = bitswap<8>(x ^ 0xee, 4, 6, 7, 0, 3, 2, 1, 5); break; case 0x8: x = bitswap<8>(x ^ 0x2c, 0, 3, 4, 2, 5, 6, 1, 7); break; case 0xa: x = bitswap<8>(x ^ 0xd6, 2, 0, 6, 1, 4, 5, 3, 7); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x17, 0x17, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x48>))); } void cmaster_state::init_rp96sub() // 95 33 95 33 70 6C 70 6C... XORs and bitswaps seem ok. Stuck at Program Check screen. Unlike the other sets, there aren't unmapped reads where to put the handler. { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 5) { case 0: x = bitswap<8>(x ^ 0x6a, 2, 1, 0, 7, 6, 5, 4, 3); break; case 1: x = bitswap<8>(x ^ 0xcc, 0, 7, 6, 5, 4, 3, 2, 1); break; case 4: x = bitswap<8>(x ^ 0x8f, 3, 2, 1, 0, 7, 6, 5, 4); break; case 5: x = bitswap<8>(x ^ 0x93, 4, 3, 2, 1, 0, 7, 6, 5); break; } rom[i] = x; } // m_maincpu->space(AS_IO).install_read_handler(0x34, 0x34, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0xb2>))); } void cmaster_state::init_po33() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x14) { case 0x00: x = bitswap<8>(x ^ 0xde, 2, 1, 0, 7, 6, 5, 4, 3); break; case 0x04: x = bitswap<8>(x ^ 0x3c, 0, 7, 6, 5, 4, 3, 2, 1); break; case 0x10: x = bitswap<8>(x ^ 0x2f, 3, 2, 1, 0, 7, 6, 5, 4); break; case 0x14: x = bitswap<8>(x ^ 0x5b, 4, 3, 2, 1, 0, 7, 6, 5); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x32, 0x32, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x74>))); m_maincpu->space(AS_IO).install_read_handler(0x12, 0x12, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0x09>))); /* oki6295 at 0x20 */ } void cmaster_state::init_match133() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { uint8_t x = rom[i]; switch (i & 0x12) { case 0x00: x = bitswap<8>(x ^ 0xde, 3, 2, 1, 0, 7, 6, 5, 4); break; case 0x02: x = bitswap<8>(x ^ 0x3d, 1, 0, 7, 6, 5, 4, 3, 2); break; case 0x10: x = bitswap<8>(x ^ 0x2f, 4, 3, 2, 1, 0, 7, 6, 5); break; case 0x12: x = bitswap<8>(x ^ 0x5c, 4, 3, 2, 1, 0, 7, 6, 5); break; } rom[i] = x; } m_maincpu->space(AS_IO).install_read_handler(0x16, 0x16, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0xc7>))); m_maincpu->space(AS_IO).install_read_handler(0x1a, 0x1a, read8_delegate(*this, FUNC(cmaster_state::fixedval_r<0xe4>))); } void cb3_state::init_cherrys() { uint8_t *rom = memregion("maincpu")->base(); for (int i = 0; i < 0x10000; i++) { rom[i] ^= (i & 0xff) ^ 0xcc; } } void cb3_state::init_cb3e() { /* program bitswap */ uint8_t *rom = memregion("maincpu")->base(); do_blockswaps(rom); for (int i = 0; i < 0x10000; i++) { uint8_t dat = rom[i]; dat = bitswap<8>(dat, 5, 6, 3, 4, 7, 2, 1, 0); rom[i] = dat; } /* bank 1 graphics */ uint8_t *src = memregion("gfx1")->base(); for (int i = 0; i < 0x20000; i++) { src[i] = bitswap<8>(src[i], 4, 3, 2, 5, 1, 6, 0, 7); // OK } /* bank 2 graphics */ uint8_t *src2 = memregion("gfx2")->base(); for (int i = 0; i < 0x8000; i++) { src2[i] = bitswap<8>(src2[i], 3, 4, 2, 5, 1, 6, 0, 7); // OK } } /* todo: remove these patches! */ void unkch_state::init_unkch1() { // game stores $02 at ($D75C) and expects it to change // possibly expecting stack to grow to this point in NMI handler? // it does this before enabling vblank irq, so if that's the case there's a missing nmi source uint8_t *rom = memregion("maincpu")->base(); rom[0x9d52] = 0x00; rom[0x9d53] = 0x00; } void unkch_state::init_unkch3() { // game stores $04 at ($D77F) and expects it to change // possibly expecting stack to grow to this point in NMI handler? // it does this before enabling vblank irq, so if that's the case there's a missing nmi source uint8_t *rom = memregion("maincpu")->base(); rom[0x9b86] = 0x00; rom[0x9b87] = 0x00; } void unkch_state::init_unkch4() { // game stores $02 at ($D75C) and expects it to change // possibly expecting stack to grow to this point in NMI handler? // it does this before enabling vblank irq, so if that's the case there's a missing nmi source uint8_t *rom = memregion("maincpu")->base(); rom[0x9a6e] = 0x00; rom[0x9a6f] = 0x00; } void cmaster_state::init_tonypok() { // the ppi doesn't seem to work properly, so just install the inputs directly address_space &io = m_maincpu->space(AS_IO); io.install_read_port(0x04, 0x04, "IN0" ); io.install_read_port(0x05, 0x05, "IN1" ); io.install_read_port(0x06, 0x06, "IN2" ); } void goldstar_state::init_super9() { uint8_t *src = memregion("gfx1")->base(); for (int i = 0; i < 0x20000; i++) { // src[i] = bitswap<8>(src[i], 7, 4, 2, 1, 6, 5, 3, 0); // src[i] = bitswap<8>(src[i], 7, 3, 2, 6, 1, 5, 4, 0); src[i] = bitswap<8>(src[i], 7, 3, 2, 6, 5, 1, 4, 0); } uint8_t *src2 = memregion("gfx2")->base(); for (int i = 0; i < 0x8000; i++) { // src2[i] = bitswap<8>(src2[i], 7, 4, 2, 1, 6, 5, 3, 0); // src2[i] = bitswap<8>(src2[i], 7, 3, 2, 6, 1, 5, 4, 0); src2[i] = bitswap<8>(src2[i], 3, 7, 6, 2, 5, 1, 0, 4); // endianess } } void goldstar_state::init_wcherry() { /* bank 1 graphics */ uint8_t *src = memregion("gfx1")->base(); for (int i = 0; i < 0x20000; i++) { src[i] = bitswap<8>(src[i], 4, 3, 2, 5, 1, 6, 0, 7); // OK } /* bank 2 graphics */ uint8_t *src2 = memregion("gfx2")->base(); for (int i = 0; i < 0x8000; i++) { src2[i] = bitswap<8>(src2[i], 3, 4, 2, 5, 1, 6, 0, 7); // OK } } void cmaster_state::init_chthree() { // Address swapping in 0x10 bytes blocks. // 01234567-89abcdef <> c9ba8dfe - 41320576 uint8_t *rom = memregion("maincpu")->base(); for (int i = 0x0000; i < 0x8000; i++) { uint8_t row = i & 0x07; uint16_t addr; switch (row) { case 0x00: addr = 0x0c; break; case 0x01: addr = 0x09; break; case 0x02: addr = 0x0b; break; case 0x03: addr = 0x0a; break; case 0x04: addr = 0x08; break; case 0x05: addr = 0x0d; break; case 0x06: addr = 0x0f; break; case 0x07: addr = 0x0e; break; } addr = (i & 0x7ff0) | addr; if (!BIT(i, 3)) std::swap(rom[i], rom[addr]); } // Temporary hacks - PPI settings and checksum correction rom[0x1ff] = 0xbd; rom[0x209] = 0x9b; rom[0x20d] = 0x9b; // TODO: can the following be done with GFXDECODE? uint8_t *gfx1 = memregion("gfx1")->base(); for (int i = 0x00000; i < 0x18000; i++) { uint8_t row = i & 0x0f; uint32_t addr; switch (row) { case 0x01: addr = 0x04; break; case 0x02: addr = 0x01; break; case 0x03: addr = 0x06; break; case 0x05: addr = 0x06; break; case 0x09: addr = 0x0c; break; case 0x0a: addr = 0x09; break; case 0x0b: addr = 0x0e; break; case 0x0d: addr = 0x0e; break; default: addr = row; break; } addr = (i & 0x1fff0) | addr; std::swap(gfx1[i], gfx1[addr]); } uint8_t *gfx2 = memregion("gfx2")->base(); for (int i = 0x00000; i < 0x8000; i++) { uint8_t row = i & 0x0f; uint16_t addr; switch (row) { case 0x01: addr = 0x02; break; case 0x04: addr = 0x08; break; case 0x05: addr = 0x0a; break; case 0x06: addr = 0x09; break; case 0x07: addr = 0x0b; break; case 0x0d: addr = 0x0e; break; default: addr = row; break; } addr = (i & 0x7ff0) | addr; std::swap(gfx2[i], gfx2[addr]); } } /* Flaming 7's Cyberdyne Systems. Original custom hardware graphics decryption. */ void wingco_state::init_flaming7() { /* bank 1 graphics */ uint8_t *src = memregion("gfx1")->base(); for (int i = 0; i < 0x20000; i++) { src[i] = bitswap<8>(src[i], 4, 3, 2, 5, 1, 6, 0, 7); // OK } /* bank 2 graphics */ uint8_t *src2 = memregion("gfx2")->base(); for (int i = 0; i < 0x8000; i++) { src2[i] = bitswap<8>(src2[i], 3, 4, 2, 5, 1, 6, 0, 7); // OK } /* Patch to bypass the iButton electronic serial number check. 5D79: jumps to $5D83 for the demo game. just patched to jump to $5D80 (jmp $6115) where the check is succesfull. */ uint8_t *rom = memregion("maincpu")->base(); rom[0x5d7a] = 0x05; } /* Flaming 7's Cyberdyne Systems. Taiwanese custom hardware. */ void wingco_state::init_flam7_tw() { /* Patch to bypass the iButton electronic serial number check. 60B2: After last compare, code jumps to $60BC for the demo game. Just patched to jump to $60B9 (jmp $644E) where the check is successful. */ uint8_t *rom = memregion("maincpu")->base(); rom[0x60b3] = 0x05; } void cmaster_state::init_tcl() { /* only the first part is decrypted (and verified)*/ uint8_t *dest = memregion("maincpu")->base(); int len = memregion("maincpu")->bytes(); std::vector src(len); int idx=0; memcpy(&src[0], dest, len); auto const rol = [] (int src, int n) { return bitswap<8>(src,(7+8-n)&7,(6+8-n)&7,(5+8-n)&7,(4+8-n)&7,(3+8-n)&7,(2+8-n)&7,(1+8-n)&7,(0+8-n)&7); }; auto const writedest = [dest, &idx] (int n) { dest[idx]=n; dest[idx+0x10000]=n^0xff; idx++; }; for (int i = 0; i < 64*1024; i += 4) { if (i & 0x8000) { writedest(rol(src[idx]^0x44,4)); // abcdefgh -> aFghaBcd writedest(rol(src[idx]^0x44,7)); // abcdefgh -> haBcdeFg writedest(rol(src[idx]^0x44,2)); // abcdefgh -> cdeFghaB writedest((src[idx]^0x44)^0xf0); // abcdefgh -> AbCEeFgh } else { writedest(rol(src[idx]^0x11,4)); // abcdefgh -> efgHabcD writedest(rol(src[idx]^0x11,7)); // abcdefgh -> HabcDefg writedest(rol(src[idx]^0x11,2)); // abcdefgh -> cDefgHab writedest((src[idx]^0x11)^0xf0); // abcdefgh -> ABCdefgH } } } void cmaster_state::init_super7() { uint8_t *rom = memregion("maincpu")->base(); for (int a = 0; a < 0x8000; a++) { rom[a] = (rom[a] << 1) | BIT(rom[a], 7); } } /********************************************* * Game Drivers * ********************************************** YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */ GAMEL( 199?, goldstar, 0, goldstar, goldstar, goldstar_state, init_goldstar, ROT0, "IGS", "Golden Star", 0, layout_goldstar ) GAMEL( 199?, goldstbl, goldstar, goldstbl, goldstar, goldstar_state, empty_init, ROT0, "IGS", "Golden Star (Blue version)", 0, layout_goldstar ) GAME( 199?, moonlght, goldstar, moonlght, goldstar, goldstar_state, empty_init, ROT0, "bootleg", "Moon Light (v.0629, low program)", 0 ) GAME( 199?, moonlghta, goldstar, moonlght, goldstar, goldstar_state, empty_init, ROT0, "bootleg", "Moon Light (v.0629, high program)", 0 ) GAME( 199?, moonlghtb, goldstar, moonlght, goldstar, goldstar_state, empty_init, ROT0, "bootleg", "Moon Light (v.02L0A, low program)", MACHINE_IMPERFECT_COLORS ) // need to check the odd palette value at 0xc780. should be black. GAME( 199?, moonlghtc, goldstar, moonlght, goldstar, goldstar_state, empty_init, ROT0, "bootleg", "Moon Light (v.02L0A, high program, alt gfx)", MACHINE_IMPERFECT_COLORS ) // need to check the odd palette value at 0xc780. should be black. GAMEL( 199?, chrygld, 0, chrygld, chrygld, cb3_state, init_chrygld, ROT0, "bootleg", "Cherry Gold I (set 1)", 0, layout_chrygld ) GAMEL( 199?, chry10, 0, chrygld, chry10, cb3_state, init_chry10, ROT0, "bootleg", "Cherry 10 (bootleg with PIC16F84)", 0, layout_chrygld ) GAME( 199?, goldfrui, goldstar, goldfrui, goldstar, goldstar_state, empty_init, ROT0, "bootleg", "Gold Fruit", 0 ) // maybe fullname should be 'Gold Fruit (main 40%)' GAME( 2001, super9, goldstar, super9, goldstar, goldstar_state, init_super9, ROT0, "Playmark", "Super Nove (Playmark)", MACHINE_NOT_WORKING ) // need to decode gfx and see the program loops/reset... GAME( 2001, wcherry, 0, wcherry, chrygld, goldstar_state, init_wcherry, ROT0, "bootleg", "Win Cherry (ver 0.16 - 19990219)", MACHINE_NOT_WORKING ) GAME( 199?, star100, 0, star100, star100, sanghopm_state, empty_init, ROT0, "Sang Ho", "Ming Xing 100 (Star 100)", MACHINE_IMPERFECT_COLORS ) // are these really dyna, or bootlegs? GAMEL( 199?, ncb3, 0, ncb3, ncb3, cb3_state, empty_init, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, set 1)", 0, layout_cherryb3 ) GAMEL( 199?, cb3a, ncb3, ncb3, cb3a, cb3_state, empty_init, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, set 2)", 0, layout_cherryb3 ) GAMEL( 199?, cb3, ncb3, ncb3, ncb3, cb3_state, init_cb3, ROT0, "Dyna", "Cherry Bonus III (ver.1.40, encrypted)", 0, layout_cherryb3 ) GAMEL( 199?, cb3b, ncb3, cherrys, ncb3, cb3_state, init_cherrys, ROT0, "Dyna", "Cherry Bonus III (alt)", 0, layout_cherryb3 ) GAME( 199?, cb3c, ncb3, cb3c, chrygld, cb3_state, init_cb3, ROT0, "bootleg", "Cherry Bonus III (alt, set 2)", MACHINE_NOT_WORKING) GAMEL( 199?, cb3d, ncb3, ncb3, ncb3, cb3_state, empty_init, ROT0, "bootleg", "Cherry Bonus III (set 3)", 0, layout_cherryb3 ) GAMEL( 199?, cb3e, ncb3, cb3e, chrygld, cb3_state, init_cb3e, ROT0, "bootleg", "Cherry Bonus III (set 4, encrypted bootleg)", 0, layout_chrygld ) GAMEL( 199?, chryglda, ncb3, cb3e, chrygld, cb3_state, init_cb3e, ROT0, "bootleg", "Cherry Gold I (set 2, encrypted bootleg)", 0, layout_chrygld ) // Runs in CB3e hardware. GAME( 1994, chryangla, ncb3, chryangla,ncb3, cb3_state, init_chryangl, ROT0, "bootleg (G.C.I.)", "Cherry Angel (encrypted, W-4 hardware)", MACHINE_NOT_WORKING ) // DYNA CB3 V1.40 string, decrypted but only test screens work GAME( 1991, eldoradd, 0, eldoradd, chrygld, cb3_state, empty_init, ROT0, "Dyna", "El Dorado", MACHINE_NOT_WORKING) // everything // looks like a hack of Cherry Bonus 3 GAME( 1994, chryangl, ncb3, chryangl, chryangl, cmaster_state, init_chryangl, ROT0, "bootleg (G.C.I.)", "Cherry Angel (set 1)", MACHINE_NOT_WORKING ) // SKY SUPERCB 1.0 string, decrypted but hangs when betting GAME( 1994, chryanglb, ncb3, chryangl, chryangl, cmaster_state, init_chryangl, ROT0, "bootleg", "Cherry Angel (set 2)", MACHINE_NOT_WORKING ) // ANGEL TL+YF 1.00 string, decrypted but hangs when betting // cherry master hardware has a rather different mem map, but is basically the same GAMEL( 198?, cmv801, 0, cm, cmv801, cmaster_state, init_cm, ROT0, "Corsica", "Cherry Master (Corsica, ver.8.01)", 0, layout_cmv4 ) /* says ED-96 where the manufacturer is on some games.. */ // most of these are almost certainly bootlegs, with added features, hacked payouts etc. identifying which are // the original, unmodified Dyna versions is almost impossible due to lack of documentation from back in the day, // even original boards almost always run modified sets GAMEL( 1992, cmv4, 0, cm, cmv4, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 1)", 0, layout_cmv4 ) GAMEL( 1992, cmv4a, cmv4, cm, cmv4, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master (ver.4, set 2)", MACHINE_NOT_WORKING, layout_cmv4 ) // stealth game? GAMEL( 199?, cmwm, cmv4, cm, cmv4, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master (Watermelon bootleg / hack)", 0, layout_cmv4 ) // CM Fruit Bonus ver.2 T bootleg/hack GAMEL( 1995, cmfun, cmv4, cm, cmv4, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master (Fun USA v2.5 bootleg / hack)", 0, layout_cmv4 ) GAMEL( 1995, 3cdpoker, 0, cm, cmv4, cmaster_state, empty_init, ROT0, "Armaly Labs", "3 Cards Poker 96 (V1.6)", MACHINE_NOT_WORKING, layout_cmv4 ) // protected? See ROM definition for routine GAMEL( 1995, 3cdpokera, 3cdpoker, cm, cmtetris, cmaster_state, empty_init, ROT0, "Armaly Labs", "3 Cards Poker 96 (V1.0)", MACHINE_NOT_WORKING, layout_cmv4 ) // hopper problem, possibly needs just correct inputs GAMEL( 1991, cmaster, 0, cm, cmaster, cmaster_state, empty_init, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 1)", 0, layout_cmaster ) GAMEL( 1991, cmasterb, cmaster, cm, cmasterb, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 2)", 0, layout_cmasterb ) GAMEL( 1991, cmezspin, cmaster, cm, cmezspin, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (E-Z Spin bootleg / hack)", 0, layout_cmezspin ) // CM Fruit Bonus 55 ver.2 bootleg/hack GAMEL( 1991, cmasterc, cmaster, cmasterc, cmasterc, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 3)", 0, layout_cmasterc ) GAMEL( 1991, cmasterbv, cmaster, cm, cmasterb, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 4, with Blitz Poker ROM?)", MACHINE_NOT_WORKING, layout_cmasterb ) // Cherry Master works, but no idea how to use the Blitz ROM GAMEL( 1991, cmasterd, cmaster, cm, cmasterb, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 5)", 0, layout_cmasterb ) GAMEL( 1991, cmastere, cmaster, cm, cmasterb, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 6)", 0, layout_cmasterb ) GAMEL( 1991, cmasterf, cmaster, cm, cmasterb, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 7)", 0, layout_cmasterb ) GAMEL( 1991, cmasterg, cmaster, cm, cmasterg, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.01, set 8, V4-B-)", 0, layout_cmasterb ) GAMEL( 1991, cmasterh, cmaster, cm, cmasterh, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master I (ver.1.10)", 0, layout_cmasterb ) GAMEL( 199?, super7, cmaster, cm, cmaster, cmaster_state, init_super7, ROT0, "bootleg", "Super Seven", MACHINE_NOT_WORKING, layout_cmasterb ) GAME ( 199?, wcat3a, wcat3, chryangl, cmaster, cmaster_state, init_wcat3a, ROT0, "E.A.I.", "Wild Cat 3 (CMV4 hardware)", MACHINE_NOT_WORKING ) // does not boot. Wrong decryption, wrong machine or wrong what? GAMEL( 1991, tonypok, 0, cm, tonypok, cmaster_state, init_tonypok, ROT0, "Corsica", "Poker Master (Tony-Poker V3.A, hack?)", 0 , layout_tonypok ) GAME( 1999, jkrmast, 0, pkrmast, pkrmast, goldstar_state, init_jkrmast, ROT0, "Pick-A-Party USA", "Joker Master (V515)", MACHINE_NOT_WORKING ) // encryption broken, needs GFX and controls GAME( 1999, jkrmasta, jkrmast, pkrmast, pkrmast, goldstar_state, init_jkrmast, ROT0, "Pick-A-Party USA", "Joker Master (V512)", MACHINE_NOT_WORKING ) // encryption broken, needs GFX and controls GAME( 199?, pkrmast, jkrmast, pkrmast, pkrmast, goldstar_state, init_pkrmast, ROT0, "Fun USA", "Poker Master (ED-1993 set 1)", MACHINE_NOT_WORKING ) // needs inputs / dips fixed, puts FUN USA 95H N/G V2.20 in NVRAM GAME( 1993, pkrmasta, jkrmast, pkrmast, pkrmast, goldstar_state, init_pkrmast, ROT0, "Fun USA", "Poker Master (ED-1993 set 2)", MACHINE_NOT_WORKING ) // needs inputs / dips fixed, puts PM93 JAN 29/1996 V1.52 in NVRAM GAME( 199?, chthree, cmaster, cm, cmaster, cmaster_state, init_chthree, ROT0, "Promat", "Channel Three", 0 ) // hack of cmaster, still shows DYNA CM-1 V1.01 in book-keeping GAME( 1991, cmast91, 0, cmast91, cmast91, goldstar_state, init_cmast91, ROT0, "Dyna", "Cherry Master '91 (ver.1.30)", 0 ) GAME( 1992, cmast92, 0, cmast91, cmast91, goldstar_state, init_cmast91, ROT0, "Dyna", "Cherry Master '92", MACHINE_NOT_WORKING ) // no gfx roms are dumped GAME( 1996, cmast97, 0, cm97, cmv801, cmaster_state, empty_init, ROT0, "Dyna", "Cherry Master '97", MACHINE_NOT_WORKING) // fix prom decode, reels GAME( 1999, cmast99, 0, cm, cmast99, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master '99 (V9B.00)", MACHINE_NOT_WORKING ) GAME( 1999, cmast99b, cmast99, cm, cmast99, cmaster_state, init_cmv4, ROT0, "bootleg", "Cherry Master '99 (V9B.00 bootleg / hack)", MACHINE_NOT_WORKING ) GAME( 1993, aplan, 0, cm, cmast99, cmaster_state, init_cmv4, ROT0, "WeaShing H.K.", "A-Plan", MACHINE_NOT_WORKING ) GAME( 1996, war3cb, 0, cm, cmast99, cmaster_state, empty_init, ROT0, "S.B.E.", "War III Cherry Best", MACHINE_NOT_WORKING ) // different portmap? GAME( 1995, tcl, 0, cm, cmaster, cmaster_state, init_tcl, ROT0, "Uniwang", "Taiwan Chess Legend", MACHINE_NOT_WORKING ) // incomplete decryption // --- Wing W-4 hardware --- GAMEL( 1989, lucky8, 0, lucky8, lucky8, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 1, W-4)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 1989, lucky8a, lucky8, lucky8, lucky8a, wingco_state, init_lucky8a, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 2, W-4)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 1989, lucky8b, lucky8, lucky8, lucky8b, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 3, W-4, extended gfx)", 0, layout_lucky8p1 ) // only 1 control set... GAMEL( 1989, lucky8c, lucky8, lucky8, lucky8, wingco_state, init_lucky8a, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 4, W-4)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 1989, lucky8d, lucky8, lucky8, lucky8d, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 5, W-4, main 40%, d-up 60%)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 1989, lucky8e, lucky8, lucky8, lucky8d, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 6, W-4, main 40%, d-up 60%)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 1989, lucky8f, lucky8, lucky8f, lucky8, wingco_state, init_lucky8f, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 7, W-4, encrypted)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 1989, lucky8g, lucky8, lucky8, lucky8, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 8, W-4)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 1991, lucky8h, lucky8, lucky8, lucky8, wingco_state, empty_init, ROT0, "", "New Lucky 8 Lines Super Turbo (Hack)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 1989, lucky8i, lucky8, lucky8, lucky8, wingco_state, empty_init, ROT0, "Eagle/Wing", "New Lucky 8 Lines (set 9, W-4, Eagle, licensed by Wing)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 199?, lucky8j, lucky8, lucky8, lucky8, wingco_state, empty_init, ROT0, "", "New Lucky 8 Lines Crown Turbo (Hack)", MACHINE_NOT_WORKING, layout_lucky8 ) // 2 control sets... GAMEL( 1989, lucky8k, lucky8, lucky8k, lucky8, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "New Lucky 8 Lines (set 10, W-4, encrypted NEC D315-5136)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 198?, ns8lines, 0, lucky8, lucky8b, wingco_state, empty_init, ROT0, "", "New Lucky 8 Lines / New Super 8 Lines (W-4)", 0, layout_lucky8p1 ) // only 1 control set... GAMEL( 1985, ns8linesa, ns8lines, lucky8, lucky8b, wingco_state, empty_init, ROT0, "Yamate (bootleg)", "New Lucky 8 Lines / New Super 8 Lines (W-4, Lucky97 HW)", 0, layout_lucky8p1 ) // only 1 control set... GAMEL( 198?, ns8linew, ns8lines, lucky8, ns8linew, wingco_state, empty_init, ROT0, "", "New Lucky 8 Lines / New Super 8 Lines (F-5, Witch Bonus)", 0, layout_lucky8 ) // 2 control sets... GAMEL( 198?, ns8linewa, ns8lines, lucky8, ns8linwa, wingco_state, empty_init, ROT0, "", "New Lucky 8 Lines / New Super 8 Lines (W-4, Witch Bonus)", 0, layout_lucky8p1 ) // only 1 control set... GAMEL( 198?, super972, ns8lines, super972, ns8linwa, wingco_state, init_super972, ROT0, "", "Super 97-2 (Witch Bonus)", MACHINE_NOT_WORKING, layout_lucky8p1 ) // decrypted, needs correct inputs GAME( 198?, luckybar, 0, lucky8, ns8linew, wingco_state, empty_init, ROT0, "", "Lucky Bar (W-4 with mc68705 MCU)", MACHINE_NOT_WORKING ) // MC68705 MCU GAMEL( 198?, kkotnoli, 0, kkotnoli, kkotnoli, goldstar_state, empty_init, ROT0, "hack", "Kkot No Li (Kill the Bees)", MACHINE_IMPERFECT_COLORS, layout_lucky8 ) GAME( 198?, ladylinr, 0, ladylinr, ladylinr, goldstar_state, empty_init, ROT0, "TAB Austria", "Lady Liner (set 1)", 0 ) GAME( 198?, ladylinra, ladylinr, ladylinr, ladylinr, goldstar_state, empty_init, ROT0, "TAB Austria", "Lady Liner (set 2)", 0 ) GAME( 198?, ladylinrb, ladylinr, ladylinrb,ladylinr, goldstar_state, init_ladylinrb, ROT0, "TAB Austria", "Lady Liner (encrypted, set 1)", 0 ) GAME( 198?, ladylinrc, ladylinr, ladylinrb,ladylinr, goldstar_state, init_ladylinrc, ROT0, "TAB Austria", "Lady Liner (encrypted, set 2)", 0 ) GAME( 198?, ladylinrd, ladylinr, ladylinrb,ladylinr, goldstar_state, init_ladylinrd, ROT0, "TAB Austria", "Lady Liner (encrypted, set 3)", 0 ) GAME( 198?, ladylinre, ladylinr, ladylinrb,ladylinr, goldstar_state, init_ladylinre, ROT0, "TAB Austria", "Lady Liner (encrypted, set 4)", 0 ) GAME( 1995, wcat3, 0, wcat3, lucky8, wingco_state, init_wcat3, ROT0, "E.A.I.", "Wild Cat 3", MACHINE_NOT_WORKING | MACHINE_WRONG_COLORS ) // decryption partially wrong, needs soft resets before running. Bad PROM decode GAME( 1985, luckylad, 0, luckylad, luckylad, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "Lucky Lady (Wing, encrypted)", MACHINE_NOT_WORKING | MACHINE_WRONG_COLORS ) // controls / dips, colors not correctly decoded GAME( 1991, megaline, 0, megaline, megaline, unkch_state, empty_init, ROT0, "Fun World", "Mega Lines", MACHINE_NOT_WORKING ) GAMEL( 1993, bingowng, 0, bingowng, bingowng, wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "Bingo (set 1)", 0, layout_bingowng ) GAMEL( 1993, bingownga, bingowng, bingownga,bingownga,wingco_state, empty_init, ROT0, "Wing Co., Ltd.", "Bingo (set 2)", 0, layout_bingowng ) GAME( 2002, mbs2euro, 0, mbstar, mbstar, wingco_state, empty_init, ROT0, "Auto-Data Graz", "Mega Bonus Star II (Euro, Millennium Edition)", MACHINE_NOT_WORKING ) // need more work in memory map, inputs, and reels alignment. // --- Flaming 7's hardware (W-4 derivative) --- GAME( 199?, fl7_3121, 0, flam7_w4, flam7_w4, wingco_state, empty_init, ROT0, "Cyberdyne Systems", "Flaming 7 (W4 Hardware, Red, White & Blue 7's + Hollywood Nights)", 0 ) GAME( 199?, fl7_50, 0, flaming7, flaming7, wingco_state, init_flaming7, ROT0, "Cyberdyne Systems", "Flaming 7 (Custom Hardware, Main, 50 Bonus)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS ) GAME( 199?, fl7_500, fl7_50, flaming7, flaming7, wingco_state, init_flaming7, ROT0, "Cyberdyne Systems", "Flaming 7 (Custom Hardware, Main, 500 Bonus)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS ) GAME( 199?, fl7_2000, fl7_50, flaming7, flaming7, wingco_state, init_flaming7, ROT0, "Cyberdyne Systems", "Flaming 7 (Custom Hardware, Main, 2000 Bonus)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS ) GAME( 199?, fl7_2k16, fl7_50, flaming7, flaming7, wingco_state, init_flaming7, ROT0, "Cyberdyne Systems", "Flaming 7 (Custom Hardware, Egyptian Gold, 2000 Bonus)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS ) GAME( 199?, fl7_tw, fl7_50, flam7_tw, flaming7, wingco_state, init_flam7_tw, ROT0, "Cyberdyne Systems", "Flaming 7 (Taiwanese Hardware, unknown version)", MACHINE_UNEMULATED_PROTECTION | MACHINE_IMPERFECT_GRAPHICS ) // needs proper reels gfx roms decryption. // --- Wing W-6 hardware --- GAME( 1986, feverch, 0, feverch, feverch, unkch_state, empty_init, ROT0, "Wing Co., Ltd.", "Fever Chance (W-6)", MACHINE_NOT_WORKING ) // inputs, reels, etc.. // --- Wing W-8 hardware --- GAME( 1990, bonusch, 0, bonusch, bonusch, unkch_state, empty_init, ROT0, "Wing Co., Ltd.", "Bonus Chance (W-8)", MACHINE_NOT_WORKING ) // M80C51F MCU // --- Magical Odds hardware --- GAME( 1992, magodds, 0, magodds, magodds, wingco_state, empty_init, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 1)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS ) GAME( 1992, magoddsa, magodds, magodds, magodds, wingco_state, empty_init, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 2)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS ) GAME( 1992, magoddsb, magodds, magodds, magodds, wingco_state, empty_init, ROT0, "Pal Company / Micro Manufacturing Inc.", "Magical Odds (set 3)", MACHINE_WRONG_COLORS | MACHINE_IMPERFECT_GRAPHICS ) GAME( 1991, magoddsc, magodds, magodds, magoddsc, wingco_state, init_magoddsc, ROT0, "Pal Company", "Magical Odds (set 4, custom encrypted CPU block)", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING |MACHINE_NO_SOUND) GAME( 1991, magoddsd, magodds, magodds, magoddsc, wingco_state, init_magoddsc, ROT0, "Pal Company", "Magical Odds (set 5, custom encrypted CPU block)", MACHINE_WRONG_COLORS | MACHINE_NOT_WORKING |MACHINE_NO_SOUND) /* --- Amcoe games --- */ /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */ GAMEL( 1997, schery97, 0, amcoe1, schery97, cmaster_state, init_schery97, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52)", 0, layout_nfb96 ) /* running in CB hardware */ GAMEL( 1997, schery97a, schery97, amcoe1, schery97, cmaster_state, init_schery97a, ROT0, "Amcoe", "Skill Cherry '97 (Talking ver. sc3.52c4)", 0, layout_nfb96 ) /* running in C4 hardware */ GAMEL( 1998, skill98, 0, amcoe1, schery97, cmaster_state, init_skill98, ROT0, "Amcoe", "Skill '98 (Talking ver. s98-1.33)", 0, layout_skill98 ) GAMEL( 1997, pokonl97, 0, amcoe1, pokonl97, cmaster_state, init_po33, ROT0, "Amcoe", "Poker Only '97 (Talking ver. 3.3)", 0, layout_pokonl97 ) GAME( 1998, match98, 0, amcoe1a, match98, cmaster_state, init_match133, ROT0, "Amcoe", "Match '98 (ver. 1.33)", 0 ) /* The Sub-PCB has a printed sticker denoting C1, C2, D or DK for the type of FPGA decryption chip used */ /* There is known to be a special IOWA version running on the Texas C2 hardware with roms FB96P IA, FB96L IA & FB96H IA with a (c) 2000 Amcoe */ GAMEL( 1996, nfb96, 0, amcoe2, nfb96, cmaster_state, init_nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.63, C1 PCB)", 0, layout_nfb96 ) /* ver. 02-3.63 C1 Sub-PCB */ GAMEL( 1996, nfb96a, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, C1 PCB)", 0, layout_nfb96 ) /* ver. 00-3.62 C1 Sub-PCB */ GAMEL( 1996, nfb96e, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_c1, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.61a, C1 PCB)", 0, layout_nfb96 ) /* ver. 00-3.61a C1 Sub-PCB */ GAMEL( 1996, nfb96b, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.54, D PCB)", 0, layout_nfb96 ) /* ver. 00-3.54 D Sub-PCB */ GAMEL( 1996, nfb96c, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_dk, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.62, DK PCB)", 0, layout_nfb96 ) /* ver. 00-3.62 DK Sub-PCB */ GAMEL( 1996, nfb96f, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_dk, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.61a, DK PCB)", 0, layout_nfb96 ) /* ver. 00-3.61a DK Sub-PCB */ GAMEL( 1996, nfb96g, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_dk, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.61, DK PCB)", 0, layout_nfb96 ) /* ver. 00-3.61 DK Sub-PCB */ GAMEL( 1996, nfb96h, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_dk, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.60, DK PCB)", 0, layout_nfb96 ) /* ver. 00-3.60 DK Sub-PCB */ GAMEL( 1996, nfb96d, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_a, ROT0, "Amcoe", "New Fruit Bonus '96 (v3.1, A PCB, set 1)", 0, layout_nfb96 ) /* ver. 00-3.1 A Sub-PCB */ GAMEL( 1996, nfb96i, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.53, D PCB)", 0, layout_nfb96 ) /* ver. 00-3.53 D Sub-PCB */ GAMEL( 1996, nfb96j, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v3.40, D PCB)", 0, layout_nfb96 ) /* ver. 00-3.40 D Sub-PCB */ GAMEL( 1996, nfb96k, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v97-3.3c, D PCB)", 0, layout_nfb96 ) /* ver. 97-3.3c D Sub-PCB */ GAMEL( 1996, nfb96l, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_b, ROT0, "Amcoe", "New Fruit Bonus '96 (v97-3.1c, B PCB)", 0, layout_nfb96 ) /* ver. 97-3.1c B Sub-PCB */ GAMEL( 1996, nfb96m, nfb96, amcoe2, nfb96, cmaster_state, init_nfb96_a, ROT0, "Amcoe", "New Fruit Bonus '96 (v3.1, A PCB, set 2)", 0, layout_nfb96 ) /* ver. 00-3.1 A Sub-PCB */ GAMEL( 2000, nfb96txt, nfb96, amcoe2, nfb96tx, cmaster_state, init_nfb96_c2, ROT0, "Amcoe", "New Fruit Bonus '96 Special Edition (v1.22 Texas XT, C2 PCB)", 0, layout_nfb96 ) /* ver. tf1.22axt C2 Sub-PCB */ GAMEL( 1996, nc96, 0, amcoe2, nfb96, cmaster_state, init_nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.63, C1 PCB)", 0, layout_nfb96 ) /* C1 Sub-PCB */ GAMEL( 1996, nc96a, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, C1 PCB)", 0, layout_nfb96 ) /* C1 Sub-PCB */ GAMEL( 1996, nc96b, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_c1, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.61, C1 PCB)", 0, layout_nfb96 ) /* C1 Sub-PCB */ GAMEL( 1996, nc96c, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.54, D PCB)", 0, layout_nfb96 ) /* D Sub-PCB */ GAMEL( 1996, nc96d, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.53, D PCB)", 0, layout_nfb96 ) /* D Sub-PCB */ GAMEL( 1996, nc96e, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.40, D PCB)", 0, layout_nfb96 ) /* D Sub-PCB */ GAMEL( 1996, nc96f, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_dk, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.62, DK PCB)", 0, layout_nfb96 ) /* DK Sub-PCB */ GAMEL( 1996, nc96g, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_b, ROT0, "Amcoe", "New Cherry '96 (v3.1, B PCB)", 0, layout_nfb96 ) /* B Sub-PCB */ GAMEL( 1996, nc96h, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_g, ROT0, "Amcoe", "New Cherry '96 (v3.1C, G PCB)", 0, layout_nfb96 ) /* G Sub-PCB */ GAMEL( 1996, nc96i, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_c1_2, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.55, C1 PCB)", 0, layout_nfb96 ) /* C1 Sub-PCB */ GAMEL( 1996, nc96j, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_dk, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.61, DK PCB)", 0, layout_nfb96 ) /* DK Sub-PCB */ GAMEL( 1996, nc96k, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_d, ROT0, "Amcoe", "New Cherry '96 Special Edition (v3.51, D PCB)", 0, layout_nfb96 ) /* D Sub-PCB */ GAMEL( 1996, nc96l, nc96, amcoe2, nfb96, cmaster_state, init_nfb96_a, ROT0, "Amcoe", "New Cherry '96 (v3.0, A PCB)", 0, layout_nfb96 ) /* A Sub-PCB */ GAMEL( 2000, nc96txt, nc96, amcoe2, nfb96tx, cmaster_state, init_nfb96_c2, ROT0, "Amcoe", "New Cherry '96 Special Edition (v1.32 Texas XT, C2 PCB)", 0, layout_nfb96tx ) /* ver. tc1.32axt C2 Sub-PCB */ GAME( 2009, fb2010, 0, amcoe2, fb2010, cmaster_state, init_fb2010, ROT0, "Amcoe", "Fruit Bonus 2010", 0 ) GAMEL( 1996, roypok96, 0, amcoe2, roypok96, cmaster_state, init_rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1, v97-3.5)", 0, layout_roypok96 ) GAMEL( 1996, roypok96a, roypok96, amcoe2, roypok96a, cmaster_state, init_rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2, v98-3.6)", 0, layout_roypok96 ) GAMEL( 1996, roypok96b, roypok96, amcoe2, roypok96a, cmaster_state, init_rp36c3, ROT0, "Amcoe", "Royal Poker '96 (set 3, v98-3.6?)", 0, layout_roypok96 ) GAME( 1996, roypok96c, roypok96, amcoe2, roypok96a, cmaster_state, init_rp96sub, ROT0, "Amcoe", "Royal Poker '96 (set 4, C3 board)", MACHINE_NOT_WORKING ) /* these all appear to be graphic hacks of 'New Fruit Bonus '96', they can run with the same program rom some sets are messy and appear to have mismatched graphic roms, they need to be sorted out properly */ /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS */ GAME( 1996, nfb96se, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 1, v97-3.3c Portuguese)", 0 ) GAME( 1996, nfb96sea, nfb96, amcoe2, nfb96bl, cmaster_state, init_nfb96sea, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 2, v97-3.3c English)", MACHINE_WRONG_COLORS ) // encrypted program GAME( 1996, nfb96seb, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 3, v97-3.3c Portuguese)", MACHINE_WRONG_COLORS ) GAME( 1996, nfb96sec, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "New Fruit Bonus '96 Special Edition (bootleg set 4, v97-3.3c English)", MACHINE_WRONG_COLORS ) GAME( 2002, carb2002, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "Carriage Bonus 2002 (bootleg)", MACHINE_WRONG_COLORS ) GAME( 2003, carb2003, nfb96, amcoe2, nfb96bl, cmaster_state, empty_init, ROT0, "bootleg", "Carriage Bonus 2003 (bootleg)", MACHINE_WRONG_COLORS ) GAME( 2003, nfm, 0, nfm, nfm, cmaster_state, empty_init, ROT0, "Ming-Yang Electronic", "New Fruit Machine (Ming-Yang Electronic, vFB02-07A)", MACHINE_NOT_WORKING ) // vFB02-07A "Copyright By Ms. Liu Orchis 2003/03/06", needs correct PROM and USER1 regions decode GAME( 2003, nfma, nfm, nfm, nfm, cmaster_state, empty_init, ROT0, "Ming-Yang Electronic", "New Fruit Machine (Ming-Yang Electronic, vFB02-01A)", MACHINE_NOT_WORKING ) // vFB02-01A "Copyright By Ms. Liu Orchis 2003/03/06", needs correct PROM and USER1 regions decode // super cherry master sets... GAMEL(1994, scmaster, 0, unkch, unkch4, unkch_state, init_unkch4, ROT0, "bootleg", "Super Cherry Master (v1.0)", 0, layout_unkch ) // these have 'cherry 1994' in the program roms, but also "Super Cherry / New Cherry Gold '99". probably hacks of a 1994 version of Super Cherry Master. GAMEL(1999, unkch1, scmaster, unkch, unkch, unkch_state, init_unkch1, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 1)", 0, layout_unkch ) GAMEL(1999, unkch2, scmaster, unkch, unkch, unkch_state, init_unkch1, ROT0, "bootleg", "Super Cherry Gold (bootleg of Super Cherry Master)", 0, layout_unkch ) GAMEL(1999, unkch3, scmaster, unkch, unkch3, unkch_state, init_unkch3, ROT0, "bootleg", "New Cherry Gold '99 (bootleg of Super Cherry Master) (set 2)", 0, layout_unkch ) // cards have been hacked to look like barrels, girl removed? GAMEL(1999, unkch4, scmaster, unkch, unkch4, unkch_state, init_unkch4, ROT0, "bootleg", "Grand Cherry Master (bootleg of Super Cherry Master)", 0, layout_unkch ) // by 'Toy System' Hungary GAME( 1996, cherry96, scmaster, unkch, unkch4, unkch_state, init_unkch4, ROT0, "bootleg", "New Cherry '96 (bootleg of New Fruit Bonus?)", MACHINE_NOT_WORKING ) // need to be moved to another machine... // this has a 4th reel GAME( 200?, ss2001, 0, ss2001, cmaster, cmaster_state, empty_init, ROT0, "bootleg", "Super Shanghai 2001", MACHINE_IS_SKELETON ) // TODO: everything /* Stealth sets. These have hidden games inside that can be switched to avoid inspections, police or whatever purposes)... */ /* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */ GAMEL( 198?, cmpacman, 0, cm, cmpacman, cmaster_state, init_cm, ROT0, "", "Super Pacman (v1.2) + Cherry Master (Corsica, v8.31, set 1)", 0, layout_cmpacman ) // need to press K to switch between games... GAMEL( 198?, cmpacmana, cmpacman, cm, cmpacman, cmaster_state, init_cm, ROT0, "", "Super Pacman (v1.2) + Cherry Master (Corsica, v8.31, set 2)", 0, layout_cmpacman ) // need to press K to switch between games... GAMEL( 198?, cmtetris, 0, cm, cmtetris, cmaster_state, init_cm, ROT0, "", "Tetris + Cherry Master (Corsica, v8.01, set 1)", 0, layout_cmpacman ) // need to press K/L to switch between games... GAMEL( 198?, cmtetrsa, 0, cm, cmtetris, cmaster_state, init_cm, ROT0, "", "Tetris + Cherry Master (Corsica, v8.01, set 2)", MACHINE_NOT_WORKING, layout_cmpacman ) // seems banked... GAMEL( 198?, cmtetrsb, 0, cm, cmtetris, cmaster_state, init_cm, ROT0, "", "Tetris + Cherry Master (+K, Canada Version, encrypted)", MACHINE_NOT_WORKING, layout_cmpacman ) // different Tetris game. press insert to throttle and see the attract running. GAMEL( 1997, crazybon, 0, crazybon, crazybon, goldstar_state, empty_init, ROT0, "bootleg (Crazy Co.)", "Crazy Bonus 2002 (Ver. 1, set 1)", MACHINE_IMPERFECT_COLORS, layout_crazybon ) // Windows ME desktop... but not found the way to switch it. GAMEL( 1997, crazybona, crazybon, crazybon, crazybon, goldstar_state, empty_init, ROT0, "bootleg (Crazy Co.)", "Crazy Bonus 2002 (Ver. 1, set 2)", MACHINE_IMPERFECT_COLORS, layout_crazybon ) /* other possible stealth sets: - cmv4a ---> see the 1fxx zone. put a bp in 1f9f to see the loop. the game has tetris graphics inside. */