mirror of
https://github.com/holub/mame
synced 2025-05-29 00:53:09 +03:00
New games added or promoted from NOT_WORKING status
--------------------------------------------------- Hammer [Guru, Smitdogg, Luca Elia, The Dumping Union]
This commit is contained in:
parent
df7e346be9
commit
5ac10ad8c3
@ -43,30 +43,36 @@
|
||||
|
||||
size 220(x)mm * 210(y)mm
|
||||
|
||||
|
||||
Notes:
|
||||
|
||||
- hammer: keep test button pressed during boot for hardware tests
|
||||
|
||||
*************************************************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "sound/ymz280b.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "machine/ticket.h"
|
||||
|
||||
#define MIDAS_DEBUG 0
|
||||
static UINT16 *midas_gfxram, *midas_gfxregs;
|
||||
|
||||
static UINT16 *livequiz_gfxram, *livequiz_gfxregs;
|
||||
|
||||
static VIDEO_START( livequiz );
|
||||
static VIDEO_UPDATE( livequiz );
|
||||
static VIDEO_START( midas );
|
||||
static VIDEO_UPDATE( midas );
|
||||
|
||||
static tilemap_t *tmap;
|
||||
|
||||
static TILE_GET_INFO( get_tile_info )
|
||||
{
|
||||
UINT16 code = livequiz_gfxram[ tile_index + 0x7000 ];
|
||||
UINT16 code = midas_gfxram[ tile_index + 0x7000 ];
|
||||
SET_TILE_INFO(1, code & 0xfff, (code >> 12) & 0xf, TILE_FLIPXY( 0 ));
|
||||
}
|
||||
|
||||
static VIDEO_START( livequiz )
|
||||
static VIDEO_START( midas )
|
||||
{
|
||||
midas_gfxram = auto_alloc_array(machine, UINT16, 0x20000/2);
|
||||
|
||||
tmap = tilemap_create( machine, get_tile_info, tilemap_scan_cols,
|
||||
8,8, 0x80,0x20 );
|
||||
|
||||
@ -75,8 +81,8 @@ static VIDEO_START( livequiz )
|
||||
|
||||
static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const rectangle *cliprect)
|
||||
{
|
||||
UINT16 *s = livequiz_gfxram + 0x8000;
|
||||
UINT16 *codes = livequiz_gfxram;
|
||||
UINT16 *s = midas_gfxram + 0x8000;
|
||||
UINT16 *codes = midas_gfxram;
|
||||
|
||||
int sx_old = 0, sy_old = 0, ynum_old = 0, xzoom_old = 0;
|
||||
int xdim, ydim, xscale, yscale;
|
||||
@ -156,11 +162,11 @@ static void draw_sprites(running_machine *machine, bitmap_t *bitmap, const recta
|
||||
}
|
||||
}
|
||||
|
||||
static VIDEO_UPDATE( livequiz )
|
||||
static VIDEO_UPDATE( midas )
|
||||
{
|
||||
int layers_ctrl = -1;
|
||||
|
||||
#if MIDAS_DEBUG
|
||||
#ifdef MAME_DEBUG
|
||||
if ( input_code_pressed(screen->machine, KEYCODE_Z) )
|
||||
{
|
||||
int msk = 0;
|
||||
@ -178,7 +184,7 @@ static VIDEO_UPDATE( livequiz )
|
||||
return 0;
|
||||
}
|
||||
|
||||
static WRITE16_DEVICE_HANDLER( livequiz_eeprom_w )
|
||||
static WRITE16_DEVICE_HANDLER( midas_eeprom_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
@ -198,17 +204,17 @@ static READ16_HANDLER( ret_ffff )
|
||||
return 0xffff;
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( livequiz_gfxregs_w )
|
||||
static WRITE16_HANDLER( midas_gfxregs_w )
|
||||
{
|
||||
COMBINE_DATA( livequiz_gfxregs + offset );
|
||||
COMBINE_DATA( midas_gfxregs + offset );
|
||||
|
||||
switch( offset )
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
UINT16 addr = livequiz_gfxregs[0];
|
||||
livequiz_gfxram[addr] = data;
|
||||
livequiz_gfxregs[0] += livequiz_gfxregs[2];
|
||||
UINT16 addr = midas_gfxregs[0];
|
||||
midas_gfxram[addr] = data;
|
||||
midas_gfxregs[0] += midas_gfxregs[2];
|
||||
|
||||
if ( addr >= 0x7000 && addr <= 0x7fff ) tilemap_mark_tile_dirty(tmap, addr - 0x7000);
|
||||
|
||||
@ -217,17 +223,34 @@ static WRITE16_HANDLER( livequiz_gfxregs_w )
|
||||
}
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( mem_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
/***************************************************************************************
|
||||
Live Quiz Show
|
||||
***************************************************************************************/
|
||||
|
||||
static WRITE16_HANDLER( livequiz_coin_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
coin_counter_w(space->machine, 0, data & 0x0001);
|
||||
}
|
||||
#ifdef MAME_DEBUG
|
||||
// popmessage("coin %04X", data);
|
||||
#endif
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( livequiz_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x1fffff) AM_ROM
|
||||
|
||||
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("IN5")
|
||||
AM_RANGE(0x920000, 0x920001) AM_READ_PORT("IN2")
|
||||
AM_RANGE(0x940000, 0x940001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x980000, 0x980001) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("DSW_PLAYER1")
|
||||
AM_RANGE(0x920000, 0x920001) AM_READ_PORT("SERVICE")
|
||||
AM_RANGE(0x940000, 0x940001) AM_READ_PORT("PLAYER2")
|
||||
AM_RANGE(0x980000, 0x980001) AM_READ_PORT("START")
|
||||
|
||||
AM_RANGE(0x9a0000, 0x9a0001) AM_DEVWRITE( "eeprom", livequiz_eeprom_w )
|
||||
AM_RANGE(0x980000, 0x980001) AM_WRITE( livequiz_coin_w )
|
||||
|
||||
AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE( livequiz_gfxregs_w ) AM_BASE( &livequiz_gfxregs )
|
||||
AM_RANGE(0x9a0000, 0x9a0001) AM_DEVWRITE( "eeprom", midas_eeprom_w )
|
||||
|
||||
AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE( midas_gfxregs_w ) AM_BASE( &midas_gfxregs )
|
||||
|
||||
AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_WRITE( paletteram16_xrgb_word_be_w ) AM_BASE_GENERIC( paletteram )
|
||||
AM_RANGE(0xa40000, 0xa7ffff) AM_RAM
|
||||
@ -239,26 +262,107 @@ static ADDRESS_MAP_START( mem_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
|
||||
AM_RANGE(0xb80008, 0xb8000b) AM_DEVREADWRITE8( "ymz", ymz280b_r, ymz280b_w, 0x00ff )
|
||||
|
||||
AM_RANGE(0xba0000, 0xba0001) AM_READ_PORT("IN4")
|
||||
AM_RANGE(0xbc0000, 0xbc0001) AM_READ_PORT("IN3")
|
||||
AM_RANGE(0xba0000, 0xba0001) AM_READ_PORT("START3")
|
||||
AM_RANGE(0xbc0000, 0xbc0001) AM_READ_PORT("PLAYER3")
|
||||
|
||||
AM_RANGE(0xd00000, 0xd1ffff) AM_RAM
|
||||
AM_RANGE(0xd00000, 0xd1ffff) AM_RAM // zoom table?
|
||||
|
||||
AM_RANGE(0xe00000, 0xe3ffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
AM_RANGE(0xf90000, 0xfaffff) AM_RAM AM_BASE( &livequiz_gfxram )
|
||||
/***************************************************************************************
|
||||
Hammer
|
||||
***************************************************************************************/
|
||||
|
||||
static READ16_HANDLER( hammer_sensor_r )
|
||||
{
|
||||
if (input_port_read(space->machine, "HAMMER") & 0x80)
|
||||
return 0xffff;
|
||||
|
||||
return (input_port_read(space->machine, "SENSORY") << 8) | input_port_read(space->machine, "SENSORX");
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( hammer_coin_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
coin_counter_w(space->machine, 0, data & 0x0001);
|
||||
coin_counter_w(space->machine, 1, data & 0x0002);
|
||||
}
|
||||
#ifdef MAME_DEBUG
|
||||
// popmessage("coin %04X", data);
|
||||
#endif
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( hammer_motor_w )
|
||||
{
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
ticket_dispenser_w(devtag_get_device(space->machine, "prize1"), 0, (data & 0x0001) << 7);
|
||||
ticket_dispenser_w(devtag_get_device(space->machine, "prize2"), 0, (data & 0x0002) << 6);
|
||||
ticket_dispenser_w(devtag_get_device(space->machine, "ticket"), 0, (data & 0x0010) << 3);
|
||||
// data & 0x0080 ?
|
||||
}
|
||||
#ifdef MAME_DEBUG
|
||||
// popmessage("motor %04X", data);
|
||||
#endif
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( hammer_led_w )
|
||||
{
|
||||
#ifdef MAME_DEBUG
|
||||
// popmessage("led %04X", data);
|
||||
#endif
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( hammer_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x1fffff) AM_ROM
|
||||
|
||||
AM_RANGE(0x900000, 0x900001) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x920000, 0x920001) AM_READ_PORT("SERVICE")
|
||||
AM_RANGE(0x940000, 0x940001) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x980000, 0x980001) AM_READ_PORT("TILT")
|
||||
|
||||
AM_RANGE(0x980000, 0x980001) AM_WRITE( hammer_coin_w )
|
||||
AM_RANGE(0x9c000c, 0x9c000d) AM_WRITENOP // IRQ Ack
|
||||
AM_RANGE(0x9c000e, 0x9c000f) AM_WRITE( hammer_led_w )
|
||||
|
||||
AM_RANGE(0x9a0000, 0x9a0001) AM_DEVWRITE( "eeprom", midas_eeprom_w )
|
||||
|
||||
AM_RANGE(0x9c0000, 0x9c0005) AM_WRITE( midas_gfxregs_w ) AM_BASE( &midas_gfxregs )
|
||||
|
||||
AM_RANGE(0xa00000, 0xa3ffff) AM_RAM_WRITE( paletteram16_xrgb_word_be_w ) AM_BASE_GENERIC( paletteram )
|
||||
AM_RANGE(0xa40000, 0xa7ffff) AM_RAM
|
||||
|
||||
AM_RANGE(0xb00000, 0xb00001) AM_READ( ret_ffff )
|
||||
AM_RANGE(0xb20000, 0xb20001) AM_READ( ret_ffff )
|
||||
AM_RANGE(0xb40000, 0xb40001) AM_READ( ret_ffff )
|
||||
AM_RANGE(0xb60000, 0xb60001) AM_READ( ret_ffff )
|
||||
|
||||
AM_RANGE(0xb80008, 0xb8000b) AM_DEVREADWRITE8( "ymz", ymz280b_r, ymz280b_w, 0x00ff )
|
||||
|
||||
AM_RANGE(0xba0000, 0xba0001) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0xbc0000, 0xbc0001) AM_READ_PORT("HAMMER")
|
||||
|
||||
AM_RANGE(0xbc0002, 0xbc0003) AM_WRITE( hammer_motor_w )
|
||||
|
||||
AM_RANGE(0xbc0004, 0xbc0005) AM_READ( hammer_sensor_r )
|
||||
|
||||
AM_RANGE(0xd00000, 0xd1ffff) AM_RAM // zoom table?
|
||||
|
||||
AM_RANGE(0xe00000, 0xe3ffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static const gfx_layout layout16x16 =
|
||||
static const gfx_layout layout16x16x8 =
|
||||
{
|
||||
16,16,
|
||||
RGN_FRAC(1,4),
|
||||
8,
|
||||
{
|
||||
RGN_FRAC(3,4)+8,RGN_FRAC(3,4)+0,
|
||||
RGN_FRAC(1,4)+8,RGN_FRAC(1,4)+0,
|
||||
RGN_FRAC(2,4)+8,RGN_FRAC(2,4)+0,
|
||||
RGN_FRAC(1,4)+8,RGN_FRAC(1,4)+0,
|
||||
RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0
|
||||
},
|
||||
{ STEP8(8*16*2+7,-1), STEP8(7,-1) },
|
||||
@ -266,123 +370,26 @@ static const gfx_layout layout16x16 =
|
||||
16*16*2
|
||||
};
|
||||
|
||||
static const gfx_layout layout8x8_2 =
|
||||
static const gfx_layout layout8x8x8_2 =
|
||||
{
|
||||
8,8, /* 8 x 8 chars */
|
||||
8,8,
|
||||
RGN_FRAC(1,1),
|
||||
8, /* 4 bits per pixel */
|
||||
{ 8,9,10,11, 0,1,2,3 }, /* planes are packed in a nibble */
|
||||
8,
|
||||
{ 8,9,10,11, 0,1,2,3 },
|
||||
{ (32*2+1)*4, 32*2*4, (48*2+1)*4, 48*2*4, (0+1)*4, 0*4, (16*2+1)*4, 16*2*4 },
|
||||
{ 0*8*2, 1*8*2, 2*8*2, 3*8*2, 4*8*2, 5*8*2, 6*8*2, 7*8*2 },
|
||||
32*8*2 /* 32 bytes per char */
|
||||
|
||||
|
||||
32*8*2
|
||||
};
|
||||
|
||||
static GFXDECODE_START( midas )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x000000, layout16x16, 0, 0x100 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0x000000, layout8x8_2, 0, 0x80 )
|
||||
GFXDECODE_ENTRY( "sprites", 0, layout16x16x8, 0, 0x100 )
|
||||
GFXDECODE_ENTRY( "tiles", 0, layout8x8x8_2, 0, 0x80 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static INPUT_PORTS_START( livequiz )
|
||||
|
||||
PORT_START("IN0") // IN0
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1") // IN1
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2") // IN2
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) // EEPROM
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0040, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN3") // IN3
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(3)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN4") // IN4
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START3 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN5") // IN5 - 900000
|
||||
PORT_START("DSW_PLAYER1") // 900000
|
||||
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
@ -417,6 +424,240 @@ static INPUT_PORTS_START( livequiz )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("SERVICE") // 920000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit) // EEPROM
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0040, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("PLAYER2") // 940000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("START") // 980000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("START3") // ba0000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START3 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("PLAYER3") // bc0000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3)
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3)
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3)
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(3)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( hammer )
|
||||
|
||||
PORT_START("DSW") // 900000
|
||||
PORT_DIPNAME( 0x01, 0x01, "Debug Mode" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x06, 0x06, "Game Mode" )
|
||||
PORT_DIPSETTING( 0x06, "Prize Game" )
|
||||
PORT_DIPSETTING( 0x00, "Ticket Game 1" ) // not in manual, does not work (it requires a toggleable ticket dispenser)
|
||||
PORT_DIPSETTING( 0x04, "Ticket Game 2" )
|
||||
PORT_DIPSETTING( 0x02, "Generic Game" )
|
||||
PORT_DIPNAME( 0x08, 0x08, "Warning Sound" )
|
||||
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, "Freeze" )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("SERVICE") // 920000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eeprom_read_bit)
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0040, IP_ACTIVE_LOW )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN0") // 940000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("TILT") // 980000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_TILT )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN1") // ba0000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("HAMMER") // bc0000
|
||||
PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("prize1", ticket_dispenser_line_r) // prize 1 sensor ("tejisw 1")
|
||||
PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("prize2", ticket_dispenser_line_r) // prize 2 sensor ("tejisw 2")
|
||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("ticket", ticket_dispenser_line_r)
|
||||
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_IMPULSE(5) PORT_NAME( "Hammer" )
|
||||
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("SENSORX")
|
||||
PORT_BIT( 0xff, 0x20, IPT_LIGHTGUN_X ) PORT_MINMAX(0x00, 0x3f+1) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(8)
|
||||
|
||||
PORT_START("SENSORY")
|
||||
PORT_BIT( 0xff, 0x18, IPT_LIGHTGUN_Y ) PORT_MINMAX(0x00, 0x2f+1) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(8)
|
||||
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
@ -433,8 +674,8 @@ static const ymz280b_interface ymz280b_config =
|
||||
static MACHINE_DRIVER_START( livequiz )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 24000000 / 2)
|
||||
MDRV_CPU_PROGRAM_MAP(mem_map)
|
||||
MDRV_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2)
|
||||
MDRV_CPU_PROGRAM_MAP(livequiz_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
|
||||
|
||||
MDRV_EEPROM_93C46_ADD("eeprom")
|
||||
@ -450,12 +691,47 @@ static MACHINE_DRIVER_START( livequiz )
|
||||
MDRV_GFXDECODE(midas)
|
||||
MDRV_PALETTE_LENGTH(0x10000)
|
||||
|
||||
MDRV_VIDEO_START(livequiz)
|
||||
MDRV_VIDEO_UPDATE(livequiz)
|
||||
MDRV_VIDEO_START(midas)
|
||||
MDRV_VIDEO_UPDATE(midas)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MDRV_SOUND_ADD("ymz", YMZ280B, 16934400)
|
||||
MDRV_SOUND_ADD("ymz", YMZ280B, XTAL_16_9344MHz)
|
||||
MDRV_SOUND_CONFIG(ymz280b_config)
|
||||
MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
|
||||
MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( hammer )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, XTAL_28MHz / 2)
|
||||
MDRV_CPU_PROGRAM_MAP(hammer_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
|
||||
|
||||
MDRV_EEPROM_93C46_ADD("eeprom")
|
||||
|
||||
MDRV_TICKET_DISPENSER_ADD("prize1", 1000*5, TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW )
|
||||
MDRV_TICKET_DISPENSER_ADD("prize2", 1000*5, TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW )
|
||||
MDRV_TICKET_DISPENSER_ADD("ticket", 200, TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_LOW )
|
||||
|
||||
/* 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(320, 256)
|
||||
MDRV_SCREEN_VISIBLE_AREA(0, 320-1, 16, 256-16-1)
|
||||
|
||||
MDRV_GFXDECODE(midas)
|
||||
MDRV_PALETTE_LENGTH(0x10000)
|
||||
|
||||
MDRV_VIDEO_START(midas)
|
||||
MDRV_VIDEO_UPDATE(midas)
|
||||
|
||||
/* sound hardware */
|
||||
MDRV_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MDRV_SOUND_ADD("ymz", YMZ280B, XTAL_16_9344MHz)
|
||||
MDRV_SOUND_CONFIG(ymz280b_config)
|
||||
MDRV_SOUND_ROUTE(0, "lspeaker", 0.80)
|
||||
MDRV_SOUND_ROUTE(1, "rspeaker", 0.80)
|
||||
@ -554,17 +830,17 @@ ROM_START( livequiz )
|
||||
ROM_REGION( 0x200000, "maincpu", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "flash.u1", 0x000000, 0x200000, CRC(8ec44493) SHA1(a987886cb87ac0a744f01f2e4a7cc6d12efeaa04) )
|
||||
|
||||
ROM_REGION( 0x200000, "user1", 0 )
|
||||
ROM_REGION( 0x200000, "pic", 0 )
|
||||
ROM_LOAD( "main_pic12c508a.u27", 0x000000, 0x000400, CRC(a84f0a7e) SHA1(fb27c05fb27b98ca603697e1be214dc6c8d5f884) )
|
||||
ROM_LOAD( "sub_pic12c508a.u4", 0x000000, 0x000400, CRC(e52ebdc4) SHA1(0f3af66b5ea184e49188e74a873699324a3930f1) )
|
||||
|
||||
ROM_REGION( 0x800000, "gfx1", 0 )
|
||||
ROM_REGION( 0x800000, "sprites", 0 )
|
||||
ROM_LOAD( "flash.u15", 0x000000, 0x200000, CRC(d6eb56f1) SHA1(52d67bb25dd968c79eccb05159a578516b27e557) )
|
||||
ROM_LOAD( "flash.u16", 0x200000, 0x200000, CRC(4c9fd873) SHA1(6e185304ce29771265d3c48b0ef0e840d8bed02d) )
|
||||
ROM_LOAD( "flash.u19", 0x400000, 0x200000, CRC(daa81532) SHA1(9e66bb4639b92c3d76b7918535f55883f22f24b2) )
|
||||
ROM_LOAD( "flash.u19", 0x200000, 0x200000, CRC(daa81532) SHA1(9e66bb4639b92c3d76b7918535f55883f22f24b2) )
|
||||
ROM_LOAD( "flash.u16", 0x400000, 0x200000, CRC(4c9fd873) SHA1(6e185304ce29771265d3c48b0ef0e840d8bed02d) )
|
||||
ROM_LOAD( "flash.u20", 0x600000, 0x200000, CRC(b540a8c7) SHA1(25b9b30c7d5ff1e410ea30580017e45590542561) )
|
||||
|
||||
ROM_REGION( 0x080000, "gfx2", 0 )
|
||||
ROM_REGION( 0x080000, "tiles", 0 )
|
||||
ROM_LOAD( "27c4096.u23", 0x000000, 0x080000, CRC(25121de8) SHA1(edf24d87551639b871baf3243b452a4e2ba84107) )
|
||||
|
||||
ROM_REGION( 0x200000, "ymz", 0 )
|
||||
@ -579,4 +855,89 @@ static DRIVER_INIT( livequiz )
|
||||
rom[0x13345a/2] = 0x4e75;
|
||||
}
|
||||
|
||||
GAME( 1999, livequiz, 0, livequiz, livequiz, livequiz, ROT0, "Andamiro", "Live Quiz Show", GAME_IMPERFECT_GRAPHICS )
|
||||
/***************************************************************************************
|
||||
|
||||
Hammer
|
||||
Andamiro 2000
|
||||
|
||||
PCB Layout
|
||||
----------
|
||||
|
||||
|------------------------------|-------------------|
|
||||
|TDA1519 17358 YAC516 YMZ280B | CN1 |
|
||||
| 17558 16.9344MHz ATMEL_ATF1500 |
|
||||
| VOL 17358 | |
|
||||
| | S0.U25 |
|
||||
| MC68HC000CFN16 |
|
||||
|TD62064 | S1.U26 |
|
||||
| MIDAS-2 | |
|
||||
| DSW(8) | P.U22 A0L.U44|
|
||||
|J | LP621024 |
|
||||
|A LP621024 | A0H.U46|
|
||||
|M | LP621024 |
|
||||
|M LP621024 | A1L.U48|
|
||||
|A | LP621024 |
|
||||
| LP621024 | A1H.U50|
|
||||
| | |
|
||||
| | A2L.U45|
|
||||
| | |
|
||||
| TESTSW | A2H.U47|
|
||||
| 93C46 MIDAS-1 MIDAS-3 |
|
||||
| LP621024 28MHz | A3L.U49|
|
||||
| HM62H256 | |
|
||||
| LP621024 HM62H256 | A3H.U51|
|
||||
|------------------------------|-------------------|
|
||||
Notes:
|
||||
68000 @ 14MHz [28/2]
|
||||
YMZ280B @ 16.9344MHz
|
||||
CN1 - connector for top board
|
||||
|
||||
Top board
|
||||
---------
|
||||
|
||||
HAMMER TOP PCB VER1.2
|
||||
AMO30803
|
||||
|------------------------------------------|
|
||||
|CN19 CN14 CN15 CN13 CN22 CN23 CN20 CN21 |
|
||||
| |
|
||||
| |
|
||||
| 17558 |
|
||||
| TD62064 TD62064 17393 |
|
||||
| |
|
||||
| 24MHz CN2|
|
||||
| AT89C52 17558 |
|
||||
|PAL 17393 CN1|
|
||||
| |
|
||||
| MC7805 |
|
||||
|------------------------------------------|
|
||||
|
||||
***************************************************************************************/
|
||||
|
||||
ROM_START( hammer )
|
||||
ROM_REGION( 0x200000, "maincpu", 0 )
|
||||
ROM_LOAD16_WORD_SWAP( "p.u22", 0x000000, 0x200000, CRC(687f1596) SHA1(3dc5fb0af1e8c4f3a42ce4aad39635b1111831d8) )
|
||||
|
||||
ROM_REGION( 0x1000000, "sprites", 0 )
|
||||
ROM_LOAD( "a0l.u44", 0x000000, 0x200000, CRC(b9cafd81) SHA1(24698970d1aea0907e2963c872ce61077f44c3af) )
|
||||
ROM_LOAD( "a0h.u46", 0x200000, 0x200000, CRC(f60f188b) SHA1(486f26c473b46efb402662b2f374e361cd7b4284) )
|
||||
|
||||
ROM_LOAD( "a1l.u48", 0x400000, 0x200000, CRC(82129cf9) SHA1(6d68e943854bc9e8ea555bf03107dc9e836ca4d9) )
|
||||
ROM_LOAD( "a1h.u50", 0x600000, 0x200000, CRC(76897c90) SHA1(aded60d3db834598cd54ad9140eee7be4129cb27) )
|
||||
|
||||
ROM_LOAD( "a2l.u45", 0x800000, 0x200000, CRC(d8086ee5) SHA1(9d5f2b3a0f903a69cfd1108ddf5ea61b571c3fe3) )
|
||||
ROM_LOAD( "a2h.u47", 0xa00000, 0x200000, CRC(a64aa2df) SHA1(7e4eb049cd6a5971a455488a484f225763921614) )
|
||||
|
||||
ROM_LOAD( "a3l.u49", 0xc00000, 0x200000, CRC(4e83cf00) SHA1(e66a0b4eae0f46bf36126be3795cfac3ad3d4282) )
|
||||
ROM_LOAD( "a3h.u51", 0xe00000, 0x200000, CRC(834de39f) SHA1(6e9867180ca20e64f60bad5cad82674ce8f45b7b) )
|
||||
|
||||
ROM_REGION( 0x080000, "tiles", ROMREGION_ERASE )
|
||||
// Use the tiles rom from livequiz (not present in this set) to show some debug text
|
||||
// ROM_LOAD( "27c4096.u23", 0x000000, 0x080000, CRC(25121de8) SHA1(edf24d87551639b871baf3243b452a4e2ba84107) )
|
||||
|
||||
ROM_REGION( 0x400000, "ymz", 0 )
|
||||
ROM_LOAD( "s0.u25", 0x000000, 0x200000, CRC(c049a3e0) SHA1(0c7016c3128c170a84ad3f92fad1165775210e3d) )
|
||||
ROM_LOAD( "s1.u26", 0x200000, 0x200000, CRC(9cc4b3ec) SHA1(b91a8747074a1032eb7f70a015d394fe8e896d7e) )
|
||||
ROM_END
|
||||
|
||||
GAME( 1999, livequiz, 0, livequiz, livequiz, livequiz, ROT0, "Andamiro", "Live Quiz Show", GAME_IMPERFECT_GRAPHICS )
|
||||
GAME( 2000, hammer, 0, hammer, hammer, 0, ROT0, "Andamiro", "Hammer", 0 )
|
||||
|
@ -9377,6 +9377,7 @@ Other Sun games
|
||||
DRIVER( madzoo ) /* (c) 1995 Bordun International */
|
||||
DRIVER( leader ) /* Bootleg? */
|
||||
DRIVER( livequiz ) /* (c) 1999 Andamiro */
|
||||
DRIVER( hammer ) /* (c) 2000 Andamiro */
|
||||
DRIVER( cowrace ) /* (c) 20?? hack */
|
||||
DRIVER( kingdrbb ) /* (c) 199? hack */
|
||||
DRIVER( discoboy ) /* (c) 1993 Soft Art Co. */
|
||||
|
Loading…
Reference in New Issue
Block a user