From de54fe04aa7b87ec8703709e44e215cf543a971b Mon Sep 17 00:00:00 2001 From: mariuszw1 Date: Mon, 16 Nov 2009 22:02:33 +0000 Subject: [PATCH] Merged findout.c and getrivia.c into gei.c [Mariusz Wojcieszek] --- .gitattributes | 3 +- src/mame/drivers/findout.c | 687 ------------------------- src/mame/drivers/{getrivia.c => gei.c} | 595 +++++++++++++++++++-- src/mame/mame.mak | 6 +- 4 files changed, 550 insertions(+), 741 deletions(-) delete mode 100644 src/mame/drivers/findout.c rename src/mame/drivers/{getrivia.c => gei.c} (64%) diff --git a/.gitattributes b/.gitattributes index c1dd8c7fdeb..3e284432db5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1537,7 +1537,6 @@ src/mame/drivers/fcrash.c svneol=native#text/plain src/mame/drivers/feversoc.c svneol=native#text/plain src/mame/drivers/fgoal.c svneol=native#text/plain src/mame/drivers/finalizr.c svneol=native#text/plain -src/mame/drivers/findout.c svneol=native#text/plain src/mame/drivers/firebeat.c svneol=native#text/plain src/mame/drivers/firefox.c svneol=native#text/plain src/mame/drivers/firetrap.c svneol=native#text/plain @@ -1584,7 +1583,7 @@ src/mame/drivers/gauntlet.c svneol=native#text/plain src/mame/drivers/gberet.c svneol=native#text/plain src/mame/drivers/gbusters.c svneol=native#text/plain src/mame/drivers/gcpinbal.c svneol=native#text/plain -src/mame/drivers/getrivia.c svneol=native#text/plain +src/mame/drivers/gei.c svneol=native#text/plain src/mame/drivers/ggconnie.c svneol=native#text/plain src/mame/drivers/ghosteo.c svneol=native#text/plain src/mame/drivers/gijoe.c svneol=native#text/plain diff --git a/src/mame/drivers/findout.c b/src/mame/drivers/findout.c deleted file mode 100644 index 8ff32e864e9..00000000000 --- a/src/mame/drivers/findout.c +++ /dev/null @@ -1,687 +0,0 @@ -/*************************************************************************** - -Reel Fun (c) 1986 -Find Out (c) 1987 -Trivia (c) 1984 / 1986 -Quiz (c) 1991 - -driver by Nicola Salmoria - -Trivia games "No Coins" mode: if DSW "No Coins" is on, coin inputs are -replaced by a 6th button to start games. This is a feature of the PCB for private use. - -***************************************************************************/ - -#include "driver.h" -#include "cpu/z80/z80.h" -#include "machine/8255ppi.h" -#include "machine/ticket.h" -#include "sound/dac.h" - - -static UINT8 drawctrl[3]; -static UINT8 color[8]; - -static WRITE8_HANDLER( findout_drawctrl_w ) -{ - drawctrl[offset] = data; - if (offset == 2) - { - int i; - for (i = 0; i < 8; i++) - if (BIT(drawctrl[1],i)) color[i] = drawctrl[0] & 7; - } -} - -static WRITE8_HANDLER( findout_bitmap_w ) -{ - int sx,sy; - static int prevoffset, yadd; - int i; - - videoram[offset] = data; - - yadd = (offset==prevoffset) ? (yadd+1):0; - prevoffset = offset; - - sx = 8 * (offset % 64); - sy = offset / 64; - sy = (sy + yadd) & 0xff; - - - for (i = 0; i < 8; i++) - *BITMAP_ADDR16(tmpbitmap, sy, sx+i) = color[8-i-1]; -} - -static PALETTE_INIT(findout) -{ - int i; - - for (i = 0; i < 8; i++ ) - { - palette_set_color(machine, i, MAKE_RGB(pal1bit(i >> 2), pal1bit(i), pal1bit(i >> 1))); - } -} - -static READ8_DEVICE_HANDLER( portC_r ) -{ - return 4; -} - -static READ8_DEVICE_HANDLER( port1_r ) -{ - const address_space *space = cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM); - - return input_port_read(device->machine, "IN0") | (ticket_dispenser_0_r(space, 0) >> 5); -} - -static WRITE8_DEVICE_HANDLER( lamps_w ) -{ - /* 5 button lamps */ - set_led_status(0,data & 0x01); - set_led_status(1,data & 0x02); - set_led_status(2,data & 0x04); - set_led_status(3,data & 0x08); - set_led_status(4,data & 0x10); - /* lamps 6, 7, 8 in gt507, may be hopper slide 1, 2, 3 ? */ - set_led_status(5,data & 0x20); - set_led_status(6,data & 0x40); - set_led_status(7,data & 0x80); -} - -static WRITE8_DEVICE_HANDLER( sound_w ) -{ - const address_space *space = cputag_get_address_space(device->machine, "maincpu", ADDRESS_SPACE_PROGRAM); - - /* bit 3 - coin lockout (lamp6 in test modes, set to lamp 10 as in getrivia.c) */ - coin_lockout_global_w(~data & 0x08); - set_led_status(9,data & 0x08); - - /* bit 5 - ticket out in trivia games */ - ticket_dispenser_w(space, 0, (data & 0x20)<< 2); - - /* bit 6 enables NMI */ - interrupt_enable_w(space, 0,data & 0x40); - - /* bit 7 goes directly to the sound amplifier */ - dac_data_w(devtag_get_device(device->machine, "dac"), ((data & 0x80) >> 7) * 255); - -// logerror("%s: sound_w %02x\n",cpuexec_describe_context(device->machine),data); -// popmessage("%02x",data); -} - -static const ppi8255_interface ppi8255_intf[2] = -{ - { - DEVCB_INPUT_PORT("DSWA"), /* Port A read */ - DEVCB_HANDLER(port1_r), /* Port B read */ - DEVCB_NULL, /* Port C read */ - DEVCB_NULL, /* Port A write */ - DEVCB_NULL, /* Port B write */ - DEVCB_HANDLER(sound_w), /* Port C write */ - }, - { - DEVCB_INPUT_PORT("IN1"), /* Port A read */ - DEVCB_NULL, /* Port B read */ - DEVCB_HANDLER(portC_r), /* Port C read */ - DEVCB_NULL, /* Port A write */ - DEVCB_HANDLER(lamps_w), /* Port B write */ - DEVCB_NULL /* Port C write */ - } -}; - -static MACHINE_RESET( findout ) -{ - ticket_dispenser_init(machine, 100, 1, 1); -} - - -static READ8_HANDLER( catchall ) -{ - int pc = cpu_get_pc(space->cpu); - - if (pc != 0x3c74 && pc != 0x0364 && pc != 0x036d) /* weed out spurious blit reads */ - logerror("%04x: unmapped memory read from %04x\n",pc,offset); - - return 0xff; -} - -static WRITE8_HANDLER( banksel_main_w ) -{ - memory_set_bankptr(space->machine, 1,memory_region(space->machine, "maincpu") + 0x8000); -} -static WRITE8_HANDLER( banksel_1_w ) -{ - memory_set_bankptr(space->machine, 1,memory_region(space->machine, "maincpu") + 0x10000); -} -static WRITE8_HANDLER( banksel_2_w ) -{ - memory_set_bankptr(space->machine, 1,memory_region(space->machine, "maincpu") + 0x18000); -} -static WRITE8_HANDLER( banksel_3_w ) -{ - memory_set_bankptr(space->machine, 1,memory_region(space->machine, "maincpu") + 0x20000); -} -static WRITE8_HANDLER( banksel_4_w ) -{ - memory_set_bankptr(space->machine, 1,memory_region(space->machine, "maincpu") + 0x28000); -} -static WRITE8_HANDLER( banksel_5_w ) -{ - memory_set_bankptr(space->machine, 1,memory_region(space->machine, "maincpu") + 0x30000); -} - - -/* This signature is used to validate the question ROMs. Simple protection check? */ -static int signature_answer,signature_pos; - -static READ8_HANDLER( signature_r ) -{ - return signature_answer; -} - -static WRITE8_HANDLER( signature_w ) -{ - if (data == 0) signature_pos = 0; - else - { - static const UINT8 signature[8] = { 0xff, 0x01, 0xfd, 0x05, 0xf5, 0x15, 0xd5, 0x55 }; - - signature_answer = signature[signature_pos++]; - - signature_pos &= 7; /* safety; shouldn't happen */ - } -} - - - -static ADDRESS_MAP_START( findout_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x3fff) AM_ROM - AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) - AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r,ppi8255_w) - AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r,ppi8255_w) - /* banked ROMs are enabled by low 6 bits of the address */ - AM_RANGE(0x601f, 0x601f) AM_WRITE(banksel_main_w) - AM_RANGE(0x602f, 0x602f) AM_WRITE(banksel_5_w) - AM_RANGE(0x6037, 0x6037) AM_WRITE(banksel_4_w) - AM_RANGE(0x603b, 0x603b) AM_WRITE(banksel_3_w) - AM_RANGE(0x603d, 0x603d) AM_WRITE(banksel_2_w) - AM_RANGE(0x603e, 0x603e) AM_WRITE(banksel_1_w) - AM_RANGE(0x6200, 0x6200) AM_WRITE(signature_w) - AM_RANGE(0x6400, 0x6400) AM_READ(signature_r) - AM_RANGE(0x7800, 0x7fff) AM_ROM /*space for diagnostic ROM?*/ - AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1) - AM_RANGE(0x8000, 0x8002) AM_WRITE(findout_drawctrl_w) - AM_RANGE(0xc000, 0xffff) AM_WRITE(findout_bitmap_w) AM_BASE(&videoram) - AM_RANGE(0x0000, 0xffff) AM_READ(catchall) -ADDRESS_MAP_END - -#define REELFUN_STANDARD_INPUT \ - PORT_START("IN0") \ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) \ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) \ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ - PORT_SERVICE( 0x08, IP_ACTIVE_LOW ) \ - 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") /* IN1 */\ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("1 Left A-Z") \ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("2 Right A-Z") \ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("3 Select Letter") \ - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("4 Start")\ - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("5 Solve Puzzle") \ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - -#define TRIVIA_STANDARD_INPUT \ - PORT_START("IN0") \ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) \ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) \ - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* ticket status */ \ - PORT_SERVICE( 0x08, IP_ACTIVE_LOW ) \ - 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") /* IN1 */\ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) \ - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) \ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) \ - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) \ - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) \ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) \ - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) - -static INPUT_PORTS_START( reelfun ) - PORT_START("DSWA") - PORT_DIPNAME( 0x07, 0x01, "Coinage Multiplier" ) - PORT_DIPSETTING( 0x07, "7" ) - PORT_DIPSETTING( 0x06, "6" ) - PORT_DIPSETTING( 0x05, "5" ) - PORT_DIPSETTING( 0x04, "4" ) - PORT_DIPSETTING( 0x03, "3" ) - PORT_DIPSETTING( 0x02, "2" ) - PORT_DIPSETTING( 0x01, "1" ) - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x08, "Credits per Coin" ) - PORT_DIPSETTING( 0x00, "Coins per Credit" ) - PORT_DIPNAME( 0x10, 0x10, "Screen" ) - PORT_DIPSETTING( 0x10, "Horizontal" ) - PORT_DIPSETTING( 0x00, "Vertical" ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - 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 ) ) - - REELFUN_STANDARD_INPUT -INPUT_PORTS_END - -static INPUT_PORTS_START( findout ) - PORT_START("DSWA") /* DSW A */ - PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x07, DEF_STR( 7C_1C ) ) - PORT_DIPSETTING( 0x06, DEF_STR( 6C_1C ) ) - PORT_DIPSETTING( 0x05, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x08, 0x00, "Game Repetition" ) - PORT_DIPSETTING( 0x08, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x10, 0x10, "Orientation" ) - PORT_DIPSETTING( 0x10, "Horizontal" ) - PORT_DIPSETTING( 0x00, "Vertical" ) - PORT_DIPNAME( 0x20, 0x20, "Buy Letter" ) - PORT_DIPSETTING( 0x20, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x40, 0x40, "Starting Letter" ) - PORT_DIPSETTING( 0x40, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x80, 0x80, "Bonus Letter" ) - PORT_DIPSETTING( 0x80, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - - REELFUN_STANDARD_INPUT -INPUT_PORTS_END - -static INPUT_PORTS_START( gt103 ) - PORT_START("DSWA") /* DSW A */ - PORT_DIPNAME( 0x07, 0x01, "Coinage Multiplier" ) - PORT_DIPSETTING( 0x07, "7" ) - PORT_DIPSETTING( 0x06, "6" ) - PORT_DIPSETTING( 0x05, "5" ) - PORT_DIPSETTING( 0x04, "4" ) - PORT_DIPSETTING( 0x03, "3" ) - PORT_DIPSETTING( 0x02, "2" ) - PORT_DIPSETTING( 0x01, "1" ) - PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) - PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) ) - PORT_DIPSETTING( 0x08, "Credits per Coin" ) - PORT_DIPSETTING( 0x00, "Coins per Credit" ) - PORT_DIPNAME( 0x10, 0x10, "Screen" ) - PORT_DIPSETTING( 0x10, "Horizontal" ) - PORT_DIPSETTING( 0x00, "Vertical" ) - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) ) - PORT_DIPSETTING( 0x20, DEF_STR( Upright ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) - 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 ) ) - - TRIVIA_STANDARD_INPUT -INPUT_PORTS_END - -static INPUT_PORTS_START( gt103a ) - PORT_START("DSWA") - PORT_DIPNAME( 0x03, 0x01, "Questions" ) - PORT_DIPSETTING( 0x00, "4" ) - PORT_DIPSETTING( 0x01, "5" ) -// PORT_DIPSETTING( 0x02, "5" ) - PORT_DIPSETTING( 0x03, "6" ) - PORT_DIPNAME( 0x04, 0x00, "Show Answer" ) - PORT_DIPSETTING( 0x04, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x08, 0x00, "Max Coins" ) - PORT_DIPSETTING( 0x08, "30" ) - PORT_DIPSETTING( 0x00, "10" ) - PORT_DIPNAME( 0x10, 0x00, "Timeout" ) - PORT_DIPSETTING( 0x10, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x20, 0x00, "Tickets" ) - PORT_DIPSETTING( 0x20, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) - PORT_DIPNAME( 0x40, 0x40, "No Coins" ) - 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("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_CONDITION("DSWA", 0x40, PORTCOND_EQUALS, 0x40) - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_IMPULSE(2) PORT_CONDITION("DSWA", 0x40, PORTCOND_EQUALS, 0x00) PORT_NAME ("Start in no coins mode") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_CONDITION("DSWA", 0x40, PORTCOND_EQUALS, 0x40) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSWA", 0x40, PORTCOND_EQUALS, 0x00) - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* ticket status */ - PORT_SERVICE( 0x08, IP_ACTIVE_LOW ) - 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") /* IN1 */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) -INPUT_PORTS_END - -static INPUT_PORTS_START( quiz ) - PORT_INCLUDE( gt103a ) - - PORT_MODIFY("DSWA") - PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) /* no tickets */ - PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - - PORT_MODIFY("IN0") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no coin 2 */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no tickets */ -INPUT_PORTS_END - -static INPUT_PORTS_START( gt507uk ) - PORT_START("DSWA") /* DSW A */ - PORT_DIPNAME( 0x01, 0x00, "If Ram Error" ) - PORT_DIPSETTING( 0x01, "Freeze" ) - PORT_DIPSETTING( 0x00, "Play" ) - PORT_DIPNAME( 0x0a, 0x08, "Payout" ) - PORT_DIPSETTING( 0x0a, "Bank" ) - PORT_DIPSETTING( 0x08, "N/A" ) - PORT_DIPSETTING( 0x02, "Credit" ) - PORT_DIPSETTING( 0x00, "Direct" ) - PORT_DIPNAME( 0x04, 0x04, "Payout Hardware" ) - PORT_DIPSETTING( 0x04, "Hopper" ) - PORT_DIPSETTING( 0x00, "Solenoid" ) - 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 ) ) - - TRIVIA_STANDARD_INPUT - PORT_MODIFY("IN0") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) /* coin 3, 2, 4 order verified in test mode */ - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) -INPUT_PORTS_END - - - -static MACHINE_DRIVER_START( findout ) - - /* basic machine hardware */ - MDRV_CPU_ADD("maincpu", Z80,4000000) /* 4 MHz */ - MDRV_CPU_PROGRAM_MAP(findout_map) - MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse) - - MDRV_MACHINE_RESET(findout) - MDRV_NVRAM_HANDLER(generic_0fill) - - /* video hardware */ - MDRV_SCREEN_ADD("screen", RASTER) - MDRV_SCREEN_REFRESH_RATE(60) - MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) - MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) - MDRV_SCREEN_SIZE(512, 256) - MDRV_SCREEN_VISIBLE_AREA(48, 511-48, 16, 255-16) - - MDRV_PALETTE_LENGTH(8) - MDRV_PALETTE_INIT(findout) - - MDRV_VIDEO_START(generic_bitmapped) - MDRV_VIDEO_UPDATE(generic_bitmapped) - - MDRV_PPI8255_ADD( "ppi8255_0", ppi8255_intf[0] ) - MDRV_PPI8255_ADD( "ppi8255_1", ppi8255_intf[1] ) - - /* sound hardware */ - MDRV_SPEAKER_STANDARD_MONO("mono") - - MDRV_SOUND_ADD("dac", DAC, 0) - MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) -MACHINE_DRIVER_END - - - -/*************************************************************************** - - Game driver(s) - -***************************************************************************/ - -ROM_START( reelfun ) /* v7.01 */ - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "reelfun.cnt", 0x00000, 0x4000, CRC(d9d1e92b) SHA1(337f66a37b3734d565b3ff3d912e0f690fd7c445) ) - ROM_LOAD( "reelfun.prg", 0x08000, 0x2000, CRC(615d846a) SHA1(ffa1c47393f4f364aa34d14cf3ac2f56d9eaecb0) ) /* banked */ - ROM_LOAD( "reelfun-1-title", 0x10000, 0x8000, CRC(0e165fbc) SHA1(a3a5b7db72ab86efe973f649f5dfe5133830e3fc) ) /* banked ROMs for solution data */ - ROM_LOAD( "reelfun-2-place", 0x18000, 0x8000, CRC(a0066bfd) SHA1(b6f031ab50eb396be79e79e06f2101400683ec3e) ) - ROM_LOAD( "reelfun-3-phrase", 0x20000, 0x8000, CRC(199e36b0) SHA1(d9dfe39c9a4fca1169150f8941f8ebc499dfbaf5) ) - ROM_LOAD( "reelfun-4-person", 0x28000, 0x8000, CRC(49b0710b) SHA1(a38b3251bcb8683d43bdb903036970140a9735e6) ) - ROM_LOAD( "reelfun-5-song_title", 0x30000, 0x8000, CRC(cce01c45) SHA1(c484f5828928edf39335cedf21acab0b9e2a6881) ) -ROM_END - -ROM_START( findout ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "12.bin", 0x00000, 0x4000, CRC(21132d4c) SHA1(e3562ee2f46b3f022a852a0e0b1c8fb8164f64a3) ) - ROM_LOAD( "11.bin", 0x08000, 0x2000, CRC(0014282c) SHA1(c6792f2ff712ba3759ff009950d78750df844d01) ) /* banked */ - ROM_LOAD( "13.bin", 0x10000, 0x8000, CRC(cea91a13) SHA1(ad3b395ab0362f3decf178824b1feb10b6335bb3) ) /* banked ROMs for solution data */ - ROM_LOAD( "14.bin", 0x18000, 0x8000, CRC(2a433a40) SHA1(4132d81256db940789a40aa1162bf1b3997cb23f) ) - ROM_LOAD( "15.bin", 0x20000, 0x8000, CRC(d817b31e) SHA1(11e6e1042ee548ce2080127611ce3516a0528ae0) ) - ROM_LOAD( "16.bin", 0x28000, 0x8000, CRC(143f9ac8) SHA1(4411e8ba853d7d5c032115ce23453362ab82e9bb) ) - ROM_LOAD( "17.bin", 0x30000, 0x8000, CRC(dd743bc7) SHA1(63f7e01ac5cda76a1d3390b6b83f4429b7d3b781) ) - - ROM_REGION( 0x0200, "gfx2", 0 ) - ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(f3b663bb) SHA1(5a683951c8d3a2baac4b49e379d6e10e35465c8a) ) /* unknown */ -ROM_END - -ROM_START( gt507uk ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "triv_3_2.bin", 0x00000, 0x4000, CRC(2d72a081) SHA1(8aa32acf335d027466799b097e0de66bcf13247f) ) - ROM_LOAD( "rom_ad.bin", 0x08000, 0x2000, CRC(c81cc847) SHA1(057b7b75a2fe1abf88b23e7b2de230d9f96139f5) ) - ROM_LOAD( "aerospace", 0x10000, 0x8000, CRC(cb555d46) SHA1(559ae05160d7893ff96311a2177eba039a4cf186) ) - ROM_LOAD( "english_sport_4", 0x18000, 0x8000, CRC(6ae8a63d) SHA1(c6018141d8bbe0ed7619980bf7da89dd91d7fcc2) ) - ROM_LOAD( "general_facts", 0x20000, 0x8000, CRC(f921f108) SHA1(fd72282df5cee0e6ab55268b40785b3dc8e3d65b) ) - ROM_LOAD( "horrors", 0x28000, 0x8000, CRC(5f7b262a) SHA1(047480d6bf5c6d0603d538b84c996bd226f07f77) ) - ROM_LOAD( "pop_music", 0x30000, 0x8000, CRC(884fec7c) SHA1(b389216c17f516df4e15eee46246719dd4acb587) ) -ROM_END - -ROM_START( gt5 ) /* v5.06, From a TRIV3D romboard */ - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "program", 0x00000, 0x4000, CRC(e9d6226c) SHA1(42e62c5cafa3f051bf48c18c8c549ffcd4c766c5) ) - ROM_LOAD( "entertainment_2", 0x10000, 0x8000, CRC(c75c2331) SHA1(9c5947616a4cba2623c599def6cf3b2b1981b681) ) /* rom / question set #15 */ - ROM_LOAD( "facts_2", 0x18000, 0x8000, CRC(7836ef31) SHA1(6a84cfa39de392eed46a4b37752e00b6d094bbd6) ) - ROM_LOAD( "new_science_3", 0x20000, 0x8000, CRC(fcbc3bc3) SHA1(2dbdd39dce9dbf53c0954dec44a4f5109243dc60) ) - ROM_LOAD( "nfl_football", 0x28000, 0x8000, CRC(42eb2849) SHA1(c24e681a508ef8350f7e5d50aea2c31cf70ce5c9) ) - ROM_LOAD( "adult_sex_6", 0x30000, 0x8000, CRC(d66f35f7) SHA1(81b56756230b27b0903d0c5df30439726526afe2) ) -ROM_END - -ROM_START( gtsers8 ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) - ROM_LOAD( "science", 0x10000, 0x8000, CRC(2f940ebd) SHA1(bead4988ac0a97d70f2a3c0b40a05968436de2ed) ) - ROM_LOAD( "general", 0x18000, 0x8000, CRC(1efa01c3) SHA1(801ef5ab55184e488b08ef99ebd641ea4f7edb24) ) - ROM_LOAD( "sports", 0x20000, 0x8000, CRC(6bd1ba9a) SHA1(7caac1bd438a9b1d11fb33e11814b5d76951211a) ) - ROM_LOAD( "soccer", 0x28000, 0x8000, CRC(f821f860) SHA1(b0437ef5d31c507c6499c1fb732d2ba3b9beb151) ) - ROM_LOAD( "potpourri", 0x30000, 0x8000, CRC(f2968a28) SHA1(87c08c59dfee71e7bf071f09c3017c750a1c5694) ) - /* Missing Alternate question set: "Adult Sex" */ -ROM_END - -ROM_START( gtsers9 ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) - ROM_LOAD( "facts", 0x10000, 0x8000, CRC(21bd6181) SHA1(609ae1097a4011e90d03d4c4f03140fbe84c084a) ) - ROM_LOAD( "rock-n-roll", 0x18000, 0x8000, CRC(1be036b1) SHA1(0b262906044950319dd911b956ac2e0b433f6c7f) ) - ROM_LOAD( "television", 0x20000, 0x8000, CRC(731d4cc0) SHA1(184b6e48edda24f50e377a473a1a4709a218181b) ) - ROM_LOAD( "usa_trivia", 0x28000, 0x8000, CRC(829543b4) SHA1(deb0a4132852643ad884cf194b0a2e6671aa2b4e) ) - ROM_LOAD( "adult_sex_2", 0x30000, 0x8000, CRC(0d683f21) SHA1(f47ce3c31c4c5ed02247fa280303e6ae760315df) ) /* Listed as an alternate question set */ - /* Missing "Artists-Athletes" */ -ROM_END - -ROM_START( gtsers10 ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) - ROM_LOAD( "new_general", 0x10000, 0x8000, CRC(ba1f5b92) SHA1(7e94be0ef6904331d3a6b266e5887e9a15c5e7f9) ) - ROM_LOAD( "new_tv_mash", 0x18000, 0x8000, CRC(f73240c6) SHA1(78020644074da719414133a86a91c1328e5d8929) ) - ROM_LOAD( "new_entrtnmnt", 0x20000, 0x8000, CRC(0f54340c) SHA1(1ca4c23b542339791a2d8f4a9a857f755feca8a1) ) - ROM_LOAD( "new_sports", 0x28000, 0x8000, CRC(19eff1a3) SHA1(8e024ae6cc572176c90d819a438ace7b2512dbf2) ) - ROM_LOAD( "adult_sex_3", 0x30000, 0x8000, CRC(2c46e355) SHA1(387ab389abaaea8e870b00039dd884237f7dd9c6) ) /* Listed as an alternate question set */ - /* Missing "New Science" */ -ROM_END - -ROM_START( gtsers11 ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) - ROM_LOAD( "rich-famous", 0x10000, 0x8000, CRC(39e07e4a) SHA1(6e5a0bcefaa1169f313e8818cf50919108b3e121) ) - ROM_LOAD( "cars-women", 0x18000, 0x8000, CRC(4c5dd1df) SHA1(f3e2146eeab07ec71617c7614c6e8f6bc844e6e3) ) - ROM_LOAD( "aerospace", 0x20000, 0x8000, CRC(cb555d46) SHA1(559ae05160d7893ff96311a2177eba039a4cf186) ) - ROM_LOAD( "tv_music", 0x28000, 0x8000, CRC(5138e0fb) SHA1(102146d63752258c2fda95df49289c42b392c838) ) - ROM_LOAD( "gay_times", 0x30000, 0x8000, CRC(c4f9a8cf) SHA1(9247ecc5708aba263e0365fc43a1a7d0c2b7c391) ) /* Listed as an alternate question set */ - /* Missing "General Facts" */ -ROM_END - -ROM_START( gt103a1 ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "prog1_versiona", 0x00000, 0x4000, CRC(537d6566) SHA1(282a33e4a9fc54d34094393c00026bf31ccd6ab5) ) - ROM_LOAD( "new_science_2", 0x10000, 0x8000, CRC(3bd80fb8) SHA1(9a196595bc5dc6ed5ee5853786839ed4847fa436) ) /* Questions from an unknown set, will be corrected when verified */ - ROM_LOAD( "nfl_football", 0x18000, 0x8000, CRC(d676b7cd) SHA1(d652d2441adb500f7af526d110d0335ea453d75b) ) /* These questions are likely mix-n-match do to opperator swaps */ - ROM_LOAD( "rock_music", 0x20000, 0x8000, CRC(7f11733a) SHA1(d4d0dee75518edf986cb1241ade45ccb4840f088) ) /* Currently unverified are Series 12, 13 & 14 */ - ROM_LOAD( "war_and_peace", 0x28000, 0x8000, CRC(bc709383) SHA1(2fba4c80773abea7bbd826c39378b821cddaa255) ) - ROM_LOAD( "entertainment", 0x30000, 0x8000, CRC(07068c9f) SHA1(1aedc78d071281ec8b08488cd82655d41a77cf6b) ) -ROM_END - -ROM_START( gt103a2 ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) - ROM_LOAD( "vices", 0x10000, 0x8000, CRC(e6069955) SHA1(68f7453f21a4ce1be912141bbe947fbd81d918a3) ) /* Questions from an unknown set, will be corrected when verified */ - ROM_LOAD( "cops_&_robbers", 0x18000, 0x8000, CRC(8b367c33) SHA1(013468157bf469c9cf138809fdc45b3ba60a423b) ) /* These questions are likely mix-n-match do to opperator swaps */ - ROM_LOAD( "famous_couples", 0x20000, 0x8000, CRC(e0618218) SHA1(ff64fcd6dec83a2271b63c3ae64dc932a3954ec5) ) /* Currently unverified are Series 12, 13 & 14 */ - ROM_LOAD( "famous_quotes", 0x28000, 0x8000, CRC(0a27d8ae) SHA1(427e6ae25e47da7f7f7c3e92a37e330d711da90c) ) -ROM_END - -ROM_START( gt103a3 ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "t_3a-8_1.bin", 0x00000, 0x4000, CRC(02aef306) SHA1(1ffc10c79a55d41ea36bcaab13cb3f02cb3f9712) ) - ROM_LOAD( "rock-n-roll_alt", 0x10000, 0x8000, CRC(8eb83052) SHA1(93e3c1ae6c2048fb44ecafe1013b6a96da38fa84) ) /* Questions from an unknown set, will be corrected when verified */ - ROM_LOAD( "history-geog.", 0x18000, 0x8000, CRC(c9a70fc3) SHA1(4021e5d702844416e8c798ed0a57c9ecd20b1d4b) ) /* These questions are likely mix-n-match do to opperator swaps */ - ROM_LOAD( "the_sixties", 0x20000, 0x8000, CRC(8cfa854e) SHA1(81428c12f99841db1c61b471ac8d00f0c411883b) ) /* Currently unverified are Series 12, 13 & 14 */ - ROM_LOAD( "tv_comedies", 0x28000, 0x8000, CRC(992ae38e) SHA1(312780d651a85a1c433f587ff2ede579456d3fd9) ) -ROM_END - -ROM_START( gt103aa ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "t_3a-8_1.bin", 0x00000, 0x4000, CRC(02aef306) SHA1(1ffc10c79a55d41ea36bcaab13cb3f02cb3f9712) ) - ROM_LOAD( "entertainment_alt", 0x10000, 0x8000, CRC(9a6628b9) SHA1(c0cb7e974329d4d5b91f107296d21a674e35a51b) ) /* Questions from an unknown set, will be corrected when verified */ - ROM_LOAD( "general_alt", 0x18000, 0x8000, CRC(df34f7f9) SHA1(329d123eea711d5135dc02dd7b89b220ce8ddd28) ) /* These questions are likely mix-n-match do to opperator swaps */ - ROM_LOAD( "science_alt", 0x20000, 0x8000, CRC(9eaebd18) SHA1(3a4d787cb006dbb23ce346577cb1bb5e543ba52c) ) /* Currently unverified are Series 12, 13 & 14 */ - ROM_LOAD( "science_alt2", 0x28000, 0x8000, CRC(ac93d348) SHA1(55550ba6b5daffdf9653854075ad4f8398a5e621) ) - ROM_LOAD( "sports_alt2", 0x30000, 0x8000, CRC(40207845) SHA1(2dddb9685dcefabfde07057a639aa9d08da2329e) ) -ROM_END - -ROM_START( gt103asx ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "t_3a-8_1.bin", 0x00000, 0x4000, CRC(02aef306) SHA1(1ffc10c79a55d41ea36bcaab13cb3f02cb3f9712) ) - ROM_LOAD( "adult_sex_2", 0x10000, 0x8000, CRC(0d683f21) SHA1(f47ce3c31c4c5ed02247fa280303e6ae760315df) ) - ROM_LOAD( "adult_sex_2_alt", 0x18000, 0x8000, CRC(8c0eacc8) SHA1(ddaa25548d161394b41c65a2db57a9fcf793062b) ) - ROM_LOAD( "adult_sex_3_alt", 0x20000, 0x8000, CRC(63cbd1d6) SHA1(8dcd5546dc8688d6b8404d5cf63d8a59acc9bf4c) ) - ROM_LOAD( "adult_sex_4", 0x28000, 0x8000, CRC(36a75071) SHA1(f08d31f241e1dc9b94b940cd2872a692f6f8475b) ) - ROM_LOAD( "adult_sex_5", 0x30000, 0x8000, CRC(fdbc3729) SHA1(7cb7cec4439ddc39de2f7f62c25623cfb869f493) ) -ROM_END - -ROM_START( quiz ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "1.bin", 0x00000, 0x4000, CRC(4e3204da) SHA1(291f1c9b8c4c07881621c3ecbba7af80f86b9520) ) - ROM_LOAD( "2.bin", 0x10000, 0x8000, CRC(b79f3ae1) SHA1(4b4aa50ec95138bc8ee4bc2a61bcbfa2515ac854) ) - ROM_LOAD( "3.bin", 0x18000, 0x8000, CRC(9c7e9608) SHA1(35ee9aa36d16bca64875640224c7fe9d327a95c3) ) - ROM_LOAD( "4.bin", 0x20000, 0x8000, CRC(30f6b4d0) SHA1(ab2624eb1a3fd9cd8d44433962d09496cd67d569) ) - ROM_LOAD( "5.bin", 0x28000, 0x8000, CRC(e9cdae21) SHA1(4de4a4edf9eccd8f9f7b935f47bee42c10ad606f) ) - ROM_LOAD( "6.bin", 0x30000, 0x8000, CRC(89e2b7e8) SHA1(e85c66f0cf37418f522c2d6384997d52f2f15117) ) - - ROM_REGION( 0x0200, "proms", 0 ) /* unknown */ - ROM_LOAD( "prom_am27s29pc.bin", 0x0000, 0x0200, CRC(19e3f161) SHA1(52da3c1e50c2329454de14cb9c46149e573e562b) ) -ROM_END - -ROM_START( quiz211 ) - ROM_REGION( 0x38000, "maincpu", 0 ) - ROM_LOAD( "1a.bin", 0x000000, 0x4000, CRC(116de0ea) SHA1(9af97b100aa2c79a58de055abe726d6e2e00aab4) ) - ROM_CONTINUE( 0x000000, 0x4000 ) // halves identical - ROM_LOAD( "hobby.bin", 0x10000, 0x8000, CRC(c86d0c2b) SHA1(987ef17c7b9cc119511a16cbd98ec44d24665af5) ) - ROM_LOAD( "musica.bin", 0x18000, 0x8000, CRC(6b08990f) SHA1(bbc633dc4e0c395269d3d3fbf1f7617ea7adabf1) ) - ROM_LOAD( "natura.bin", 0x20000, 0x8000, CRC(f17b0d59) SHA1(ebe3d5a0247f3065f0c5d4ee0b846a737700f379) ) - ROM_LOAD( "spettacolo.bin", 0x28000, 0x8000, CRC(38b8e37a) SHA1(e6df575f61ac61e825d98eaef99c128647806a75) ) - ROM_LOAD( "mondiali90.bin", 0x30000, 0x4000, CRC(35622870) SHA1(f2dab64106ca4ef07175a0ad9491470964d8a0d2) ) - - ROM_REGION( 0x0e00, "proms", 0 ) /* unknown */ - ROM_LOAD( "prom_27s13-1.bin", 0x0000, 0x0200, NO_DUMP ) - ROM_LOAD( "prom_27s13-2.bin", 0x0200, 0x0200, NO_DUMP ) - ROM_LOAD( "prom_27s13-3.bin", 0x0400, 0x0200, NO_DUMP ) - ROM_LOAD( "prom_27s13-4.bin", 0x0600, 0x0200, NO_DUMP ) - ROM_LOAD( "prom_27s13-5.bin", 0x0800, 0x0200, NO_DUMP ) - ROM_LOAD( "prom_27s13-6.bin", 0x0a00, 0x0200, NO_DUMP ) - ROM_LOAD( "prom_6349-1n.bin", 0x0c00, 0x0200, CRC(19e3f161) SHA1(52da3c1e50c2329454de14cb9c46149e573e562b) ) - - ROM_REGION( 0x0100, "plds", 0 ) - ROM_LOAD( "pal10l8cn.bin", 0x0000, 0x002c, CRC(86095226) SHA1(e7496efbd5ca240f0df2dfa5627402342c7f5384) ) -ROM_END - -/* -When games are first run a RAM error will occur because the nvram needs initialising. -When ERROR appears, press F2, then F3 to reset, then F2 again and the game will start -*/ - -GAME( 1986, gt507uk, 0, findout, gt507uk, 0, ROT0, "Grayhound Electronics", "Trivia (UK Version 5.07)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1986, gt5, 0, findout, gt103, 0, ROT0, "Grayhound Electronics", "Trivia (Version 5.06)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) - -GAME( 1984, gtsers8, 0, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 8)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1984, gtsers9, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 9)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1984, gtsers10, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 10)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1984, gtsers11, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 11)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1984, gt103a1, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a) (alt 1)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1984, gt103a2, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a) (alt 2)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1984, gt103a3, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a) (alt 3)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1984, gt103aa, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Alt questions)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1984, gt103asx, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Sex questions)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) - -GAME( 1986, quiz, 0, findout, quiz, 0, ROT0, "Italian bootleg", "Quiz (Revision 2)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) - -GAME( 1986, reelfun, 0, findout, reelfun, 0, ROT0, "Grayhound Electronics", "Reel Fun (Version 7.01)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) -GAME( 1987, findout, 0, findout, findout, 0, ROT0, "Elettronolo", "Find Out (Version 4.04)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) - -GAME( 1991, quiz211, 0, findout, quiz, 0, ROT0, "Elettronolo", "Quiz (Revision 2.11)", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND ) diff --git a/src/mame/drivers/getrivia.c b/src/mame/drivers/gei.c similarity index 64% rename from src/mame/drivers/getrivia.c rename to src/mame/drivers/gei.c index 204ffbfd22b..1cb2f080ef9 100644 --- a/src/mame/drivers/getrivia.c +++ b/src/mame/drivers/gei.c @@ -1,25 +1,11 @@ /* -Trivia By Greyhound Electronics + Greyhound Electronics Inc. hardware + driver by Nicola Salmoria driver by Pierpaolo Prazzoli and graphic fixes by Tomasz Slanina additional work by Mariusz Wojcieszek - based on Find Out driver -ROM BOARD (2764 ROMs) - -FILE CS -TRIVB1.BIN D900 -TRIVB2.BIN 4600 - -ROM BOARD (27128 ROMs) - -FILE CS -SPRT1_9.BIN 8600 -GENERAL5.BIN A900 -ENTR2_9.BIN B300 -COMC2_9.BIN 2800 -HCKY5_9.BIN 3700 ROM board has a part # UVM10B 1984 Main board has a part # UV-1B Rev 5 1982-83-84 @@ -28,6 +14,9 @@ Processor: Z80 Support Chips:(2) 8255s RAM: 6117on ROM board and (24) MCM4517s on main board +When games are first run a RAM error will occur because the nvram needs initialising. +When ERROR appears, press F2, then F3 to reset, then F2 again and the game will start + Trivia games "No Coins" mode: if DSW "No Coins" is on, coin inputs are replaced by a 6th button to start games. This is a feature of the PCB for private use. @@ -74,9 +63,6 @@ Artists-Athletes New Entertainment TV/Music Alternative U.S.A. Trivia New Sports General Facts or alt: Adult Sex 2 or alt: Adult Sex 3 or alt: Gay Times - -NOTE: Series 8 and above are version 1.03a (currently in findout.c) - */ #include "driver.h" @@ -88,7 +74,7 @@ NOTE: Series 8 and above are version 1.03a (currently in findout.c) static UINT8 drawctrl[3]; static UINT8 color[8]; -static WRITE8_HANDLER( getrivia_drawctrl_w ) +static WRITE8_HANDLER( gei_drawctrl_w ) { drawctrl[offset] = data; if (offset == 2) @@ -99,7 +85,7 @@ static WRITE8_HANDLER( getrivia_drawctrl_w ) } } -static WRITE8_HANDLER( getrivia_bitmap_w ) +static WRITE8_HANDLER( gei_bitmap_w ) { int sx,sy; static int prevoffset, yadd; @@ -119,7 +105,7 @@ static WRITE8_HANDLER( getrivia_bitmap_w ) *BITMAP_ADDR16(tmpbitmap, sy, sx+i) = color[8-i-1]; } -static PALETTE_INIT(getrivia) +static PALETTE_INIT(gei) { int i; @@ -197,6 +183,46 @@ static WRITE8_DEVICE_HANDLER( nmi_w ) interrupt_enable_w(space, 0, data & 0x40); } +static READ8_HANDLER( catchall ) +{ + int pc = cpu_get_pc(space->cpu); + + if (pc != 0x3c74 && pc != 0x0364 && pc != 0x036d) /* weed out spurious blit reads */ + logerror("%04x: unmapped memory read from %04x\n",pc,offset); + + return 0xff; +} + +static READ8_DEVICE_HANDLER( portC_r ) +{ + return 4; +} + +static WRITE8_HANDLER( banksel_main_w ) +{ + memory_set_bankptr(space->machine, 1,memory_region(space->machine, "cpu") + 0x8000); +} +static WRITE8_HANDLER( banksel_1_w ) +{ + memory_set_bankptr(space->machine, 1,memory_region(space->machine, "cpu") + 0x10000); +} +static WRITE8_HANDLER( banksel_2_w ) +{ + memory_set_bankptr(space->machine, 1,memory_region(space->machine, "cpu") + 0x18000); +} +static WRITE8_HANDLER( banksel_3_w ) +{ + memory_set_bankptr(space->machine, 1,memory_region(space->machine, "cpu") + 0x20000); +} +static WRITE8_HANDLER( banksel_4_w ) +{ + memory_set_bankptr(space->machine, 1,memory_region(space->machine, "cpu") + 0x28000); +} +static WRITE8_HANDLER( banksel_5_w ) +{ + memory_set_bankptr(space->machine, 1,memory_region(space->machine, "cpu") + 0x30000); +} + static WRITE8_HANDLER( banksel_1_1_w ) { memory_set_bankptr(space->machine, 1,memory_region(space->machine, "cpu") + 0x10000); @@ -316,10 +342,10 @@ static ADDRESS_MAP_START( getrivia_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x609b, 0x609b) AM_WRITE(banksel_3_2_w) AM_RANGE(0x609d, 0x609d) AM_WRITE(banksel_2_2_w) AM_RANGE(0x609e, 0x609e) AM_WRITE(banksel_1_2_w) - AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w) + AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w) AM_RANGE(0x8000, 0x9fff) AM_ROM /* space for diagnostic ROM? */ AM_RANGE(0xa000, 0xbfff) AM_ROM - AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram) + AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram) ADDRESS_MAP_END static ADDRESS_MAP_START( gselect_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -332,8 +358,8 @@ static ADDRESS_MAP_START( gselect_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4403, 0x4403) AM_WRITE(banksel_2_2_w) AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) - AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w) - AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram) + AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w) + AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram) ADDRESS_MAP_END // TODO: where are mapped the lower 0x2000 bytes of the banks? @@ -348,9 +374,9 @@ static ADDRESS_MAP_START( amuse_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x607b, 0x607b) AM_WRITE(banksel_3_1_w) AM_RANGE(0x607d, 0x607d) AM_WRITE(banksel_2_1_w) AM_RANGE(0x607e, 0x607e) AM_WRITE(banksel_1_1_w) - AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w) + AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w) AM_RANGE(0x8000, 0xbfff) AM_ROM - AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram) + AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram) ADDRESS_MAP_END static ADDRESS_MAP_START( gepoker_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -364,10 +390,10 @@ static ADDRESS_MAP_START( gepoker_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x60fb, 0x60fb) AM_WRITE(banksel_2_1_w) AM_RANGE(0x60fd, 0x60fd) AM_WRITE(banksel_1_2_w) AM_RANGE(0x60fe, 0x60fe) AM_WRITE(banksel_1_1_w) - AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w) + AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w) AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */ AM_RANGE(0xe000, 0xffff) AM_ROM - AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram) + AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram) ADDRESS_MAP_END static ADDRESS_MAP_START( amuse1_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -381,12 +407,34 @@ static ADDRESS_MAP_START( amuse1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w) AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) AM_RANGE(0x5800, 0x5fff) AM_ROM - AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w) + AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w) AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */ AM_RANGE(0xe000, 0xffff) AM_ROM - AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram) + AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram) ADDRESS_MAP_END +static ADDRESS_MAP_START( findout_map, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) + AM_RANGE(0x4800, 0x4803) AM_DEVREADWRITE("ppi8255_0", ppi8255_r,ppi8255_w) + AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r,ppi8255_w) + /* banked ROMs are enabled by low 6 bits of the address */ + AM_RANGE(0x601f, 0x601f) AM_WRITE(banksel_main_w) + AM_RANGE(0x602f, 0x602f) AM_WRITE(banksel_5_w) + AM_RANGE(0x6037, 0x6037) AM_WRITE(banksel_4_w) + AM_RANGE(0x603b, 0x603b) AM_WRITE(banksel_3_w) + AM_RANGE(0x603d, 0x603d) AM_WRITE(banksel_2_w) + AM_RANGE(0x603e, 0x603e) AM_WRITE(banksel_1_w) + AM_RANGE(0x6200, 0x6200) AM_WRITE(signature_w) + AM_RANGE(0x6400, 0x6400) AM_READ(signature_r) + AM_RANGE(0x7800, 0x7fff) AM_ROM /*space for diagnostic ROM?*/ + AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1) + AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w) + AM_RANGE(0xc000, 0xffff) AM_WRITE(gei_bitmap_w) AM_BASE(&videoram) + AM_RANGE(0x0000, 0xffff) AM_READ(catchall) +ADDRESS_MAP_END + + static ADDRESS_MAP_START( suprpokr_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM AM_RANGE(0x4000, 0x47ff) AM_RAM AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) @@ -394,10 +442,10 @@ static ADDRESS_MAP_START( suprpokr_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w) AM_RANGE(0x6200, 0x6200) AM_WRITE(signature2_w) AM_RANGE(0x6400, 0x6400) AM_READ(signature_r) - AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w) + AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w) AM_RANGE(0x8000, 0xbfff) AM_ROM /* space for diagnostic ROM? */ AM_RANGE(0xe000, 0xffff) AM_ROM - AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram) + AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram) ADDRESS_MAP_END static ADDRESS_MAP_START( geimulti_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -408,9 +456,9 @@ static ADDRESS_MAP_START( geimulti_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5800, 0x5fff) AM_ROM AM_RANGE(0x5a00, 0x5cff) AM_WRITE(geimulti_bank_w) AM_RANGE(0x6000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w) + AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w) AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1) - AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram) + AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram) ADDRESS_MAP_END static ADDRESS_MAP_START( sprtauth_map, ADDRESS_SPACE_PROGRAM, 8 ) @@ -422,11 +470,55 @@ static ADDRESS_MAP_START( sprtauth_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x5800, 0x5800) AM_WRITE(signature_w) AM_RANGE(0x5a00, 0x5cff) AM_WRITE(geimulti_bank_w) AM_RANGE(0x6000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0x8002) AM_WRITE(getrivia_drawctrl_w) + AM_RANGE(0x8000, 0x8002) AM_WRITE(gei_drawctrl_w) AM_RANGE(0x8000, 0xffff) AM_ROMBANK(1) - AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(getrivia_bitmap_w) AM_BASE(&videoram) + AM_RANGE(0xc000, 0xffff) AM_RAM_WRITE(gei_bitmap_w) AM_BASE(&videoram) ADDRESS_MAP_END +static INPUT_PORTS_START(reelfun_standard) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_SERVICE( 0x08, IP_ACTIVE_LOW ) + 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") /* IN1 */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("1 Left A-Z") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("2 Right A-Z") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("3 Select Letter") + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("4 Start") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("5 Solve Puzzle") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + +static INPUT_PORTS_START(trivia_standard) + PORT_START("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ticket_dispenser_0_port_r, 0) /* ticket status */ + PORT_SERVICE( 0x08, IP_ACTIVE_LOW ) + 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") /* IN1 */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + static INPUT_PORTS_START( gselect ) PORT_START("DSWA") PORT_DIPNAME( 0x01, 0x01, "Poker: Discard Cards" ) @@ -573,6 +665,192 @@ static INPUT_PORTS_START(suprpokr) PORT_DIPSETTING( 0x00, "Freeze" ) INPUT_PORTS_END +static INPUT_PORTS_START( reelfun ) + PORT_START("DSWA") + PORT_DIPNAME( 0x07, 0x01, "Coinage Multiplier" ) + PORT_DIPSETTING( 0x07, "7" ) + PORT_DIPSETTING( 0x06, "6" ) + PORT_DIPSETTING( 0x05, "5" ) + PORT_DIPSETTING( 0x04, "4" ) + PORT_DIPSETTING( 0x03, "3" ) + PORT_DIPSETTING( 0x02, "2" ) + PORT_DIPSETTING( 0x01, "1" ) + PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x08, "Credits per Coin" ) + PORT_DIPSETTING( 0x00, "Coins per Credit" ) + PORT_DIPNAME( 0x10, 0x10, "Screen" ) + PORT_DIPSETTING( 0x10, "Horizontal" ) + PORT_DIPSETTING( 0x00, "Vertical" ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) + 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_INCLUDE(reelfun_standard) +INPUT_PORTS_END + +static INPUT_PORTS_START( findout ) + PORT_START("DSWA") /* DSW A */ + PORT_DIPNAME( 0x07, 0x01, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x07, DEF_STR( 7C_1C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 6C_1C ) ) + PORT_DIPSETTING( 0x05, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) + PORT_DIPNAME( 0x08, 0x00, "Game Repetition" ) + PORT_DIPSETTING( 0x08, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x10, 0x10, "Orientation" ) + PORT_DIPSETTING( 0x10, "Horizontal" ) + PORT_DIPSETTING( 0x00, "Vertical" ) + PORT_DIPNAME( 0x20, 0x20, "Buy Letter" ) + PORT_DIPSETTING( 0x20, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x40, 0x40, "Starting Letter" ) + PORT_DIPSETTING( 0x40, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x80, 0x80, "Bonus Letter" ) + PORT_DIPSETTING( 0x80, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + + PORT_INCLUDE(reelfun_standard) +INPUT_PORTS_END + +static INPUT_PORTS_START( gt103 ) + PORT_START("DSWA") /* DSW A */ + PORT_DIPNAME( 0x07, 0x01, "Coinage Multiplier" ) + PORT_DIPSETTING( 0x07, "7" ) + PORT_DIPSETTING( 0x06, "6" ) + PORT_DIPSETTING( 0x05, "5" ) + PORT_DIPSETTING( 0x04, "4" ) + PORT_DIPSETTING( 0x03, "3" ) + PORT_DIPSETTING( 0x02, "2" ) + PORT_DIPSETTING( 0x01, "1" ) + PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x08, "Credits per Coin" ) + PORT_DIPSETTING( 0x00, "Coins per Credit" ) + PORT_DIPNAME( 0x10, 0x10, "Screen" ) + PORT_DIPSETTING( 0x10, "Horizontal" ) + PORT_DIPSETTING( 0x00, "Vertical" ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Upright ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) + 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_INCLUDE(trivia_standard) +INPUT_PORTS_END + +static INPUT_PORTS_START( gt103a ) + PORT_START("DSWA") + PORT_DIPNAME( 0x03, 0x01, "Questions" ) + PORT_DIPSETTING( 0x00, "4" ) + PORT_DIPSETTING( 0x01, "5" ) +// PORT_DIPSETTING( 0x02, "5" ) + PORT_DIPSETTING( 0x03, "6" ) + PORT_DIPNAME( 0x04, 0x00, "Show Answer" ) + PORT_DIPSETTING( 0x04, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x08, 0x00, "Max Coins" ) + PORT_DIPSETTING( 0x08, "30" ) + PORT_DIPSETTING( 0x00, "10" ) + PORT_DIPNAME( 0x10, 0x00, "Timeout" ) + PORT_DIPSETTING( 0x10, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x20, 0x00, "Tickets" ) + PORT_DIPSETTING( 0x20, DEF_STR( No ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) + PORT_DIPNAME( 0x40, 0x40, "No Coins" ) + 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("IN0") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_CONDITION("DSWA", 0x40, PORTCOND_EQUALS, 0x40) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_IMPULSE(2) PORT_CONDITION("DSWA", 0x40, PORTCOND_EQUALS, 0x00) PORT_NAME ("Start in no coins mode") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) PORT_CONDITION("DSWA", 0x40, PORTCOND_EQUALS, 0x40) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSWA", 0x40, PORTCOND_EQUALS, 0x00) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(ticket_dispenser_0_port_r, 0) /* ticket status */ + PORT_SERVICE( 0x08, IP_ACTIVE_LOW ) + 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") /* IN1 */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON5 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + +static INPUT_PORTS_START( quiz ) + PORT_INCLUDE( gt103a ) + + PORT_MODIFY("DSWA") + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) /* no tickets */ + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + + PORT_MODIFY("IN0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no coin 2 */ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* no tickets */ +INPUT_PORTS_END + +static INPUT_PORTS_START( gt507uk ) + PORT_START("DSWA") /* DSW A */ + PORT_DIPNAME( 0x01, 0x00, "If Ram Error" ) + PORT_DIPSETTING( 0x01, "Freeze" ) + PORT_DIPSETTING( 0x00, "Play" ) + PORT_DIPNAME( 0x0a, 0x08, "Payout" ) + PORT_DIPSETTING( 0x0a, "Bank" ) + PORT_DIPSETTING( 0x08, "N/A" ) + PORT_DIPSETTING( 0x02, "Credit" ) + PORT_DIPSETTING( 0x00, "Direct" ) + PORT_DIPNAME( 0x04, 0x04, "Payout Hardware" ) + PORT_DIPSETTING( 0x04, "Hopper" ) + PORT_DIPSETTING( 0x00, "Solenoid" ) + 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_INCLUDE(trivia_standard) + + PORT_MODIFY("IN0") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_IMPULSE(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_IMPULSE(2) /* coin 3, 2, 4 order verified in test mode */ + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN4 ) PORT_IMPULSE(2) +INPUT_PORTS_END + static INPUT_PORTS_START(geimulti) PORT_INCLUDE(gselect) @@ -694,6 +972,26 @@ static const ppi8255_interface gselect_ppi8255_intf[2] = } }; +static const ppi8255_interface findout_ppi8255_intf[2] = +{ + { + DEVCB_INPUT_PORT("DSWA"), /* Port A read */ + DEVCB_INPUT_PORT("IN0"), /* Port B read */ + DEVCB_NULL, /* Port C read */ + DEVCB_NULL, /* Port A write */ + DEVCB_NULL, /* Port B write */ + DEVCB_HANDLER(sound_w), /* Port C write */ + }, + { + DEVCB_INPUT_PORT("IN1"), /* Port A read */ + DEVCB_NULL, /* Port B read */ + DEVCB_HANDLER(portC_r), /* Port C read */ + DEVCB_NULL, /* Port A write */ + DEVCB_HANDLER(lamps_w), /* Port B write */ + DEVCB_NULL /* Port C write */ + } +}; + static MACHINE_RESET( getrivia ) { ticket_dispenser_init(machine, 100, 1, 1); @@ -717,7 +1015,7 @@ static MACHINE_DRIVER_START( getrivia ) MDRV_SCREEN_VISIBLE_AREA(48, 511-48, 16, 255-16) MDRV_PALETTE_LENGTH(8) - MDRV_PALETTE_INIT(getrivia) + MDRV_PALETTE_INIT(gei) MDRV_MACHINE_RESET(getrivia) MDRV_NVRAM_HANDLER(generic_0fill) @@ -735,6 +1033,16 @@ static MACHINE_DRIVER_START( getrivia ) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_DRIVER_END +static MACHINE_DRIVER_START( findout ) + MDRV_IMPORT_FROM(getrivia) + + MDRV_CPU_MODIFY("cpu") + MDRV_CPU_PROGRAM_MAP(findout_map) + + MDRV_PPI8255_RECONFIG( "ppi8255_0", findout_ppi8255_intf[0] ) + MDRV_PPI8255_RECONFIG( "ppi8255_1", findout_ppi8255_intf[1] ) +MACHINE_DRIVER_END + static MACHINE_DRIVER_START( gselect ) /* basic machine hardware */ @@ -1171,6 +1479,180 @@ ROM_START( suprpokr ) ROM_LOAD( "10-19s-1.e2", 0x08000, 0x4000, CRC(22b45aeb) SHA1(006c3072cc44c6fde9b4d15163dc70707bbd5a9c) ) ROM_END +ROM_START( reelfun ) /* v7.01 */ + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "reelfun.cnt", 0x00000, 0x4000, CRC(d9d1e92b) SHA1(337f66a37b3734d565b3ff3d912e0f690fd7c445) ) + ROM_LOAD( "reelfun.prg", 0x08000, 0x2000, CRC(615d846a) SHA1(ffa1c47393f4f364aa34d14cf3ac2f56d9eaecb0) ) /* banked */ + ROM_LOAD( "reelfun-1-title", 0x10000, 0x8000, CRC(0e165fbc) SHA1(a3a5b7db72ab86efe973f649f5dfe5133830e3fc) ) /* banked ROMs for solution data */ + ROM_LOAD( "reelfun-2-place", 0x18000, 0x8000, CRC(a0066bfd) SHA1(b6f031ab50eb396be79e79e06f2101400683ec3e) ) + ROM_LOAD( "reelfun-3-phrase", 0x20000, 0x8000, CRC(199e36b0) SHA1(d9dfe39c9a4fca1169150f8941f8ebc499dfbaf5) ) + ROM_LOAD( "reelfun-4-person", 0x28000, 0x8000, CRC(49b0710b) SHA1(a38b3251bcb8683d43bdb903036970140a9735e6) ) + ROM_LOAD( "reelfun-5-song_title", 0x30000, 0x8000, CRC(cce01c45) SHA1(c484f5828928edf39335cedf21acab0b9e2a6881) ) +ROM_END + +ROM_START( findout ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "12.bin", 0x00000, 0x4000, CRC(21132d4c) SHA1(e3562ee2f46b3f022a852a0e0b1c8fb8164f64a3) ) + ROM_LOAD( "11.bin", 0x08000, 0x2000, CRC(0014282c) SHA1(c6792f2ff712ba3759ff009950d78750df844d01) ) /* banked */ + ROM_LOAD( "13.bin", 0x10000, 0x8000, CRC(cea91a13) SHA1(ad3b395ab0362f3decf178824b1feb10b6335bb3) ) /* banked ROMs for solution data */ + ROM_LOAD( "14.bin", 0x18000, 0x8000, CRC(2a433a40) SHA1(4132d81256db940789a40aa1162bf1b3997cb23f) ) + ROM_LOAD( "15.bin", 0x20000, 0x8000, CRC(d817b31e) SHA1(11e6e1042ee548ce2080127611ce3516a0528ae0) ) + ROM_LOAD( "16.bin", 0x28000, 0x8000, CRC(143f9ac8) SHA1(4411e8ba853d7d5c032115ce23453362ab82e9bb) ) + ROM_LOAD( "17.bin", 0x30000, 0x8000, CRC(dd743bc7) SHA1(63f7e01ac5cda76a1d3390b6b83f4429b7d3b781) ) + + ROM_REGION( 0x0200, "gfx2", 0 ) + ROM_LOAD( "82s147.bin", 0x0000, 0x0200, CRC(f3b663bb) SHA1(5a683951c8d3a2baac4b49e379d6e10e35465c8a) ) /* unknown */ +ROM_END + +ROM_START( gt507uk ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "triv_3_2.bin", 0x00000, 0x4000, CRC(2d72a081) SHA1(8aa32acf335d027466799b097e0de66bcf13247f) ) + ROM_LOAD( "rom_ad.bin", 0x08000, 0x2000, CRC(c81cc847) SHA1(057b7b75a2fe1abf88b23e7b2de230d9f96139f5) ) + ROM_LOAD( "aerospace", 0x10000, 0x8000, CRC(cb555d46) SHA1(559ae05160d7893ff96311a2177eba039a4cf186) ) + ROM_LOAD( "english_sport_4", 0x18000, 0x8000, CRC(6ae8a63d) SHA1(c6018141d8bbe0ed7619980bf7da89dd91d7fcc2) ) + ROM_LOAD( "general_facts", 0x20000, 0x8000, CRC(f921f108) SHA1(fd72282df5cee0e6ab55268b40785b3dc8e3d65b) ) + ROM_LOAD( "horrors", 0x28000, 0x8000, CRC(5f7b262a) SHA1(047480d6bf5c6d0603d538b84c996bd226f07f77) ) + ROM_LOAD( "pop_music", 0x30000, 0x8000, CRC(884fec7c) SHA1(b389216c17f516df4e15eee46246719dd4acb587) ) +ROM_END + +ROM_START( gt5 ) /* v5.06, From a TRIV3D romboard */ + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "program", 0x00000, 0x4000, CRC(e9d6226c) SHA1(42e62c5cafa3f051bf48c18c8c549ffcd4c766c5) ) + ROM_LOAD( "entertainment_2", 0x10000, 0x8000, CRC(c75c2331) SHA1(9c5947616a4cba2623c599def6cf3b2b1981b681) ) /* rom / question set #15 */ + ROM_LOAD( "facts_2", 0x18000, 0x8000, CRC(7836ef31) SHA1(6a84cfa39de392eed46a4b37752e00b6d094bbd6) ) + ROM_LOAD( "new_science_3", 0x20000, 0x8000, CRC(fcbc3bc3) SHA1(2dbdd39dce9dbf53c0954dec44a4f5109243dc60) ) + ROM_LOAD( "nfl_football", 0x28000, 0x8000, CRC(42eb2849) SHA1(c24e681a508ef8350f7e5d50aea2c31cf70ce5c9) ) + ROM_LOAD( "adult_sex_6", 0x30000, 0x8000, CRC(d66f35f7) SHA1(81b56756230b27b0903d0c5df30439726526afe2) ) +ROM_END + +ROM_START( gtsers8 ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) + ROM_LOAD( "science", 0x10000, 0x8000, CRC(2f940ebd) SHA1(bead4988ac0a97d70f2a3c0b40a05968436de2ed) ) + ROM_LOAD( "general", 0x18000, 0x8000, CRC(1efa01c3) SHA1(801ef5ab55184e488b08ef99ebd641ea4f7edb24) ) + ROM_LOAD( "sports", 0x20000, 0x8000, CRC(6bd1ba9a) SHA1(7caac1bd438a9b1d11fb33e11814b5d76951211a) ) + ROM_LOAD( "soccer", 0x28000, 0x8000, CRC(f821f860) SHA1(b0437ef5d31c507c6499c1fb732d2ba3b9beb151) ) + ROM_LOAD( "potpourri", 0x30000, 0x8000, CRC(f2968a28) SHA1(87c08c59dfee71e7bf071f09c3017c750a1c5694) ) + /* Missing Alternate question set: "Adult Sex" */ +ROM_END + +ROM_START( gtsers9 ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) + ROM_LOAD( "facts", 0x10000, 0x8000, CRC(21bd6181) SHA1(609ae1097a4011e90d03d4c4f03140fbe84c084a) ) + ROM_LOAD( "rock-n-roll", 0x18000, 0x8000, CRC(1be036b1) SHA1(0b262906044950319dd911b956ac2e0b433f6c7f) ) + ROM_LOAD( "television", 0x20000, 0x8000, CRC(731d4cc0) SHA1(184b6e48edda24f50e377a473a1a4709a218181b) ) + ROM_LOAD( "usa_trivia", 0x28000, 0x8000, CRC(829543b4) SHA1(deb0a4132852643ad884cf194b0a2e6671aa2b4e) ) + ROM_LOAD( "adult_sex_2", 0x30000, 0x8000, CRC(0d683f21) SHA1(f47ce3c31c4c5ed02247fa280303e6ae760315df) ) /* Listed as an alternate question set */ + /* Missing "Artists-Athletes" */ +ROM_END + +ROM_START( gtsers10 ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) + ROM_LOAD( "new_general", 0x10000, 0x8000, CRC(ba1f5b92) SHA1(7e94be0ef6904331d3a6b266e5887e9a15c5e7f9) ) + ROM_LOAD( "new_tv_mash", 0x18000, 0x8000, CRC(f73240c6) SHA1(78020644074da719414133a86a91c1328e5d8929) ) + ROM_LOAD( "new_entrtnmnt", 0x20000, 0x8000, CRC(0f54340c) SHA1(1ca4c23b542339791a2d8f4a9a857f755feca8a1) ) + ROM_LOAD( "new_sports", 0x28000, 0x8000, CRC(19eff1a3) SHA1(8e024ae6cc572176c90d819a438ace7b2512dbf2) ) + ROM_LOAD( "adult_sex_3", 0x30000, 0x8000, CRC(2c46e355) SHA1(387ab389abaaea8e870b00039dd884237f7dd9c6) ) /* Listed as an alternate question set */ + /* Missing "New Science" */ +ROM_END + +ROM_START( gtsers11 ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) + ROM_LOAD( "rich-famous", 0x10000, 0x8000, CRC(39e07e4a) SHA1(6e5a0bcefaa1169f313e8818cf50919108b3e121) ) + ROM_LOAD( "cars-women", 0x18000, 0x8000, CRC(4c5dd1df) SHA1(f3e2146eeab07ec71617c7614c6e8f6bc844e6e3) ) + ROM_LOAD( "aerospace", 0x20000, 0x8000, CRC(cb555d46) SHA1(559ae05160d7893ff96311a2177eba039a4cf186) ) + ROM_LOAD( "tv_music", 0x28000, 0x8000, CRC(5138e0fb) SHA1(102146d63752258c2fda95df49289c42b392c838) ) + ROM_LOAD( "gay_times", 0x30000, 0x8000, CRC(c4f9a8cf) SHA1(9247ecc5708aba263e0365fc43a1a7d0c2b7c391) ) /* Listed as an alternate question set */ + /* Missing "General Facts" */ +ROM_END + +ROM_START( gt103a1 ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "prog1_versiona", 0x00000, 0x4000, CRC(537d6566) SHA1(282a33e4a9fc54d34094393c00026bf31ccd6ab5) ) + ROM_LOAD( "new_science_2", 0x10000, 0x8000, CRC(3bd80fb8) SHA1(9a196595bc5dc6ed5ee5853786839ed4847fa436) ) /* Questions from an unknown set, will be corrected when verified */ + ROM_LOAD( "nfl_football", 0x18000, 0x8000, CRC(d676b7cd) SHA1(d652d2441adb500f7af526d110d0335ea453d75b) ) /* These questions are likely mix-n-match do to opperator swaps */ + ROM_LOAD( "rock_music", 0x20000, 0x8000, CRC(7f11733a) SHA1(d4d0dee75518edf986cb1241ade45ccb4840f088) ) /* Currently unverified are Series 12, 13 & 14 */ + ROM_LOAD( "war_and_peace", 0x28000, 0x8000, CRC(bc709383) SHA1(2fba4c80773abea7bbd826c39378b821cddaa255) ) + ROM_LOAD( "entertainment", 0x30000, 0x8000, CRC(07068c9f) SHA1(1aedc78d071281ec8b08488cd82655d41a77cf6b) ) +ROM_END + +ROM_START( gt103a2 ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "prog1_versionc", 0x00000, 0x4000, CRC(340246a4) SHA1(d655e1cf2b1e87a05e87ff6af4b794e6d54a2a52) ) + ROM_LOAD( "vices", 0x10000, 0x8000, CRC(e6069955) SHA1(68f7453f21a4ce1be912141bbe947fbd81d918a3) ) /* Questions from an unknown set, will be corrected when verified */ + ROM_LOAD( "cops_&_robbers", 0x18000, 0x8000, CRC(8b367c33) SHA1(013468157bf469c9cf138809fdc45b3ba60a423b) ) /* These questions are likely mix-n-match do to opperator swaps */ + ROM_LOAD( "famous_couples", 0x20000, 0x8000, CRC(e0618218) SHA1(ff64fcd6dec83a2271b63c3ae64dc932a3954ec5) ) /* Currently unverified are Series 12, 13 & 14 */ + ROM_LOAD( "famous_quotes", 0x28000, 0x8000, CRC(0a27d8ae) SHA1(427e6ae25e47da7f7f7c3e92a37e330d711da90c) ) +ROM_END + +ROM_START( gt103a3 ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "t_3a-8_1.bin", 0x00000, 0x4000, CRC(02aef306) SHA1(1ffc10c79a55d41ea36bcaab13cb3f02cb3f9712) ) + ROM_LOAD( "rock-n-roll_alt", 0x10000, 0x8000, CRC(8eb83052) SHA1(93e3c1ae6c2048fb44ecafe1013b6a96da38fa84) ) /* Questions from an unknown set, will be corrected when verified */ + ROM_LOAD( "history-geog.", 0x18000, 0x8000, CRC(c9a70fc3) SHA1(4021e5d702844416e8c798ed0a57c9ecd20b1d4b) ) /* These questions are likely mix-n-match do to opperator swaps */ + ROM_LOAD( "the_sixties", 0x20000, 0x8000, CRC(8cfa854e) SHA1(81428c12f99841db1c61b471ac8d00f0c411883b) ) /* Currently unverified are Series 12, 13 & 14 */ + ROM_LOAD( "tv_comedies", 0x28000, 0x8000, CRC(992ae38e) SHA1(312780d651a85a1c433f587ff2ede579456d3fd9) ) +ROM_END + +ROM_START( gt103aa ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "t_3a-8_1.bin", 0x00000, 0x4000, CRC(02aef306) SHA1(1ffc10c79a55d41ea36bcaab13cb3f02cb3f9712) ) + ROM_LOAD( "entertainment_alt", 0x10000, 0x8000, CRC(9a6628b9) SHA1(c0cb7e974329d4d5b91f107296d21a674e35a51b) ) /* Questions from an unknown set, will be corrected when verified */ + ROM_LOAD( "general_alt", 0x18000, 0x8000, CRC(df34f7f9) SHA1(329d123eea711d5135dc02dd7b89b220ce8ddd28) ) /* These questions are likely mix-n-match do to opperator swaps */ + ROM_LOAD( "science_alt", 0x20000, 0x8000, CRC(9eaebd18) SHA1(3a4d787cb006dbb23ce346577cb1bb5e543ba52c) ) /* Currently unverified are Series 12, 13 & 14 */ + ROM_LOAD( "science_alt2", 0x28000, 0x8000, CRC(ac93d348) SHA1(55550ba6b5daffdf9653854075ad4f8398a5e621) ) + ROM_LOAD( "sports_alt2", 0x30000, 0x8000, CRC(40207845) SHA1(2dddb9685dcefabfde07057a639aa9d08da2329e) ) +ROM_END + +ROM_START( gt103asx ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "t_3a-8_1.bin", 0x00000, 0x4000, CRC(02aef306) SHA1(1ffc10c79a55d41ea36bcaab13cb3f02cb3f9712) ) + ROM_LOAD( "adult_sex_2", 0x10000, 0x8000, CRC(0d683f21) SHA1(f47ce3c31c4c5ed02247fa280303e6ae760315df) ) + ROM_LOAD( "adult_sex_2_alt", 0x18000, 0x8000, CRC(8c0eacc8) SHA1(ddaa25548d161394b41c65a2db57a9fcf793062b) ) + ROM_LOAD( "adult_sex_3_alt", 0x20000, 0x8000, CRC(63cbd1d6) SHA1(8dcd5546dc8688d6b8404d5cf63d8a59acc9bf4c) ) + ROM_LOAD( "adult_sex_4", 0x28000, 0x8000, CRC(36a75071) SHA1(f08d31f241e1dc9b94b940cd2872a692f6f8475b) ) + ROM_LOAD( "adult_sex_5", 0x30000, 0x8000, CRC(fdbc3729) SHA1(7cb7cec4439ddc39de2f7f62c25623cfb869f493) ) +ROM_END + +ROM_START( quiz ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "1.bin", 0x00000, 0x4000, CRC(4e3204da) SHA1(291f1c9b8c4c07881621c3ecbba7af80f86b9520) ) + ROM_LOAD( "2.bin", 0x10000, 0x8000, CRC(b79f3ae1) SHA1(4b4aa50ec95138bc8ee4bc2a61bcbfa2515ac854) ) + ROM_LOAD( "3.bin", 0x18000, 0x8000, CRC(9c7e9608) SHA1(35ee9aa36d16bca64875640224c7fe9d327a95c3) ) + ROM_LOAD( "4.bin", 0x20000, 0x8000, CRC(30f6b4d0) SHA1(ab2624eb1a3fd9cd8d44433962d09496cd67d569) ) + ROM_LOAD( "5.bin", 0x28000, 0x8000, CRC(e9cdae21) SHA1(4de4a4edf9eccd8f9f7b935f47bee42c10ad606f) ) + ROM_LOAD( "6.bin", 0x30000, 0x8000, CRC(89e2b7e8) SHA1(e85c66f0cf37418f522c2d6384997d52f2f15117) ) + + ROM_REGION( 0x0200, "proms", 0 ) /* unknown */ + ROM_LOAD( "prom_am27s29pc.bin", 0x0000, 0x0200, CRC(19e3f161) SHA1(52da3c1e50c2329454de14cb9c46149e573e562b) ) +ROM_END + +ROM_START( quiz211 ) + ROM_REGION( 0x38000, "cpu", 0 ) + ROM_LOAD( "1a.bin", 0x000000, 0x4000, CRC(116de0ea) SHA1(9af97b100aa2c79a58de055abe726d6e2e00aab4) ) + ROM_CONTINUE( 0x000000, 0x4000 ) // halves identical + ROM_LOAD( "hobby.bin", 0x10000, 0x8000, CRC(c86d0c2b) SHA1(987ef17c7b9cc119511a16cbd98ec44d24665af5) ) + ROM_LOAD( "musica.bin", 0x18000, 0x8000, CRC(6b08990f) SHA1(bbc633dc4e0c395269d3d3fbf1f7617ea7adabf1) ) + ROM_LOAD( "natura.bin", 0x20000, 0x8000, CRC(f17b0d59) SHA1(ebe3d5a0247f3065f0c5d4ee0b846a737700f379) ) + ROM_LOAD( "spettacolo.bin", 0x28000, 0x8000, CRC(38b8e37a) SHA1(e6df575f61ac61e825d98eaef99c128647806a75) ) + ROM_LOAD( "mondiali90.bin", 0x30000, 0x4000, CRC(35622870) SHA1(f2dab64106ca4ef07175a0ad9491470964d8a0d2) ) + + ROM_REGION( 0x0e00, "proms", 0 ) /* unknown */ + ROM_LOAD( "prom_27s13-1.bin", 0x0000, 0x0200, NO_DUMP ) + ROM_LOAD( "prom_27s13-2.bin", 0x0200, 0x0200, NO_DUMP ) + ROM_LOAD( "prom_27s13-3.bin", 0x0400, 0x0200, NO_DUMP ) + ROM_LOAD( "prom_27s13-4.bin", 0x0600, 0x0200, NO_DUMP ) + ROM_LOAD( "prom_27s13-5.bin", 0x0800, 0x0200, NO_DUMP ) + ROM_LOAD( "prom_27s13-6.bin", 0x0a00, 0x0200, NO_DUMP ) + ROM_LOAD( "prom_6349-1n.bin", 0x0c00, 0x0200, CRC(19e3f161) SHA1(52da3c1e50c2329454de14cb9c46149e573e562b) ) + + ROM_REGION( 0x0100, "plds", 0 ) + ROM_LOAD( "pal10l8cn.bin", 0x0000, 0x002c, CRC(86095226) SHA1(e7496efbd5ca240f0df2dfa5627402342c7f5384) ) +ROM_END + /* GEI Multi Game System (c) 1992 @@ -1256,17 +1738,17 @@ static DRIVER_INIT( geimulti ) memory_set_bankptr(machine, 1,memory_region(machine, "bank") + 0x0000); } -GAME( 1982, jokpoker, 0, gselect, gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03B)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) -GAME( 1983, jokpokera,jokpoker, jokpokera,gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03BI)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) -GAME( 1983, jokpokerb,jokpoker, jokpokera,gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.04BI 10-19-88, Joker Poker ICB 9-30-86)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) -GAME( 1983, jokpokerc,jokpoker, jokpokera,gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03BI 5-10-85, Poker No Raise ICB 9-30-86)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) -GAME( 1982, superbwl, 0, gselect, gselect, setbank, ROT0, "Greyhound Electronics", "Super Bowl (Version 16.03B)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) +GAME( 1982, jokpoker, 0, gselect, gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1983, jokpokera,jokpoker, jokpokera,gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03BI)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1983, jokpokerb,jokpoker, jokpokera,gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.04BI 10-19-88, Joker Poker ICB 9-30-86)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1983, jokpokerc,jokpoker, jokpokera,gselect, setbank, ROT0, "Greyhound Electronics", "Joker Poker (Version 16.03BI 5-10-85, Poker No Raise ICB 9-30-86)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1982, superbwl, 0, gselect, gselect, setbank, ROT0, "Greyhound Electronics", "Super Bowl (Version 16.03B)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1982, gs4002, 0, gselect, gselect, 0, ROT0, "Greyhound Electronics", "Selection (Version 40.02TMB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1982, gs4002a, gs4002, gselect, gselect, 0, ROT0, "Greyhound Electronics", "Selection (Version 40.02TMB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) -GAME( 1982, amuse, 0, amuse, gepoker, 0, ROT0, "Greyhound Electronics", "Amuse (Version 50.08 IBA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) -GAME( 1982, amuse1, 0, amuse1, gepoker, 0, ROT0, "Greyhound Electronics", "Amuse (Version 30.08 IBA)", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS ) +GAME( 1982, amuse, 0, amuse, gepoker, 0, ROT0, "Greyhound Electronics", "Amuse (Version 50.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1982, amuse1, 0, amuse1, gepoker, 0, ROT0, "Greyhound Electronics", "Amuse (Version 30.08 IBA)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1984, gepoker, 0, gepoker, gepoker, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1984, gepoker1, gepoker, gepoker, gepoker, 0, ROT0, "Greyhound Electronics", "Poker (Version 50.02 ICB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) @@ -1280,11 +1762,30 @@ GAME( 1984, gtsers5, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound El GAME( 1984, gtsers7, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 7)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1984, gtsersa, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Alt revision questions set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1984, gtsersb, gtsers1, getrivia, getrivia, 0, ROT0, "Greyhound Electronics", "Trivia (Alt revision questions set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1984, gtsers8, 0, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 8)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1984, gtsers9, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 9)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1984, gtsers10, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 10)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1984, gtsers11, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Questions Series 11)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1984, gt103a1, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a) (alt 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1984, gt103a2, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a) (alt 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1984, gt103a3, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a) (alt 3)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1984, gt103aa, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Alt questions)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1984, gt103asx, gtsers8, findout, gt103a, 0, ROT0, "Greyhound Electronics", "Trivia (Version 1.03a Sex questions)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1985, sextriv1, 0, getrivia, sextriv1, 0, ROT0, "Kinky Kit and Game Co.", "Sexual Trivia (Version 1.02SB, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1985, sextriv2, sextriv1, getrivia, sextriv1, 0, ROT0, "Kinky Kit and Game Co.", "Sexual Trivia (Version 1.02SB, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) -GAME( 1987, suprpokr, 0, suprpokr, suprpokr, 0, ROT0, "Grayhound Electronics", "Super Poker", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1986, gt507uk, 0, findout, gt507uk, 0, ROT0, "Grayhound Electronics", "Trivia (UK Version 5.07)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1986, gt5, 0, findout, gt103, 0, ROT0, "Grayhound Electronics", "Trivia (Version 5.06)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) + +GAME( 1986, quiz, 0, findout, quiz, 0, ROT0, "Italian bootleg", "Quiz (Revision 2)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) + +GAME( 1986, reelfun, 0, findout, reelfun, 0, ROT0, "Grayhound Electronics", "Reel Fun (Version 7.01)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) +GAME( 1987, findout, 0, findout, findout, 0, ROT0, "Elettronolo", "Find Out (Version 4.04)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) + +GAME( 1987, suprpokr, 0, suprpokr, suprpokr, 0, ROT0, "Grayhound Electronics", "Super Poker", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) + +GAME( 1991, quiz211, 0, findout, quiz, 0, ROT0, "Elettronolo", "Quiz (Revision 2.11)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1992, geimulti, 0, geimulti, geimulti, geimulti,ROT0, "Grayhound Electronics", "GEI Multi Game", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) GAME( 1992, sprtauth, 0, sprtauth, sprtauth, geimulti,ROT0, "Classic Games", "Sports Authority", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) diff --git a/src/mame/mame.mak b/src/mame/mame.mak index 86062e4500e..f20b3cd18c0 100644 --- a/src/mame/mame.mak +++ b/src/mame/mame.mak @@ -252,7 +252,6 @@ DRVLIBS = \ $(MAMEOBJ)/gameplan.a \ $(MAMEOBJ)/gametron.a \ $(MAMEOBJ)/gottlieb.a \ - $(MAMEOBJ)/greyhnd.a \ $(MAMEOBJ)/igs.a \ $(MAMEOBJ)/irem.a \ $(MAMEOBJ)/itech.a \ @@ -670,10 +669,6 @@ $(MAMEOBJ)/gottlieb.a: \ $(DRIVERS)/exterm.o $(VIDEO)/exterm.o \ $(DRIVERS)/gottlieb.o $(AUDIO)/gottlieb.o $(VIDEO)/gottlieb.o \ -$(MAMEOBJ)/greyhnd.a: \ - $(DRIVERS)/findout.o \ - $(DRIVERS)/getrivia.o \ - $(MAMEOBJ)/igs.a: \ $(DRIVERS)/cabaret.o \ $(DRIVERS)/ddz.o \ @@ -1521,6 +1516,7 @@ $(MAMEOBJ)/misc.a: \ $(DRIVERS)/funworld.o $(VIDEO)/funworld.o \ $(DRIVERS)/galaxi.o \ $(DRIVERS)/gamecstl.o \ + $(DRIVERS)/gei.o \ $(DRIVERS)/good.o \ $(DRIVERS)/goldnpkr.o \ $(DRIVERS)/gotcha.o $(VIDEO)/gotcha.o \