mirror of
https://github.com/holub/mame
synced 2025-05-30 09:33:05 +03:00
Added proper MCU dump for Black Tiger. [Dr. Decapitator, Guru, Angelo Salese]
=============================================================================== Notice that I'm not sure about who I should properly credit for the dump (Dr. Decapitator or Decapping Project?).
This commit is contained in:
parent
8935dc57ef
commit
f35a64163e
@ -16,6 +16,7 @@ Notes:
|
||||
#include "driver.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/2203intf.h"
|
||||
#include "cpu/mcs51/mcs51.h"
|
||||
|
||||
|
||||
extern UINT8 *blktiger_txvideoram;
|
||||
@ -36,16 +37,40 @@ VIDEO_UPDATE( blktiger );
|
||||
VIDEO_EOF( blktiger );
|
||||
|
||||
|
||||
/**************************************************
|
||||
|
||||
/* this is a protection check. The game crashes (thru a jump to 0x8000) */
|
||||
/* if a read from this address doesn't return the value it expects. */
|
||||
static READ8_HANDLER( blktiger_protection_r )
|
||||
Protection comms between main cpu and i8751
|
||||
|
||||
**************************************************/
|
||||
|
||||
static UINT8 latch,prot_latch;
|
||||
|
||||
static READ8_HANDLER( blktiger_from_mcu_r )
|
||||
{
|
||||
int data = cpu_get_reg(space->cpu, Z80_DE) >> 8;
|
||||
logerror("protection read, PC: %04x Result:%02x\n",cpu_get_pc(space->cpu),data);
|
||||
return data;
|
||||
return prot_latch;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( blktiger_to_mcu_w )
|
||||
{
|
||||
cputag_set_input_line(space->machine, "mcu", MCS51_INT1_LINE, ASSERT_LINE);
|
||||
latch = data;
|
||||
}
|
||||
|
||||
static READ8_HANDLER( blktiger_from_main_r )
|
||||
{
|
||||
cputag_set_input_line(space->machine, "mcu", MCS51_INT1_LINE, CLEAR_LINE);
|
||||
//printf("%02x read\n",latch);
|
||||
return latch;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( blktiger_to_main_w )
|
||||
{
|
||||
//printf("%02x write\n",data);
|
||||
prot_latch = data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static WRITE8_HANDLER( blktiger_bankswitch_w )
|
||||
{
|
||||
memory_set_bank(space->machine, 1, data & 0x0f);
|
||||
@ -61,7 +86,7 @@ static WRITE8_HANDLER( blktiger_coinlockout_w )
|
||||
}
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( mem_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
static ADDRESS_MAP_START( blktiger_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_READWRITE(SMH_BANK(1), SMH_ROM)
|
||||
AM_RANGE(0xc000, 0xcfff) AM_READWRITE(blktiger_bgvideoram_r, blktiger_bgvideoram_w)
|
||||
@ -72,7 +97,7 @@ static ADDRESS_MAP_START( mem_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 )
|
||||
static ADDRESS_MAP_START( blktiger_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(blktiger_bankswitch_w)
|
||||
@ -81,7 +106,7 @@ static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE(blktiger_video_control_w)
|
||||
AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE")
|
||||
AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0x07, 0x07) AM_READ(blktiger_protection_r) AM_WRITENOP /* Software protection (7) */
|
||||
AM_RANGE(0x07, 0x07) AM_READWRITE(blktiger_from_mcu_r,blktiger_to_mcu_w) /* Software protection (7) */
|
||||
AM_RANGE(0x08, 0x09) AM_WRITE(blktiger_scrollx_w)
|
||||
AM_RANGE(0x0a, 0x0b) AM_WRITE(blktiger_scrolly_w)
|
||||
AM_RANGE(0x0c, 0x0c) AM_WRITE(blktiger_video_enable_w)
|
||||
@ -89,7 +114,24 @@ static ADDRESS_MAP_START( port_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x0e, 0x0e) AM_WRITE(blktiger_screen_layout_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( sound_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
static ADDRESS_MAP_START( blktigerbl_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xff)
|
||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(soundlatch_w)
|
||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(blktiger_bankswitch_w)
|
||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
|
||||
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(blktiger_coinlockout_w)
|
||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW1") AM_WRITE(blktiger_video_control_w)
|
||||
AM_RANGE(0x05, 0x05) AM_READ_PORT("FREEZE")
|
||||
AM_RANGE(0x06, 0x06) AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0x07, 0x07) AM_NOP /* Software protection (7) */
|
||||
AM_RANGE(0x08, 0x09) AM_WRITE(blktiger_scrollx_w)
|
||||
AM_RANGE(0x0a, 0x0b) AM_WRITE(blktiger_scrolly_w)
|
||||
AM_RANGE(0x0c, 0x0c) AM_WRITE(blktiger_video_enable_w)
|
||||
AM_RANGE(0x0d, 0x0d) AM_WRITE(blktiger_bgvideoram_bank_w)
|
||||
AM_RANGE(0x0e, 0x0e) AM_WRITE(blktiger_screen_layout_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( blktiger_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
|
||||
@ -97,6 +139,16 @@ static ADDRESS_MAP_START( sound_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xe002, 0xe003) AM_DEVREADWRITE("ym2", ym2203_r, ym2203_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( blktiger_mcu_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( blktiger_mcu_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(MCS51_PORT_P0,MCS51_PORT_P0) AM_READWRITE(blktiger_from_main_r,blktiger_to_main_w)
|
||||
/* other ports unknown */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
static INPUT_PORTS_START( blktiger )
|
||||
PORT_START("IN0") /* IN0 */
|
||||
@ -251,12 +303,17 @@ static MACHINE_DRIVER_START( blktiger )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, XTAL_24MHz/4) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(mem_map, 0)
|
||||
MDRV_CPU_IO_MAP(port_map, 0)
|
||||
MDRV_CPU_PROGRAM_MAP(blktiger_map, 0)
|
||||
MDRV_CPU_IO_MAP(blktiger_io_map, 0)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MDRV_CPU_ADD("audiocpu", Z80, XTAL_3_579545MHz) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(sound_mem_map, 0)
|
||||
MDRV_CPU_PROGRAM_MAP(blktiger_sound_map, 0)
|
||||
|
||||
MDRV_CPU_ADD("mcu", I8751, XTAL_24MHz/4) /* ??? */
|
||||
MDRV_CPU_PROGRAM_MAP(blktiger_mcu_map,0)
|
||||
MDRV_CPU_IO_MAP(blktiger_mcu_io_map,0)
|
||||
//MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
||||
MDRV_MACHINE_START(blktiger)
|
||||
|
||||
@ -288,6 +345,13 @@ static MACHINE_DRIVER_START( blktiger )
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.15)
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
static MACHINE_DRIVER_START( blktigerbl )
|
||||
MDRV_IMPORT_FROM(blktiger)
|
||||
MDRV_CPU_MODIFY("maincpu")
|
||||
MDRV_CPU_IO_MAP(blktigerbl_io_map, 0)
|
||||
|
||||
MDRV_CPU_REMOVE("mcu")
|
||||
MACHINE_DRIVER_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -306,6 +370,9 @@ ROM_START( blktiger )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
|
||||
ROM_REGION( 0x10000, "mcu", 0 )
|
||||
ROM_LOAD( "bd.5k", 0x0000, 0x1000, CRC(ac7d14f1) SHA1(46fd6b43f10312e3e8d3c9e0c0fd616af98fdbad) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "bd-15.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */
|
||||
|
||||
@ -405,6 +472,9 @@ ROM_START( blkdrgon )
|
||||
ROM_REGION( 0x10000, "audiocpu", 0 )
|
||||
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
|
||||
|
||||
ROM_REGION( 0x10000, "mcu", 0 )
|
||||
ROM_LOAD( "bd.5k", 0x0000, 0x1000, CRC(ac7d14f1) SHA1(46fd6b43f10312e3e8d3c9e0c0fd616af98fdbad) )
|
||||
|
||||
ROM_REGION( 0x08000, "gfx1", ROMREGION_DISPOSE )
|
||||
ROM_LOAD( "blkdrgon.2n", 0x00000, 0x08000, CRC(3821ab29) SHA1(576f1839f63b0cad6b851d6e6a3e9dec21ac811d) ) /* characters */
|
||||
|
||||
@ -461,9 +531,8 @@ ROM_START( blkdrgnb )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
||||
GAME( 1987, blktiger, 0, blktiger, blktiger, 0, ROT0, "Capcom", "Black Tiger", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, bktigrb1, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg set 1)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, bktigrb2, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg set 2)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Dragon", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, blkdrgnb, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Dragon (bootleg)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, blktiger, 0, blktiger, blktiger, 0, ROT0, "Capcom", "Black Tiger", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, bktigrb1, blktiger, blktigerbl, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg set 1)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, bktigrb2, blktiger, blktigerbl, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg set 2)", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Dragon", GAME_SUPPORTS_SAVE )
|
||||
GAME( 1987, blkdrgnb, blktiger, blktigerbl, blktiger, 0, ROT0, "bootleg", "Black Dragon (bootleg)", GAME_SUPPORTS_SAVE )
|
||||
|
@ -1013,6 +1013,117 @@ static INPUT_PORTS_START( naomi )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_CHANGED(dc_coin_slots_callback, &dc_coin_counts[1])
|
||||
INPUT_PORTS_END
|
||||
|
||||
/* JVS mahjong panel */
|
||||
static INPUT_PORTS_START( naomi_mp )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Service")
|
||||
PORT_SERVICE_NO_TOGGLE( 0x01, IP_ACTIVE_LOW )
|
||||
PORT_START("IN1")
|
||||
PORT_DIPNAME( 0x01, 0x00, "SYSA" )
|
||||
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("IN2")
|
||||
PORT_DIPNAME( 0x01, 0x00, "SYSB" )
|
||||
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("IN3")
|
||||
PORT_DIPNAME( 0x01, 0x00, "SYSC" )
|
||||
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("IN4")
|
||||
PORT_DIPNAME( 0x01, 0x00, "SYSD" )
|
||||
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("COINS")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_CHANGED(dc_coin_slots_callback, &dc_coin_counts[0])
|
||||
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_CHANGED(dc_coin_slots_callback, &dc_coin_counts[1])
|
||||
INPUT_PORTS_END
|
||||
|
||||
static MACHINE_RESET( naomi )
|
||||
{
|
||||
MACHINE_RESET_CALL(dc);
|
||||
@ -3150,10 +3261,10 @@ GAME( 1998, naomi, 0, naomi, naomi, naomi, ROT0, "Sega",
|
||||
|
||||
/* 841-xxxxx ("Licensed by Sega" games)*/
|
||||
/* 0001C */ GAME( 1999, pstone, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Power Stone (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
/* 0002C */ GAME( 1999, suchie3, naomi, naomi, naomi, naomi_mp, ROT0, "Jaleco", "Idol Janshi Suchie-Pai 3 (JPN)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
/* 0002C */ GAME( 1999, suchie3, naomi, naomi, naomi_mp, naomi_mp, ROT0, "Jaleco", "Idol Janshi Suchie-Pai 3 (JPN)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
/* 0003C */ GAME( 1999, doa2, naomi, naomi, naomi, naomi, ROT0, "Tecmo", "Dead or Alive 2 (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
/* 0003C */ GAME( 2000, doa2m, doa2, naomi, naomi, naomi, ROT0, "Tecmo", "Dead or Alive 2 Millennium (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
/* 0004C */ GAME( 1999, shangril, naomi, naomi, naomi, naomi_mp, ROT0, "Marvelous Ent.", "Dengen Tenshi Taisen Janshi Shangri-la (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
/* 0004C */ GAME( 1999, shangril, naomi, naomi, naomi_mp, naomi_mp, ROT0, "Marvelous Ent.", "Dengen Tenshi Taisen Janshi Shangri-la (JPN, USA, EXP, KOR, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
/* 0005C */ GAME( 1999, spawn, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Spawn (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
/* 0007C */ GAME( 2000, mvsc2, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Marvel vs. Capcom 2 (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
/* 0008C */ GAME( 2000, pstone2, naomi, naomi, naomi, naomi, ROT0, "Capcom", "Power Stone 2 (JPN, USA, EUR, ASI, AUS)", GAME_UNEMULATED_PROTECTION|GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
@ -3990,94 +4101,94 @@ ROM_END
|
||||
|
||||
|
||||
/* Naomi GD-Rom Sets */
|
||||
GAME( 2001, naomigd, 0, naomi, naomi, naomi, ROT0, "Sega", "Naomi GD-ROM Bios", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
|
||||
GAME( 2001, naomigd, 0, naomi, naomi, naomi, ROT0, "Sega", "Naomi GD-ROM Bios", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING|GAME_IS_BIOS_ROOT )
|
||||
|
||||
/* GDL-xxxx ("licensed by Sega" games) */
|
||||
GAME( 2001, gundmgd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom", "Mobile Suit Gundam: Federation VS Zeon (GDL-0001)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, sfz3ugd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom", "Street Fighter Zero 3 Upper (GDL-0002)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, gundmgd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom", "Mobile Suit Gundam: Federation VS Zeon (GDL-0001)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, sfz3ugd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom", "Street Fighter Zero 3 Upper (GDL-0002)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0003
|
||||
GAME( 2001, cvsgd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom / SNK", "Capcom vs SNK Millenium Fight 2000 Pro (GDL-0004)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, cvsgd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom / SNK", "Capcom vs SNK Millenium Fight 2000 Pro (GDL-0004)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0005 Doki Doki Idol Star Seeker
|
||||
GAME( 2001, gundmxgd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom", "Mobile Suit Gundam: Federation VS Zeon DX (GDL-0006)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, gundmxgd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom", "Mobile Suit Gundam: Federation VS Zeon DX (GDL-0006)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0007 Capcom vs SNK 2
|
||||
GAME( 2001, cvs2gd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom / SNK", "Capcom vs SNK 2 Millionaire Fighting 2001 (Rev A) (GDL-0007A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, cvs2gd, naomigd, naomigd, naomi, naomi, ROT0, "Capcom / SNK", "Capcom vs SNK 2 Millionaire Fighting 2001 (Rev A) (GDL-0007A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0008 Capcom vs SNK 2 Mark Of The Millenium 2001 (Export)
|
||||
//GDL-0009
|
||||
GAME( 2001, ikaruga, naomigd, naomigd, naomi, naomi, ROT270, "Treasure", "Ikaruga (GDL-0010)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, ggxx, naomigd, naomigd, naomi, ggxx, ROT0, "Arc System Works", "Guilty Gear XX (GDL-0011)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, ikaruga, naomigd, naomigd, naomi, naomi, ROT270, "Treasure", "Ikaruga (GDL-0010)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, ggxx, naomigd, naomigd, naomi, ggxx, ROT0, "Arc System Works", "Guilty Gear XX (GDL-0011)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0012 Cleopatra Fortune Plus
|
||||
GAME( 2002, moeru, naomigd, naomigd, naomi, naomi, ROT0, "Altron", "Moeru Casinyo (GDL-0013)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, moeru, naomigd, naomigd, naomi, naomi, ROT0, "Altron", "Moeru Casinyo (GDL-0013)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0014 Musapey's Choco Marker
|
||||
GAME( 2002, chocomk, naomigd, naomigd, naomi, naomi, ROT0, "Ecole Software", "Musapey's Choco Marker (Rev A) (GDL-0014A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, chocomk, naomigd, naomigd, naomi, naomi, ROT0, "Ecole Software", "Musapey's Choco Marker (Rev A) (GDL-0014A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0015 Mazan
|
||||
//GDL-0016 Yonin Uchi Mahjong MJ
|
||||
GAME( 2002, quizqgd, naomigd, naomigd, naomi, naomi, ROT270, "Amedio (Taito license)", "Quiz Keitai Q mode (GDL-0017)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, quizqgd, naomigd, naomigd, naomi, naomi, ROT270, "Amedio (Taito license)", "Quiz Keitai Q mode (GDL-0017)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0018 Azumanga Daioh Puzzle Bobble
|
||||
//GDL-0019 Guilty Gear XX #Reload
|
||||
GAME( 2003, ggxxrl, naomigd, naomigd, naomi, ggxxrl, ROT0, "Arc System Works", "Guilty Gear XX #Reload (Rev A) (GDL-0019A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 200?, tetkiwam, naomigd, naomigd, naomi, naomi, ROT0, "Success", "Tetris Kiwamemichi (GDL-0020)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2003, shikgam2, naomigd, naomigd, naomi, naomi, ROT270, "Alpha System", "Shikigami No Shiro II / The Castle of Shikigami II (GDL-0021)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2003, usagui, naomigd, naomigd, naomi, naomi_mp,ROT0, "Warashi / Taito / Mahjong Kobo", "Usagi - Yamashiro Mahjong Hen (GDL-0022)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2003, ggxxrl, naomigd, naomigd, naomi, ggxxrl, ROT0, "Arc System Works", "Guilty Gear XX #Reload (Rev A) (GDL-0019A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 200?, tetkiwam, naomigd, naomigd, naomi, naomi, ROT0, "Success", "Tetris Kiwamemichi (GDL-0020)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2003, shikgam2, naomigd, naomigd, naomi, naomi, ROT270, "Alpha System", "Shikigami No Shiro II / The Castle of Shikigami II (GDL-0021)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2003, usagui, naomigd, naomigd, naomi_mp, naomi_mp,ROT0, "Warashi / Taito / Mahjong Kobo", "Usagi - Yamashiro Mahjong Hen (GDL-0022)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0023 Border Down
|
||||
GAME( 2004, bdrdown, naomigd, naomigd, naomi, naomi, ROT0, "G-Rev", "Border Down (Rev A) (GDL-0023A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2003, psyvar2, naomigd, naomigd, naomi, naomi, ROT270, "G-Rev", "Psyvariar 2 - The Will To Fabricate (GDL-0024)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2004, cfield, naomigd, naomigd, naomi, naomi, ROT0, "Able", "Chaos Field (GDL-0025)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2004, trizeal, naomigd, naomigd, naomi, naomi, ROT270, "Taito", "Trizeal (GDL-0026)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2004, bdrdown, naomigd, naomigd, naomi, naomi, ROT0, "G-Rev", "Border Down (Rev A) (GDL-0023A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2003, psyvar2, naomigd, naomigd, naomi, naomi, ROT270, "G-Rev", "Psyvariar 2 - The Will To Fabricate (GDL-0024)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2004, cfield, naomigd, naomigd, naomi, naomi, ROT0, "Able", "Chaos Field (GDL-0025)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2004, trizeal, naomigd, naomigd, naomi, naomi, ROT270, "Taito", "Trizeal (GDL-0026)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0027 Melty Blood Act Cadenza?
|
||||
//GDL-0028 Melty Blood Act Cadenza Ver A
|
||||
//GDL-0028A Melty Blood Act Cadenza Ver A (Rev A)
|
||||
//GDL-0028B Melty Blood Act Cadenza Ver A (Rev B)
|
||||
GAME( 2005, meltybld, naomigd, naomigd, naomi, naomi, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver A (Rev C) (GDL-0028C)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, meltybld, naomigd, naomigd, naomi, naomi, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver A (Rev C) (GDL-0028C)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0029
|
||||
GAME( 2005, senko, naomigd, naomigd, naomi, naomi, ROT0, "G-Rev", "Senko No Ronde NEW ver. (Rev A) (GDL-0030A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, senkoo, senko, naomigd, naomi, naomi, ROT0, "G-Rev", "Senko No Ronde (GDL-0030)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, senko, naomigd, naomigd, naomi, naomi, ROT0, "G-Rev", "Senko No Ronde NEW ver. (Rev A) (GDL-0030A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, senkoo, senko, naomigd, naomi, naomi, ROT0, "G-Rev", "Senko No Ronde (GDL-0030)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0031 Super Shanghai 2005
|
||||
GAME( 2005, ss2005, naomigd, naomigd, naomi, naomi, ROT0, "Starfish", "Super Shanghai 2005 (Rev A) (GDL-0031A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, radirgy, naomigd, naomigd, naomi, naomi, ROT270, "Milestone", "Radirgy (GDL-0032)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, ss2005, naomigd, naomigd, naomi, naomi, ROT0, "Starfish", "Super Shanghai 2005 (Rev A) (GDL-0031A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, radirgy, naomigd, naomigd, naomi, naomi, ROT270, "Milestone", "Radirgy (GDL-0032)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0033 Guilty Gear XX Slash
|
||||
GAME( 2005, ggxxsla, naomigd, naomigd, naomi, ggxxsla, ROT0, "Arc System Works", "Guilty Gear XX Slash (Rev A) (GDL-0033A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2006, kurucham, naomigd, naomigd, naomi, naomi, ROT0, "Able", "Kurukuru Chameleon (GDL-0034)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, undefeat, naomigd, naomigd, naomi, naomi, ROT270, "G-Rev", "Under Defeat (GDL-0035)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, ggxxsla, naomigd, naomigd, naomi, ggxxsla, ROT0, "Arc System Works", "Guilty Gear XX Slash (Rev A) (GDL-0033A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2006, kurucham, naomigd, naomigd, naomi, naomi, ROT0, "Able", "Kurukuru Chameleon (GDL-0034)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, undefeat, naomigd, naomigd, naomi, naomi, ROT270, "G-Rev", "Under Defeat (GDL-0035)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0036 Trigger Heart Exelica
|
||||
GAME( 2005, trgheart, naomigd, naomigd, naomi, naomi, ROT270, "Warashi", "Trigger Heart Exelica (Rev A) (GDL-0036A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, jingystm, naomigd, naomigd, naomi, naomi, ROT0, "Atrativa Japan", "Jingi Storm - The Arcade (GDL-0037)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, trgheart, naomigd, naomigd, naomi, naomi, ROT270, "Warashi", "Trigger Heart Exelica (Rev A) (GDL-0036A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2005, jingystm, naomigd, naomigd, naomi, naomi, ROT0, "Atrativa Japan", "Jingi Storm - The Arcade (GDL-0037)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0038 Senko No Ronde Special
|
||||
GAME( 2006, meltyb, naomigd, naomigd, naomi, naomi, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver B (GDL-0039)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2006, meltyba, meltyb, naomigd, naomi, naomi, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver B (Rev A) (GDL-0039A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2006, karous, naomigd, naomigd, naomi, naomi, ROT270, "Milestone", "Karous (GDL-0040)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2006, meltyb, naomigd, naomigd, naomi, naomi, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver B (GDL-0039)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2006, meltyba, meltyb, naomigd, naomi, naomi, ROT0, "Ecole Software", "Melty Blood Act Cadenza Ver B (Rev A) (GDL-0039A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2006, karous, naomigd, naomigd, naomi, naomi, ROT270, "Milestone", "Karous (GDL-0040)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDL-0041 Guilty Gear XX Accent Core
|
||||
GAME( 2006, takoron, naomigd, naomigd, naomi, naomi, ROT0, "Compile", "Noukone Puzzle Takoron (GDL-0042)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2006, takoron, naomigd, naomigd, naomi, naomi, ROT0, "Compile", "Noukone Puzzle Takoron (GDL-0042)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
|
||||
|
||||
/* GDS-xxxx (Sega first party games) */
|
||||
GAME( 2001, confmiss, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Confidential Mission (GDS-0001)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, confmiss, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Confidential Mission (GDS-0001)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDS-0002 Shakatto Tambourine
|
||||
GAME( 2000, sprtjam, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Sports Jam (GDS-0003)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2000, slashout, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Slashout (GDS-0004)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, spkrbtl, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Spikers Battle (GDS-0005)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2000, sprtjam, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Sports Jam (GDS-0003)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2000, slashout, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Slashout (GDS-0004)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, spkrbtl, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Spikers Battle (GDS-0005)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDS-0006 Virtua Striker 3 (NAOMI 2)
|
||||
//GDS-0007 Shakatto Tambourine Motto Norinori Shinkyoku Tsuika
|
||||
GAME( 2001, monkeyba, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Monkey Ball (GDS-0008)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, dygolf, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Virtua Golf / Dynamic Golf (GDS-0009)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, wsbbgd, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "World Series Baseball / Super Major League (GDS-0010)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, vtennisg, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Virtua Tennis (GDS-0011)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, monkeyba, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Monkey Ball (GDS-0008)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, dygolf, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Virtua Golf / Dynamic Golf (GDS-0009)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, wsbbgd, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "World Series Baseball / Super Major League (GDS-0010)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, vtennisg, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Virtua Tennis (GDS-0011)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDS-0012 Virtua Fighter 4 (NAOMI 2)
|
||||
//GDS-0013
|
||||
//GDS-0014 Beach Spikers (NAOMI 2)
|
||||
//GDS-0015 Virtua Tennis 2 / Power Smash 2
|
||||
GAME( 2001, vtennis2, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Virtua Tennis 2 (Rev A) (GDS-0015A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, vtennis2, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Virtua Tennis 2 (Rev A) (GDS-0015A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDS-0016 Shakatto Tambourine Cho Powerup Chu
|
||||
GAME( 2001, keyboard, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "La Keyboardxyu (GDS-0017)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, lupinsho, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Lupin The Third - The Shooting (GDS-0018)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, vathlete, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Virtua Athletics / Virtua Athlete (GDS-0019)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, keyboard, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "La Keyboardxyu (GDS-0017)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, lupinsho, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Lupin The Third - The Shooting (GDS-0018)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, vathlete, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Virtua Athletics / Virtua Athlete (GDS-0019)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDS-0020 Initial D Arcade Stage (Japan) (NAOMI 2)
|
||||
//GDS-0021 Lupin The Third - The Typing
|
||||
GAME( 2002, luptype, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Lupin The Third - The Typing (Rev A) (GDS-0021A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, mok, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "The Maze of the Kings (GDS-0022)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, luptype, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Lupin The Third - The Typing (Rev A) (GDS-0021A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2002, mok, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "The Maze of the Kings (GDS-0022)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDS-0023 Naomi DIMM Firmware Updater
|
||||
GAME( 2001, ngdup23a, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Naomi DIMM Firmware Updater (GDS-0023A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, ngdup23a, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Naomi DIMM Firmware Updater (GDS-0023A)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDS-0023B Naomi DIMM Firmware Updater
|
||||
GAME( 2001, ngdup23c, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Naomi DIMM Firmware Updater (GDS-0023C)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2001, ngdup23c, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Naomi DIMM Firmware Updater (GDS-0023C)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDS-0024 Virtua Fighter 4 Evolution (NAOMI 2)
|
||||
//GDS-0025 Initial D Arcade Stage (Export) (NAOMI 2)
|
||||
//GDS-0026 Initial D Arcade Stage Ver. 2 (Japan) (NAOMI 2)
|
||||
@ -4085,7 +4196,7 @@ GAME( 2001, ngdup23c, naomigd, naomigd, naomi, naomi, ROT0, "Sega",
|
||||
//GDS-0028
|
||||
//GDS-0029
|
||||
//GDS-0030
|
||||
GAME( 2003, puyofev, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Puyo Puyo Fever (GDS-0031)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
GAME( 2003, puyofev, naomigd, naomigd, naomi, naomi, ROT0, "Sega", "Puyo Puyo Fever (GDS-0031)", GAME_IMPERFECT_GRAPHICS|GAME_IMPERFECT_SOUND|GAME_NOT_WORKING )
|
||||
//GDS-0032 Initial D Arcade Stage Ver. 3 (Japan)
|
||||
//GDS-0033 Initial D Arcade Stage Ver. 3 (Export)
|
||||
//GDS-0034
|
||||
|
@ -253,13 +253,24 @@ The function packets goes like this:
|
||||
[2] Parameter of the device
|
||||
[3] End flag (always zero)
|
||||
******************************************************/
|
||||
static int jvs_mux_data;
|
||||
|
||||
static int jvsboard_init(int pos)
|
||||
{
|
||||
// four bytes for every available function
|
||||
//1 digital inputs
|
||||
maple0x86data2[pos+10]=1;
|
||||
maple0x86data2[pos+11]=2; // number of players
|
||||
maple0x86data2[pos+12]=9+4; // switches per player (27 = mahjong)
|
||||
if(jvsboard_type == JVSBD_MAHJONG)
|
||||
{
|
||||
maple0x86data2[pos+11]=1; // number of players
|
||||
maple0x86data2[pos+12]=22; // switches per player (27 = mahjong)
|
||||
jvs_mux_data = 1;
|
||||
}
|
||||
else //if JVSBD_DEFAULT
|
||||
{
|
||||
maple0x86data2[pos+11]=2; // number of players
|
||||
maple0x86data2[pos+12]=9+4; // switches per player (27 = mahjong)
|
||||
}
|
||||
maple0x86data2[pos+13]=0;
|
||||
//2 coin slots
|
||||
maple0x86data2[pos+14]=2;
|
||||
@ -286,16 +297,36 @@ static int jvsboard_init(int pos)
|
||||
return 13;
|
||||
}
|
||||
|
||||
static void jvsboard_indirect_read(running_machine *machine, int pos)
|
||||
static int jvsboard_indirect_read(running_machine *machine, int pos)
|
||||
{
|
||||
// report1,jvsbytes repeated for each function
|
||||
//1 digital inputs
|
||||
maple0x86data2[pos+ 9]=1; // report
|
||||
maple0x86data2[pos+10]=0; // bits TEST TILT1 TILT2 TILT3 ? ? ? ?
|
||||
maple0x86data2[pos+11]=input_port_read(machine, "IN1"); // bits 1Pstart 1Pservice 1Pup 1Pdown 1Pleft 1Pright 1Ppush1 1Ppush2
|
||||
maple0x86data2[pos+12]=input_port_read(machine, "IN2"); // bits 1Ppush3 1Ppush4 1Ppush5 1Ppush6 1Ppush7 1Ppush8 ...
|
||||
maple0x86data2[pos+13]=input_port_read(machine, "IN3"); // bits 2Pstart 2Pservice 2Pup 2Pdown 2Pleft 2Pright 2Ppush1 2Ppush2
|
||||
maple0x86data2[pos+14]=input_port_read(machine, "IN4"); // bits 2Ppush3 2Ppush4 2Ppush5 2Ppush6 2Ppush7 2Ppush8 ...
|
||||
if(jvsboard_type == JVSBD_MAHJONG)
|
||||
{
|
||||
maple0x86data2[pos+11]=0;
|
||||
switch(jvs_mux_data)
|
||||
{
|
||||
case 0x01: maple0x86data2[pos+12]=input_port_read(machine, "IN1"); break;
|
||||
case 0x02: maple0x86data2[pos+12]=input_port_read(machine, "IN2"); break;
|
||||
case 0x04: maple0x86data2[pos+12]=input_port_read(machine, "IN3"); break;
|
||||
case 0x08: maple0x86data2[pos+12]=input_port_read(machine, "IN4"); break;
|
||||
case 0x10: maple0x86data2[pos+12]=0; break;
|
||||
}
|
||||
maple0x86data2[pos+13]=0;
|
||||
maple0x86data2[pos+14]=0;
|
||||
|
||||
jvs_mux_data<<=1;
|
||||
if(jvs_mux_data >= 0x20) { jvs_mux_data = 1; }
|
||||
}
|
||||
else
|
||||
{
|
||||
maple0x86data2[pos+11]=input_port_read(machine, "IN1"); // bits 1Pstart 1Pservice 1Pup 1Pdown 1Pleft 1Pright 1Ppush1 1Ppush2
|
||||
maple0x86data2[pos+12]=input_port_read(machine, "IN2"); // bits 1Ppush3 1Ppush4 1Ppush5 1Ppush6 1Ppush7 1Ppush8 ...
|
||||
maple0x86data2[pos+13]=input_port_read(machine, "IN3"); // bits 2Pstart 2Pservice 2Pup 2Pdown 2Pleft 2Pright 2Ppush1 2Ppush2
|
||||
maple0x86data2[pos+14]=input_port_read(machine, "IN4"); // bits 2Ppush3 2Ppush4 2Ppush5 2Ppush6 2Ppush7 2Ppush8 ...
|
||||
}
|
||||
//2 coin slots
|
||||
maple0x86data2[pos+15]=1; // report
|
||||
maple0x86data2[pos+16]=(dc_coin_counts[0] >> 8) & 0xff; // 1CONDITION, 1SLOT COIN(bit13-8)
|
||||
@ -309,6 +340,8 @@ static void jvsboard_indirect_read(running_machine *machine, int pos)
|
||||
maple0x86data2[pos+23]=0; // channel 2 bits 7-0
|
||||
maple0x86data2[pos+24]=0xff; // channel 2
|
||||
//4 rotary
|
||||
maple0x86data2[pos+25]=0;
|
||||
maple0x86data2[pos+26]=0;
|
||||
//5 keyboard
|
||||
//6 (touch?) screen
|
||||
//7 card reader
|
||||
@ -317,6 +350,9 @@ static void jvsboard_indirect_read(running_machine *machine, int pos)
|
||||
//10 analog out
|
||||
//11 character
|
||||
//12 backup
|
||||
|
||||
maple0x86data2[pos+7]=17+2;
|
||||
return 17;
|
||||
}
|
||||
|
||||
static int jvsboard_direct_read(running_machine *machine)
|
||||
@ -333,11 +369,24 @@ static int jvsboard_direct_read(running_machine *machine)
|
||||
/* read the inputs */
|
||||
//1 digital inputs
|
||||
maple0x86data2[0x1a]=1;
|
||||
maple0x86data2[0x1b]=2; //number of players
|
||||
maple0x86data2[0x1c]=input_port_read(machine, "IN1");
|
||||
maple0x86data2[0x1d]=input_port_read(machine, "IN2");
|
||||
maple0x86data2[0x1e]=input_port_read(machine, "IN3");
|
||||
maple0x86data2[0x1f]=input_port_read(machine, "IN4");
|
||||
if(jvsboard_type == JVSBD_MAHJONG)
|
||||
maple0x86data2[0x1b]=1; //number of players
|
||||
else //if JVSBD_DEFAULT
|
||||
maple0x86data2[0x1b]=2; //number of players
|
||||
if(jvsboard_type == JVSBD_MAHJONG)
|
||||
{
|
||||
maple0x86data2[0x1c]=input_port_read(machine, "IN1");
|
||||
maple0x86data2[0x1d]=input_port_read(machine, "IN2");
|
||||
maple0x86data2[0x1e]=input_port_read(machine, "IN3");
|
||||
maple0x86data2[0x1f]=input_port_read(machine, "IN4");
|
||||
}
|
||||
else
|
||||
{
|
||||
maple0x86data2[0x1c]=input_port_read(machine, "IN1");
|
||||
maple0x86data2[0x1d]=input_port_read(machine, "IN2");
|
||||
maple0x86data2[0x1e]=input_port_read(machine, "IN3");
|
||||
maple0x86data2[0x1f]=input_port_read(machine, "IN4");
|
||||
}
|
||||
//2 coin slots
|
||||
maple0x86data2[0x20]=1;
|
||||
maple0x86data2[0x21]=(dc_coin_counts[0] >> 8) & 0xff; //coin counter read-back hi byte
|
||||
@ -651,9 +700,9 @@ WRITE64_HANDLER( dc_maple_w )
|
||||
case 0xf1: // set address
|
||||
break;
|
||||
case 0x10:
|
||||
strcpy((char *)(maple0x86data2+0x11+10), "MAME test JVS I/O board"); // name
|
||||
maple0x86data2[pos+7]=24+2;
|
||||
tocopy += 24;
|
||||
strcpy((char *)(maple0x86data2+0x11+10), "SEGA ENTERPRISES,LTD.\nI/O BD JVS\n837-13551"); // name
|
||||
maple0x86data2[pos+7]=24+21+2;
|
||||
tocopy += 24+21;
|
||||
break;
|
||||
case 0x11:
|
||||
maple0x86data2[pos+10]=0x13; // version bcd
|
||||
@ -672,9 +721,7 @@ WRITE64_HANDLER( dc_maple_w )
|
||||
break;
|
||||
case 0x14:
|
||||
{
|
||||
static int dma_bytes;
|
||||
dma_bytes = jvsboard_init(pos);
|
||||
tocopy += dma_bytes;
|
||||
tocopy += jvsboard_init(pos);
|
||||
}
|
||||
break;
|
||||
case 0x21:
|
||||
|
Loading…
Reference in New Issue
Block a user