mirror of
https://github.com/holub/mame
synced 2025-07-06 02:18:09 +03:00
Found some inputs in PT Mahjong
This commit is contained in:
parent
eafc1367bf
commit
cae3430d26
@ -711,7 +711,7 @@ static WRITE32_HANDLER( hng64_sysregs_w )
|
||||
hng64_do_dma(space);
|
||||
break;
|
||||
default:
|
||||
logerror("HNG64 reading from SYSTEM Registers 0x%08x == 0x%08x. (PC=%08x)\n", offset*4, hng64_sysregs[offset], cpu_get_pc(space->cpu));
|
||||
logerror("HNG64 writing to SYSTEM Registers 0x%08x == 0x%08x. (PC=%08x)\n", offset*4, hng64_sysregs[offset], cpu_get_pc(space->cpu));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,9 +70,19 @@ VIDEO_UPDATE( m14 )
|
||||
return 0;
|
||||
}
|
||||
|
||||
static READ8_HANDLER( test_r )
|
||||
static READ8_HANDLER( m14_rng_r )
|
||||
{
|
||||
return mame_rand(space->machine);
|
||||
/* graphic artifacts happens if this doesn't return random values. */
|
||||
return (mame_rand(space->machine) & 0x3f) | (input_port_read(space->machine, "IN2") & 0xc0);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( test_w )
|
||||
{
|
||||
static UINT8 x[5];
|
||||
|
||||
x[offset] = data;
|
||||
|
||||
popmessage("%02x %02x %02x %02x %02x",x[0],x[1],x[2],x[3],x[4]);
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( m14_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -84,13 +94,99 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( m14_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0xf8, 0xf8) AM_READ(test_r)
|
||||
AM_RANGE(0xf9, 0xf9) AM_READ(test_r)
|
||||
AM_RANGE(0xfa, 0xfa) AM_READ(test_r)
|
||||
AM_RANGE(0xfb, 0xfb) AM_READ(test_r)
|
||||
AM_RANGE(0xf8, 0xf8) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0xf9, 0xf9) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0xfa, 0xfa) AM_READ(m14_rng_r)
|
||||
AM_RANGE(0xfb, 0xfb) AM_READ_PORT("IN3")
|
||||
AM_RANGE(0xf8, 0xfc) AM_WRITE(test_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( m14 )
|
||||
PORT_START("IN0")
|
||||
PORT_DIPNAME( 0x01, 0x00, "IN0" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_DIPNAME( 0x01, 0x00, "IN1" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) //affects the medal settings
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, "Freeze" )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_DIPNAME( 0x40, 0x00, "IN2" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
|
||||
PORT_START("IN3")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Show available tiles" ) // interpret it as a difficulty setting
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Yes ) )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const gfx_layout charlayout =
|
||||
@ -118,11 +214,8 @@ static PALETTE_INIT( m14 )
|
||||
|
||||
if (i & 0x01)
|
||||
color = MAKE_RGB(pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 3));
|
||||
else if(i & 0x10)
|
||||
color = RGB_WHITE;
|
||||
else
|
||||
color = RGB_BLACK;
|
||||
|
||||
color = (i & 0x10) ? RGB_WHITE : RGB_BLACK;
|
||||
|
||||
palette_set_color(machine, i, color);
|
||||
}
|
||||
@ -137,7 +230,7 @@ static INTERRUPT_GEN( m14_irq )
|
||||
static MACHINE_DRIVER_START( m14 )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu",8085A,8000000)
|
||||
MDRV_CPU_ADD("maincpu",8085A,6000000)
|
||||
MDRV_CPU_PROGRAM_MAP(m14_map,0)
|
||||
MDRV_CPU_IO_MAP(m14_io_map,0)
|
||||
MDRV_CPU_VBLANK_INT("screen",m14_irq)
|
||||
@ -145,7 +238,7 @@ static MACHINE_DRIVER_START( m14 )
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("screen", RASTER)
|
||||
MDRV_SCREEN_REFRESH_RATE(60)
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) //not accurate
|
||||
MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MDRV_SCREEN_SIZE(32*8, 32*8)
|
||||
MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
|
||||
@ -185,4 +278,4 @@ ROM_START( ptmj )
|
||||
ROM_LOAD( "mgpa10.bin", 0x0400, 0x0400, CRC(e1a4ebdc) SHA1(d9df42424ede17f0634d8d0a56c0374a33c55333) )
|
||||
ROM_END
|
||||
|
||||
GAME( 1979, ptmj, 0, m14, m14, 0, ROT0, "Irem", "PT Mahjong Game (Japan)", GAME_NO_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 1979, ptmj, 0, m14, m14, 0, ROT0, "Irem", "PT Reach Mahjong Tsumo (Japan)", GAME_NO_SOUND|GAME_NOT_WORKING )
|
||||
|
Loading…
Reference in New Issue
Block a user