mirror of
https://github.com/holub/mame
synced 2025-06-30 16:00:01 +03:00
Moved atomiswave and naomi 2 specifics into own state machines (nw)
This commit is contained in:
parent
05b0a89007
commit
a18d91c43e
@ -347,16 +347,6 @@ WRITE64_MEMBER(dc_cons_state::dc_pdtra_w )
|
||||
PDTRA = (data & 0xffff);
|
||||
}
|
||||
|
||||
READ64_MEMBER(dc_cons_state::dc_arm_r )
|
||||
{
|
||||
return *((uint64_t *)dc_sound_ram.target()+offset);
|
||||
}
|
||||
|
||||
WRITE64_MEMBER(dc_cons_state::dc_arm_w )
|
||||
{
|
||||
COMBINE_DATA((uint64_t *)dc_sound_ram.target() + offset);
|
||||
}
|
||||
|
||||
#if 0
|
||||
READ8_MEMBER(dc_cons_state::dc_flash_r)
|
||||
{
|
||||
@ -383,7 +373,7 @@ static ADDRESS_MAP_START( dc_map, AS_PROGRAM, 64, dc_cons_state )
|
||||
AM_RANGE(0x00600000, 0x006007ff) AM_READWRITE(dc_modem_r, dc_modem_w )
|
||||
AM_RANGE(0x00700000, 0x00707fff) AM_READWRITE32(dc_aica_reg_r, dc_aica_reg_w, 0xffffffffffffffffU)
|
||||
AM_RANGE(0x00710000, 0x0071000f) AM_MIRROR(0x02000000) AM_DEVREADWRITE16("aicartc", aicartc_device, read, write, 0x0000ffff0000ffffU )
|
||||
AM_RANGE(0x00800000, 0x009fffff) AM_READWRITE(dc_arm_r, dc_arm_w )
|
||||
AM_RANGE(0x00800000, 0x009fffff) AM_READWRITE(sh4_soundram_r, sh4_soundram_w )
|
||||
// AM_RANGE(0x01000000, 0x01ffffff) G2 Ext Device #1
|
||||
// AM_RANGE(0x02700000, 0x02707fff) AICA reg mirror
|
||||
// AM_RANGE(0x02800000, 0x02ffffff) AICA wave mem mirror
|
||||
@ -564,9 +554,9 @@ static INPUT_PORTS_START( dc )
|
||||
//A4 - A5, second analog stick, unused on DC
|
||||
|
||||
PORT_START("MAMEDEBUG")
|
||||
PORT_DIPNAME( 0x01, 0x00, "Bilinear Filtering" )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
|
||||
PORT_CONFNAME( 0x01, 0x00, "Bilinear Filtering" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||
PORT_CONFSETTING( 0x01, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SCREEN_TYPE")
|
||||
PORT_CONFNAME( 0x03, 0x03, "Screen Connection Type" )
|
||||
@ -575,27 +565,6 @@ static INPUT_PORTS_START( dc )
|
||||
PORT_CONFSETTING( 0x03, "S-Video" )
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_RESET_MEMBER(dc_cons_state,dc_console)
|
||||
{
|
||||
dc_state::machine_reset();
|
||||
m_aica->set_ram_base(dc_sound_ram, 2*1024*1024);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(dc_cons_state::aica_irq)
|
||||
{
|
||||
m_soundcpu->set_input_line(ARM7_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(dc_cons_state::sh4_aica_irq)
|
||||
{
|
||||
if(state)
|
||||
dc_sysctrl_regs[SB_ISTEXT] |= IST_EXT_AICA;
|
||||
else
|
||||
dc_sysctrl_regs[SB_ISTEXT] &= ~IST_EXT_AICA;
|
||||
|
||||
dc_update_interrupt_status();
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( gdrom_config )
|
||||
MCFG_DEVICE_MODIFY("cdda")
|
||||
MCFG_SOUND_ROUTE(0, "^^^^lspeaker", 1.0)
|
||||
@ -642,8 +611,8 @@ static MACHINE_CONFIG_START( dc, dc_cons_state )
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD("aica", AICA, 0)
|
||||
MCFG_AICA_MASTER
|
||||
MCFG_AICA_IRQ_CB(WRITELINE(dc_cons_state, aica_irq))
|
||||
MCFG_AICA_MAIN_IRQ_CB(WRITELINE(dc_cons_state, sh4_aica_irq))
|
||||
MCFG_AICA_IRQ_CB(WRITELINE(dc_state, aica_irq))
|
||||
MCFG_AICA_MAIN_IRQ_CB(WRITELINE(dc_state, sh4_aica_irq))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.0)
|
||||
|
||||
|
@ -1580,16 +1580,6 @@ Premier Eleven
|
||||
|
||||
#define CPU_CLOCK (200000000)
|
||||
|
||||
READ64_MEMBER(naomi_state::naomi_arm_r )
|
||||
{
|
||||
return *(reinterpret_cast<uint64_t *>(dc_sound_ram.target())+offset);
|
||||
}
|
||||
|
||||
WRITE64_MEMBER(naomi_state::naomi_arm_w )
|
||||
{
|
||||
COMBINE_DATA(reinterpret_cast<uint64_t *>(dc_sound_ram.target()) + offset);
|
||||
}
|
||||
|
||||
READ64_MEMBER(naomi_state::naomi_unknown1_r )
|
||||
{
|
||||
if ((offset * 8) == 0xc0) // trick so that it does not "wait for multiboard sync"
|
||||
@ -1601,6 +1591,19 @@ WRITE64_MEMBER(naomi_state::naomi_unknown1_w )
|
||||
{
|
||||
}
|
||||
|
||||
// TODO: was using same handler as Naomi, tbd
|
||||
READ64_MEMBER(atomiswave_state::aw_unknown1_r )
|
||||
{
|
||||
if ((offset * 8) == 0xc0) // trick so that it does not "wait for multiboard sync"
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
WRITE64_MEMBER(atomiswave_state::aw_unknown1_w )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Non-volatile memories
|
||||
*/
|
||||
@ -1697,7 +1700,7 @@ static ADDRESS_MAP_START( naomi_map, AS_PROGRAM, 64, naomi_state )
|
||||
AM_RANGE(0x00600000, 0x006007ff) AM_MIRROR(0x02000000) AM_READWRITE(dc_modem_r, dc_modem_w )
|
||||
AM_RANGE(0x00700000, 0x00707fff) AM_MIRROR(0x02000000) AM_READWRITE32(dc_aica_reg_r, dc_aica_reg_w, 0xffffffffffffffffU)
|
||||
AM_RANGE(0x00710000, 0x0071000f) AM_MIRROR(0x02000000) AM_DEVREADWRITE16("aicartc", aicartc_device, read, write, 0x0000ffff0000ffffU )
|
||||
AM_RANGE(0x00800000, 0x00ffffff) AM_MIRROR(0x02000000) AM_READWRITE(naomi_arm_r, naomi_arm_w ) // sound RAM (8 MB)
|
||||
AM_RANGE(0x00800000, 0x00ffffff) AM_MIRROR(0x02000000) AM_READWRITE(sh4_soundram_r, sh4_soundram_w ) // sound RAM (8 MB)
|
||||
|
||||
/* External Device */
|
||||
AM_RANGE(0x01010098, 0x0101009f) AM_MIRROR(0x02000000) AM_RAM // Naomi 2 BIOS tests this, needs to read back as written
|
||||
@ -1734,7 +1737,7 @@ ADDRESS_MAP_END
|
||||
* Naomi 2 address map
|
||||
*/
|
||||
|
||||
static ADDRESS_MAP_START( naomi2_map, AS_PROGRAM, 64, naomi_state )
|
||||
static ADDRESS_MAP_START( naomi2_map, AS_PROGRAM, 64, naomi2_state )
|
||||
/* Area 0 */
|
||||
AM_RANGE(0x00000000, 0x001fffff) AM_MIRROR(0xa2000000) AM_ROM AM_REGION("maincpu", 0) // BIOS
|
||||
|
||||
@ -1749,7 +1752,7 @@ static ADDRESS_MAP_START( naomi2_map, AS_PROGRAM, 64, naomi_state )
|
||||
AM_RANGE(0x00600000, 0x006007ff) AM_MIRROR(0x02000000) AM_READWRITE(dc_modem_r, dc_modem_w )
|
||||
AM_RANGE(0x00700000, 0x00707fff) AM_MIRROR(0x02000000) AM_READWRITE32(dc_aica_reg_r, dc_aica_reg_w, 0xffffffffffffffffU)
|
||||
AM_RANGE(0x00710000, 0x0071000f) AM_MIRROR(0x02000000) AM_DEVREADWRITE16("aicartc", aicartc_device, read, write, 0x0000ffff0000ffffU )
|
||||
AM_RANGE(0x00800000, 0x00ffffff) AM_MIRROR(0x02000000) AM_READWRITE(naomi_arm_r, naomi_arm_w ) // sound RAM (8 MB)
|
||||
AM_RANGE(0x00800000, 0x00ffffff) AM_MIRROR(0x02000000) AM_READWRITE(sh4_soundram_r, sh4_soundram_w ) // sound RAM (8 MB)
|
||||
|
||||
/* External Device */
|
||||
AM_RANGE(0x01010098, 0x0101009f) AM_MIRROR(0x02000000) AM_RAM // Naomi 2 BIOS tests this, needs to read back as written
|
||||
@ -1801,13 +1804,13 @@ ADDRESS_MAP_END
|
||||
* Atomiswave address map, almost identical to Dreamcast
|
||||
*/
|
||||
|
||||
READ64_MEMBER(naomi_state::aw_flash_r )
|
||||
READ64_MEMBER(atomiswave_state::aw_flash_r )
|
||||
{
|
||||
return (uint64_t)m_awflash->read(offset*8) | (uint64_t)m_awflash->read((offset*8)+1)<<8 | (uint64_t)m_awflash->read((offset*8)+2)<<16 | (uint64_t)m_awflash->read((offset*8)+3)<<24 |
|
||||
(uint64_t)m_awflash->read((offset*8)+4)<<32 | (uint64_t)m_awflash->read((offset*8)+5)<<40 | (uint64_t)m_awflash->read((offset*8)+6)<<48 | (uint64_t)m_awflash->read((offset*8)+7)<<56;
|
||||
}
|
||||
|
||||
WRITE64_MEMBER(naomi_state::aw_flash_w )
|
||||
WRITE64_MEMBER(atomiswave_state::aw_flash_w )
|
||||
{
|
||||
int i;
|
||||
uint32_t addr = offset * 8;
|
||||
@ -1826,7 +1829,8 @@ WRITE64_MEMBER(naomi_state::aw_flash_w )
|
||||
m_awflash->write(addr, data);
|
||||
}
|
||||
|
||||
inline int naomi_state::decode_reg32_64(uint32_t offset, uint64_t mem_mask, uint64_t *shift)
|
||||
// TODO: don't we have a common function for this?
|
||||
inline int atomiswave_state::decode_reg32_64(uint32_t offset, uint64_t mem_mask, uint64_t *shift)
|
||||
{
|
||||
int reg = offset * 2;
|
||||
|
||||
@ -1848,7 +1852,7 @@ inline int naomi_state::decode_reg32_64(uint32_t offset, uint64_t mem_mask, uint
|
||||
return reg;
|
||||
}
|
||||
|
||||
READ64_MEMBER(naomi_state::aw_modem_r )
|
||||
READ64_MEMBER(atomiswave_state::aw_modem_r )
|
||||
{
|
||||
int reg;
|
||||
uint64_t shift;
|
||||
@ -1874,7 +1878,7 @@ READ64_MEMBER(naomi_state::aw_modem_r )
|
||||
return 0;
|
||||
}
|
||||
|
||||
WRITE64_MEMBER(naomi_state::aw_modem_w )
|
||||
WRITE64_MEMBER(atomiswave_state::aw_modem_w )
|
||||
{
|
||||
int reg;
|
||||
uint64_t shift;
|
||||
@ -1906,7 +1910,7 @@ WRITE64_MEMBER(naomi_state::aw_modem_w )
|
||||
osd_printf_verbose("%s",string_format("MODEM: [%08x=%x] write %I64x to %x, mask %I64x\n", 0x600000+reg*4, dat, data, offset, mem_mask).c_str());
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( aw_map, AS_PROGRAM, 64, naomi_state )
|
||||
static ADDRESS_MAP_START( aw_map, AS_PROGRAM, 64, atomiswave_state )
|
||||
/* Area 0 */
|
||||
AM_RANGE(0x00000000, 0x0001ffff) AM_READWRITE(aw_flash_r, aw_flash_w ) AM_REGION("awflash", 0)
|
||||
AM_RANGE(0xa0000000, 0xa001ffff) AM_READWRITE(aw_flash_r, aw_flash_w ) AM_REGION("awflash", 0)
|
||||
@ -1922,10 +1926,10 @@ static ADDRESS_MAP_START( aw_map, AS_PROGRAM, 64, naomi_state )
|
||||
AM_RANGE(0x00600000, 0x006007ff) AM_READWRITE(aw_modem_r, aw_modem_w )
|
||||
AM_RANGE(0x00700000, 0x00707fff) AM_READWRITE32(dc_aica_reg_r, dc_aica_reg_w, 0xffffffffffffffffU)
|
||||
AM_RANGE(0x00710000, 0x0071000f) AM_MIRROR(0x02000000) AM_DEVREADWRITE16("aicartc", aicartc_device, read, write, 0x0000ffff0000ffffU )
|
||||
AM_RANGE(0x00800000, 0x00ffffff) AM_READWRITE(naomi_arm_r, naomi_arm_w ) // sound RAM (8 MB)
|
||||
AM_RANGE(0x00800000, 0x00ffffff) AM_READWRITE(sh4_soundram_r, sh4_soundram_w ) // sound RAM (8 MB)
|
||||
|
||||
|
||||
AM_RANGE(0x0103ff00, 0x0103ffff) AM_READWRITE(naomi_unknown1_r, naomi_unknown1_w ) // bios uses it, actual start and end addresses not known
|
||||
AM_RANGE(0x0103ff00, 0x0103ffff) AM_READWRITE(aw_unknown1_r, aw_unknown1_w ) // ???
|
||||
|
||||
/* Area 1 - half the texture memory, like dreamcast, not naomi */
|
||||
AM_RANGE(0x04000000, 0x047fffff) AM_RAM AM_MIRROR(0x00800000) AM_SHARE("dc_texture_ram") // texture memory 64 bit access
|
||||
@ -1961,25 +1965,11 @@ static ADDRESS_MAP_START( aw_map, AS_PROGRAM, 64, naomi_state )
|
||||
//AM_RANGE(0x1c000000, 0x1fffffff) AM_NOP // SH4 Internal
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/*
|
||||
* Aica
|
||||
*/
|
||||
WRITE_LINE_MEMBER(naomi_state::aica_irq)
|
||||
{
|
||||
m_soundcpu->set_input_line(ARM7_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
static ADDRESS_MAP_START( aw_port, AS_IO, 64, atomiswave_state )
|
||||
// ???
|
||||
ADDRESS_MAP_END
|
||||
|
||||
WRITE_LINE_MEMBER(naomi_state::sh4_aica_irq)
|
||||
{
|
||||
if(state)
|
||||
dc_sysctrl_regs[SB_ISTEXT] |= IST_EXT_AICA;
|
||||
else
|
||||
dc_sysctrl_regs[SB_ISTEXT] &= ~IST_EXT_AICA;
|
||||
|
||||
dc_update_interrupt_status();
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( dc_audio_map, AS_PROGRAM, 32, naomi_state )
|
||||
static ADDRESS_MAP_START( dc_audio_map, AS_PROGRAM, 32, dc_state )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x00000000, 0x007fffff) AM_RAM AM_SHARE("dc_sound_ram") /* shared with SH-4 */
|
||||
AM_RANGE(0x00800000, 0x00807fff) AM_READWRITE(dc_arm_aica_r, dc_arm_aica_w)
|
||||
@ -1989,13 +1979,6 @@ ADDRESS_MAP_END
|
||||
* Input ports
|
||||
*/
|
||||
|
||||
// crude cheat pending SH4 DRC, especially useful for inp playback
|
||||
INPUT_CHANGED_MEMBER(naomi_state::naomi_mastercpu_cheat_r)
|
||||
{
|
||||
const u32 timing_value[4] = { CPU_CLOCK, CPU_CLOCK/2, CPU_CLOCK/4, CPU_CLOCK/16 };
|
||||
m_maincpu->set_unscaled_clock(timing_value[newval]);
|
||||
}
|
||||
|
||||
INPUT_PORTS_START( naomi_debug )
|
||||
PORT_START("MAMEDEBUG")
|
||||
PORT_CONFNAME( 0x01, 0x00, "Bilinear Filtering" )
|
||||
@ -2004,7 +1987,7 @@ INPUT_PORTS_START( naomi_debug )
|
||||
PORT_CONFNAME( 0x02, 0x00, "Disable Render Calls" )
|
||||
PORT_CONFSETTING( 0x00, DEF_STR( No ) )
|
||||
PORT_CONFSETTING( 0x02, DEF_STR( Yes ) )
|
||||
PORT_CONFNAME( 0x0c, 0x00, "Master CPU Clock Rate (Cheat)") PORT_CHANGED_MEMBER(DEVICE_SELF, naomi_state, naomi_mastercpu_cheat_r, nullptr)
|
||||
PORT_CONFNAME( 0x0c, 0x00, "Master CPU Clock Rate (Cheat)") PORT_CHANGED_MEMBER(DEVICE_SELF, dc_state, mastercpu_cheat_r, nullptr)
|
||||
PORT_CONFSETTING( 0x00, "100%" )
|
||||
PORT_CONFSETTING( 0x04, "50%" )
|
||||
PORT_CONFSETTING( 0x08, "25%" )
|
||||
@ -2680,7 +2663,8 @@ MACHINE_RESET_MEMBER(naomi_state,naomi)
|
||||
* Common for Naomi 1, Naomi GD-Rom, Naomi 2, Atomiswave ...
|
||||
*/
|
||||
|
||||
MACHINE_CONFIG_START( naomi_aw_base, naomi_state )
|
||||
// TODO: merge with Dreamcast base machine
|
||||
MACHINE_CONFIG_START( naomi_aw_base, dc_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", SH4LE, CPU_CLOCK) // SH4!!!
|
||||
MCFG_SH4_MD0(1)
|
||||
@ -2702,11 +2686,6 @@ MACHINE_CONFIG_START( naomi_aw_base, naomi_state )
|
||||
|
||||
MCFG_MAPLE_DC_ADD( "maple_dc", "maincpu", dc_maple_irq )
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE(naomi_state,naomi)
|
||||
|
||||
MCFG_EEPROM_SERIAL_93C46_ADD("main_eeprom")
|
||||
MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0)
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(13458568*2, 820, 0, 640, 532, 0, 480) /* TODO: where pclk actually comes? */
|
||||
@ -2717,8 +2696,8 @@ MACHINE_CONFIG_START( naomi_aw_base, naomi_state )
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
MCFG_SOUND_ADD("aica", AICA, 0)
|
||||
MCFG_AICA_MASTER
|
||||
MCFG_AICA_IRQ_CB(WRITELINE(naomi_state, aica_irq))
|
||||
MCFG_AICA_MAIN_IRQ_CB(WRITELINE(naomi_state, sh4_aica_irq))
|
||||
MCFG_AICA_IRQ_CB(WRITELINE(dc_state, aica_irq))
|
||||
MCFG_AICA_MAIN_IRQ_CB(WRITELINE(dc_state, sh4_aica_irq))
|
||||
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 2.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 2.0)
|
||||
@ -2726,13 +2705,19 @@ MACHINE_CONFIG_START( naomi_aw_base, naomi_state )
|
||||
MCFG_AICARTC_ADD("aicartc", XTAL_32_768kHz )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( naomi_base, naomi_aw_base )
|
||||
static MACHINE_CONFIG_START( naomi_base, naomi_state )
|
||||
MCFG_FRAGMENT_ADD( naomi_aw_base )
|
||||
|
||||
MCFG_EEPROM_SERIAL_93C46_ADD("main_eeprom")
|
||||
MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0)
|
||||
|
||||
MCFG_MIE_ADD("mie", XTAL_32MHz/2, "maple_dc", 0, nullptr, nullptr, nullptr, ":MIE.3", nullptr, ":MIE.5", nullptr, nullptr) // Actual frequency unknown, most likely 1/2 of 32MHz XTAL or even 2/3 (yes, 21MHz Z80 core)
|
||||
MCFG_SEGA_837_13551_DEVICE_ADD("837_13551", "mie", ":TILT", ":P1", ":P2", ":A0", ":A1", ":A2", ":A3", ":A4", ":A5", ":A6", ":A7", ":OUTPUT")
|
||||
MCFG_EEPROM_SERIAL_93C46_8BIT_ADD("mie_eeprom")
|
||||
|
||||
MCFG_X76F100_ADD("naomibd_eeprom")
|
||||
MCFG_M3COMM_ADD("comm_board")
|
||||
MCFG_MACHINE_RESET_OVERRIDE(naomi_state,naomi)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
/*
|
||||
@ -2788,7 +2773,9 @@ MACHINE_CONFIG_END
|
||||
* Naomi 2 GD-Rom
|
||||
*/
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( naomi2gd, naomigd )
|
||||
static MACHINE_CONFIG_START( naomi2gd, naomi2_state )
|
||||
MCFG_FRAGMENT_ADD( naomigd )
|
||||
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(naomi2_map)
|
||||
MACHINE_CONFIG_END
|
||||
@ -2797,7 +2784,9 @@ MACHINE_CONFIG_END
|
||||
* Naomi 2, M1 sub-board
|
||||
*/
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( naomi2m1, naomim1 )
|
||||
static MACHINE_CONFIG_START( naomi2m1, naomi2_state )
|
||||
MCFG_FRAGMENT_ADD( naomim1 )
|
||||
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(naomi2_map)
|
||||
MACHINE_CONFIG_END
|
||||
@ -2806,7 +2795,9 @@ MACHINE_CONFIG_END
|
||||
* Naomi 2, M2/3 sub-board
|
||||
*/
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( naomi2m2, naomim2 )
|
||||
static MACHINE_CONFIG_START( naomi2m2, naomi2_state )
|
||||
MCFG_FRAGMENT_ADD( naomim2 )
|
||||
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(naomi2_map)
|
||||
MACHINE_CONFIG_END
|
||||
@ -2815,15 +2806,24 @@ MACHINE_CONFIG_END
|
||||
* Atomiswave
|
||||
*/
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( aw_base, naomi_aw_base )
|
||||
static MACHINE_CONFIG_START( aw_base, atomiswave_state )
|
||||
MCFG_FRAGMENT_ADD( naomi_aw_base )
|
||||
|
||||
MCFG_CPU_MODIFY("maincpu")
|
||||
MCFG_CPU_PROGRAM_MAP(aw_map)
|
||||
MCFG_CPU_IO_MAP(aw_port)
|
||||
MCFG_MACRONIX_29L001MC_ADD("awflash")
|
||||
MCFG_AW_ROM_BOARD_ADD("rom_board", "rom_key", WRITE8(dc_state, g1_irq))
|
||||
|
||||
//MCFG_CPU_MODIFY("soundcpu")
|
||||
//MCFG_CPU_PROGRAM_MAP(aw_sound_map)
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE(dc_state,dc_console)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( aw1c, aw_base )
|
||||
MCFG_DC_CONTROLLER_ADD("dcctrl0", "maple_dc", 0, ":P1.0", ":P1.1", ":P1.A0", ":P1.A1", ":P1.A2", ":P1.A3", ":P1.A4", ":P1.A5")
|
||||
// TODO: isn't it supposed to be just one controller?
|
||||
MCFG_DC_CONTROLLER_ADD("dcctrl1", "maple_dc", 1, ":P2.0", ":P2.1", ":P2.A0", ":P2.A1", ":P2.A2", ":P2.A3", ":P2.A4", ":P2.A5")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -9046,7 +9046,7 @@ ROM_END
|
||||
// EN cartridges have this area empty (FF-filled), i.e. AW-NET features not used.
|
||||
// JP cartridges have it filled with unique ID, which also means dumps of several JP cartridges will differ by this few bytes.
|
||||
|
||||
DRIVER_INIT_MEMBER(naomi_state,atomiswave)
|
||||
DRIVER_INIT_MEMBER(atomiswave_state,atomiswave)
|
||||
{
|
||||
uint64_t *ROM = (uint64_t *)memregion("awflash")->base();
|
||||
|
||||
@ -9056,7 +9056,7 @@ DRIVER_INIT_MEMBER(naomi_state,atomiswave)
|
||||
aw_ctrl_type = 0;
|
||||
}
|
||||
|
||||
READ64_MEMBER(naomi_state::xtrmhnt2_hack_r)
|
||||
READ64_MEMBER(atomiswave_state::xtrmhnt2_hack_r)
|
||||
{
|
||||
// disable ALL.Net board check
|
||||
if (space.device().safe_pc() == 0xc03cb30)
|
||||
@ -9071,10 +9071,10 @@ READ64_MEMBER(naomi_state::xtrmhnt2_hack_r)
|
||||
return 0;
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(naomi_state,xtrmhnt2)
|
||||
DRIVER_INIT_MEMBER(atomiswave_state,xtrmhnt2)
|
||||
{
|
||||
DRIVER_INIT_CALL(atomiswave);
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000000, 0x100011f, read64_delegate(FUNC(naomi_state::xtrmhnt2_hack_r), this));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000000, 0x100011f, read64_delegate(FUNC(atomiswave_state::xtrmhnt2_hack_r), this));
|
||||
}
|
||||
|
||||
ROM_START( fotns )
|
||||
@ -9747,20 +9747,20 @@ ROM_END
|
||||
/* ???? */ GAME( 2003, puyofevp, naomi, naomim1, naomi, naomi_state, naomi, ROT0, "Sega", "Puyo Puyo Fever (prototype ver 0.01)", GAME_FLAGS )
|
||||
|
||||
/* 840-xxxxx (Sega Naomi 2 cart games) */
|
||||
/* 0046 */ GAME( 2001, wldrider, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Wild Riders", GAME_FLAGS )
|
||||
/* 0061 */ GAME( 2001, vstrik3co,vstrik3c,naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (World)", GAME_FLAGS ) // not for Japan
|
||||
/* 0061 */ GAME( 2001, vstrik3c, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (World, Rev B)", GAME_FLAGS ) // not for Japan
|
||||
/* 0062 */ GAME( 2001, clubkrto, clubkrt, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session", GAME_FLAGS )
|
||||
/* 0062 */ GAME( 2001, clubkrtc, clubkrt, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev C)", GAME_FLAGS )
|
||||
/* 0062 */ GAME( 2001, clubkrt, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev D)", GAME_FLAGS )
|
||||
/* 0080 */ GAME( 2002, vf4cart, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (World)", GAME_FLAGS ) // not for Japan
|
||||
/* 0087 */ GAME( 2002, kingrt66, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "The King of Route 66 (Rev A)", GAME_FLAGS )
|
||||
/* 0095 */ GAME( 2002, soulsurf, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Soul Surfer (Rev A)", GAME_FLAGS )
|
||||
/* 0106 */ GAME( 2002, vf4evoct, naomi2, naomi2m1, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (World)", GAME_FLAGS ) // not for Japan
|
||||
/* 0129 */ GAME( 2003, clubkprz, naomi2, naomi2m1, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart Prize (Export, Japan)", GAME_FLAGS )
|
||||
/* 0137 */ GAME( 2004, clubkpzb, naomi2, naomi2m1, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart Prize Version B (Export, Japan)", GAME_FLAGS )
|
||||
/* 0139 */ GAME( 2003, clubk2k3, naomi2, naomi2m1, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session (2003, Rev A)", GAME_FLAGS )
|
||||
/* none */ GAME( 2003, clubk2kp, clubk2k3,naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session (2003, prototype)", GAME_FLAGS )
|
||||
/* 0046 */ GAME( 2001, wldrider, naomi2, naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "Wild Riders", GAME_FLAGS )
|
||||
/* 0061 */ GAME( 2001, vstrik3co,vstrik3c,naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (World)", GAME_FLAGS ) // not for Japan
|
||||
/* 0061 */ GAME( 2001, vstrik3c, naomi2, naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (World, Rev B)", GAME_FLAGS ) // not for Japan
|
||||
/* 0062 */ GAME( 2001, clubkrto, clubkrt, naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "Club Kart: European Session", GAME_FLAGS )
|
||||
/* 0062 */ GAME( 2001, clubkrtc, clubkrt, naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev C)", GAME_FLAGS )
|
||||
/* 0062 */ GAME( 2001, clubkrt, naomi2, naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev D)", GAME_FLAGS )
|
||||
/* 0080 */ GAME( 2002, vf4cart, naomi2, naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (World)", GAME_FLAGS ) // not for Japan
|
||||
/* 0087 */ GAME( 2002, kingrt66, naomi2, naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "The King of Route 66 (Rev A)", GAME_FLAGS )
|
||||
/* 0095 */ GAME( 2002, soulsurf, naomi2, naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "Soul Surfer (Rev A)", GAME_FLAGS )
|
||||
/* 0106 */ GAME( 2002, vf4evoct, naomi2, naomi2m1, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (World)", GAME_FLAGS ) // not for Japan
|
||||
/* 0129 */ GAME( 2003, clubkprz, naomi2, naomi2m1, naomi, naomi2_state, naomi2, ROT0, "Sega", "Club Kart Prize (Export, Japan)", GAME_FLAGS )
|
||||
/* 0137 */ GAME( 2004, clubkpzb, naomi2, naomi2m1, naomi, naomi2_state, naomi2, ROT0, "Sega", "Club Kart Prize Version B (Export, Japan)", GAME_FLAGS )
|
||||
/* 0139 */ GAME( 2003, clubk2k3, naomi2, naomi2m1, naomi, naomi2_state, naomi2, ROT0, "Sega", "Club Kart: European Session (2003, Rev A)", GAME_FLAGS )
|
||||
/* none */ GAME( 2003, clubk2kp, clubk2k3,naomi2m2, naomi, naomi2_state, naomi2, ROT0, "Sega", "Club Kart: European Session (2003, prototype)", GAME_FLAGS )
|
||||
|
||||
/* 841-xxxxx ("Licensed by Sega" Naomi cart games)*/
|
||||
/* 0001 */ GAME( 1999, pstone, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Capcom", "Power Stone", GAME_FLAGS )
|
||||
@ -9816,19 +9816,19 @@ ROM_END
|
||||
/* 0003 */ GAME( 2000, sprtjam, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Sports Jam (GDS-0003)", GAME_FLAGS )
|
||||
/* 0004 */ GAME( 2000, slashout, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Slashout (GDS-0004)", GAME_FLAGS )
|
||||
/* 0005 */ GAME( 2001, spkrbtl, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Spikers Battle (GDS-0005)", GAME_FLAGS )
|
||||
/* 0006 */ GAME( 2001, vstrik3, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (GDS-0006)", GAME_FLAGS )
|
||||
/* 0006 */ GAME( 2001, vstrik3, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (GDS-0006)", GAME_FLAGS )
|
||||
// 0007
|
||||
/* 0008 */ GAME( 2001, monkeyba, naomigd, naomigd, monkeyba,naomi_state, naomigd, ROT0, "Sega", "Monkey Ball (GDS-0008)", GAME_FLAGS )
|
||||
// 0009 Dynamic Golf / Virtua Golf (GDS-0009)
|
||||
/* 0009A */ GAME( 2001, dygolf, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Virtua Golf / Dynamic Golf (Rev A) (GDS-0009A)", GAME_FLAGS )
|
||||
/* 0010 */ GAME( 2001, wsbbgd, naomigd, naomigd, dybbnao, naomi_state, naomigd, ROT0, "Sega", "World Series Baseball / Super Major League (GDS-0010)", GAME_FLAGS )
|
||||
/* 0011 */ GAME( 1999, vtennisg, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Virtua Tennis / Power Smash (GDS-0011)", GAME_FLAGS )
|
||||
/* 0012 */ GAME( 2001, vf4o, vf4, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (GDS-0012)", GAME_FLAGS )
|
||||
/* 0012 */ GAME( 2001, vf4o, vf4, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (GDS-0012)", GAME_FLAGS )
|
||||
// 0012A Virtua Fighter 4 (Rev A) (GDS-0012A)
|
||||
/* 0012B */ GAME( 2001, vf4b, vf4, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (Rev B) (GDS-0012B)", GAME_FLAGS )
|
||||
/* 0012C */ GAME( 2001, vf4, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Version C (GDS-0012C)", GAME_FLAGS )
|
||||
/* 0012B */ GAME( 2001, vf4b, vf4, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 (Rev B) (GDS-0012B)", GAME_FLAGS )
|
||||
/* 0012C */ GAME( 2001, vf4, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Version C (GDS-0012C)", GAME_FLAGS )
|
||||
/* 0013 */ GAME( 2001, shaktmsp, naomigd, naomigd, shaktamb, naomi_state, naomigd, ROT0, "Sega", "Shakatto Tambourine Motto Norinori Shinkyoku Tsuika (2K1 SPR) (GDS-0013)", GAME_FLAGS )
|
||||
/* 0014 */ GAME( 2001, beachspi, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Beach Spikers (GDS-0014)", GAME_FLAGS )
|
||||
/* 0014 */ GAME( 2001, beachspi, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Beach Spikers (GDS-0014)", GAME_FLAGS )
|
||||
// 0015 Virtua Tennis 2 / Power Smash 2 (GDS-0015)
|
||||
/* 0015A */ GAME( 2001, vtennis2, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Virtua Tennis 2 / Power Smash 2 (Rev A) (GDS-0015A)", GAME_FLAGS )
|
||||
/* 0016 */ GAME( 2001, shaktamb, naomigd, naomigd, shaktamb, naomi_state, naomigd, ROT0, "Sega", "Shakatto Tambourine Cho Powerup Chu (2K1 AUT) (GDS-0016)", GAME_FLAGS )
|
||||
@ -9836,9 +9836,9 @@ ROM_END
|
||||
/* 0018 */ GAME( 2001, lupinsho, naomigd, naomigd, hotd2, naomi_state, naomigd, ROT0, "Sega / Eighting", "Lupin The Third - The Shooting (GDS-0018)", GAME_FLAGS )
|
||||
// 0018A Lupin The Third - The Shooting (Rev A) (GDS-0018A)
|
||||
/* 0019 */ GAME( 2002, vathlete, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Virtua Athletics / Virtua Athlete (GDS-0019)", GAME_FLAGS )
|
||||
/* 0020 */ GAME( 2002, initdo, initd, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Japan) (GDS-0020)", GAME_FLAGS )
|
||||
/* 0020 */ GAME( 2002, initdo, initd, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Japan) (GDS-0020)", GAME_FLAGS )
|
||||
// 0020A Initial D Arcade Stage (Rev A) (GDS-0020A)
|
||||
/* 0020B */ GAME( 2002, initd, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Rev B) (Japan) (GDS-0020B)", GAME_FLAGS )
|
||||
/* 0020B */ GAME( 2002, initd, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Rev B) (Japan) (GDS-0020B)", GAME_FLAGS )
|
||||
// 0021 Lupin The Third - The Typing (GDS-0021)
|
||||
/* 0021A */ GAME( 2002, luptype, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Lupin The Third - The Typing (Rev A) (GDS-0021A)", GAME_FLAGS )
|
||||
/* 0022 */ GAME( 2002, mok, naomigd, naomigd, hotd2, naomi_state, naomigd, ROT0, "Sega", "The Maze of the Kings (GDS-0022)", GAME_FLAGS )
|
||||
@ -9849,39 +9849,39 @@ ROM_END
|
||||
// 0023D Naomi DIMM Firmware Updater (Rev D) (GDS-0023D)
|
||||
/* 0023E */ GAME( 2001, ngdup23e, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Naomi DIMM Firmware Updater (3.17) (GDS-0023E)", GAME_FLAGS )
|
||||
// 0024 Virtua Fighter 4 Evolution (GDS-0024)
|
||||
/* 0024A */ GAME( 2002, vf4evoa, vf4evo, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (Japan) (GDS-0024A)", GAME_FLAGS )
|
||||
/* 0024B */ GAME( 2002, vf4evo, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (Version B) (Japan) (GDS-0024B)", GAME_FLAGS )
|
||||
/* 0025 */ GAME( 2002, initdexpo,initdexp,naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Export) (GDS-0025)", GAME_FLAGS )
|
||||
/* 0025A */ GAME( 2002, initdexp, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Export) (Rev A) (GDS-0025A)", GAME_FLAGS )
|
||||
/* 0026 */ GAME( 2002, initdv2jo,initdv2j,naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Japan) (GDS-0026)", GAME_FLAGS )
|
||||
/* 0024A */ GAME( 2002, vf4evoa, vf4evo, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (Japan) (GDS-0024A)", GAME_FLAGS )
|
||||
/* 0024B */ GAME( 2002, vf4evo, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Evolution (Version B) (Japan) (GDS-0024B)", GAME_FLAGS )
|
||||
/* 0025 */ GAME( 2002, initdexpo,initdexp,naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Export) (GDS-0025)", GAME_FLAGS )
|
||||
/* 0025A */ GAME( 2002, initdexp, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage (Export) (Rev A) (GDS-0025A)", GAME_FLAGS )
|
||||
/* 0026 */ GAME( 2002, initdv2jo,initdv2j,naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Japan) (GDS-0026)", GAME_FLAGS )
|
||||
// 0026A Initial D Arcade Stage Ver. 2 (Japan) (Rev A) (GDS-0026A)
|
||||
/* 0026B */ GAME( 2003, initdv2j, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Japan) (Rev B) (GDS-0026B)", GAME_FLAGS )
|
||||
/* 0027 */ GAME( 2003, initdv2e, initdv2j,naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Export) (GDS-0027)", GAME_FLAGS )
|
||||
/* 0026B */ GAME( 2003, initdv2j, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Japan) (Rev B) (GDS-0026B)", GAME_FLAGS )
|
||||
/* 0027 */ GAME( 2003, initdv2e, initdv2j,naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 2 (Export) (GDS-0027)", GAME_FLAGS )
|
||||
// 0028
|
||||
// 0029 Club Kart for Cycraft (GDS-0029)
|
||||
/* 0029A */ GAME( 2003, clubkcyc, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart for Cycraft (Rev A) (GDS-0029A)", GAME_FLAGS )
|
||||
/* 0029A */ GAME( 2003, clubkcyc, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Club Kart for Cycraft (Rev A) (GDS-0029A)", GAME_FLAGS )
|
||||
// 0030
|
||||
/* 0031 */ GAME( 2003, puyofev, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Puyo Puyo Fever (Japan) (GDS-0031)", GAME_FLAGS )
|
||||
// 0032 Initial D Arcade Stage Ver. 3 (Japan) (GDS-0032)
|
||||
// 0032A Initial D Arcade Stage Ver. 3 (Japan) (Rev A) (GDS-0032A)
|
||||
/* 0032B */ GAME( 2004, initdv3jb,initdv3j,naomigd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Japan) (Rev B) (GDS-0032B)", GAME_FLAGS )
|
||||
/* 0032C */ GAME( 2004, initdv3j, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Japan) (Rev C) (GDS-0032C)", GAME_FLAGS )
|
||||
/* 0033 */ GAME( 2004, initdv3e, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Export) (GDS-0033)", GAME_FLAGS )
|
||||
/* 0032B */ GAME( 2004, initdv3jb,initdv3j,naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Japan) (Rev B) (GDS-0032B)", GAME_FLAGS )
|
||||
/* 0032C */ GAME( 2004, initdv3j, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Japan) (Rev C) (GDS-0032C)", GAME_FLAGS )
|
||||
/* 0033 */ GAME( 2004, initdv3e, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 (Export) (GDS-0033)", GAME_FLAGS )
|
||||
// 0034
|
||||
// 0035
|
||||
// 0036 Virtua Fighter 4 Final Tuned (GDS-0036)
|
||||
/* 0036A */ GAME( 2004, vf4tuneda,vf4tuned,naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (GDS-0036A)", GAME_FLAGS )
|
||||
/* 0036A */ GAME( 2004, vf4tuneda,vf4tuned,naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (GDS-0036A)", GAME_FLAGS )
|
||||
// 0036B Virtua Fighter 4 Final Tuned (GDS-0036B)
|
||||
// 0036C Virtua Fighter 4 Final Tuned (GDS-0036C)
|
||||
/* 0036D */ GAME( 2004, vf4tunedd,vf4tuned,naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Ver. A) (GDS-0036D)", GAME_FLAGS )
|
||||
/* 0036D */ GAME( 2004, vf4tunedd,vf4tuned,naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Ver. A) (GDS-0036D)", GAME_FLAGS )
|
||||
// 0036E Virtua Fighter 4 Final Tuned (GDS-0036E)
|
||||
/* 0036F */ GAME( 2004, vf4tuned, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Ver. B) (GDS-0036F)", GAME_FLAGS )
|
||||
/* 0036F */ GAME( 2004, vf4tuned, naomi2, naomi2gd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Ver. B) (GDS-0036F)", GAME_FLAGS )
|
||||
// 0037 Dragon Treasure 2 (GDS-0037)
|
||||
/* 0037A */ GAME( 2004, dragntr2, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Dragon Treasure 2 (Rev A) (GDS-0037A)", GAME_FLAGS )
|
||||
// 0038
|
||||
// 0039 Initial D Arcade Stage Ver. 3 Cycraft Edition (GDS-0039)
|
||||
/* 0039A */ GAME( 2006, inidv3ca, inidv3cy,naomigd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 Cycraft Edition (Rev A) (GDS-0039A)", GAME_FLAGS )
|
||||
/* 0039B */ GAME( 2006, inidv3cy, naomi2, naomigd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 Cycraft Edition (Rev B) (GDS-0039B)", GAME_FLAGS )
|
||||
/* 0039A */ GAME( 2006, inidv3ca, inidv3cy,naomigd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 Cycraft Edition (Rev A) (GDS-0039A)", GAME_FLAGS )
|
||||
/* 0039B */ GAME( 2006, inidv3cy, naomi2, naomigd, naomi, naomi2_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 Cycraft Edition (Rev B) (GDS-0039B)", GAME_FLAGS )
|
||||
// 0040
|
||||
// 0041 Dragon Treasure 3 (GDS-0041)
|
||||
/* 0041A */ GAME( 2005, dragntr3, naomigd, naomigd, naomi, naomi_state, naomigd, ROT0, "Sega", "Dragon Treasure 3 (Rev A) (GDS-0041A)", GAME_FLAGS )
|
||||
@ -9973,36 +9973,36 @@ ROM_END
|
||||
|
||||
|
||||
/* Atomiswave */
|
||||
GAME( 2001, awbios, 0, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy", "Atomiswave Bios", GAME_FLAGS|MACHINE_IS_BIOS_ROOT )
|
||||
GAME( 2001, awbios, 0, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy", "Atomiswave Bios", GAME_FLAGS|MACHINE_IS_BIOS_ROOT )
|
||||
|
||||
GAME( 2003, maxspeed, awbios, aw1c, aw1w, naomi_state, atomiswave, ROT0, "SIMS / Sammy", "Maximum Speed", GAME_FLAGS )
|
||||
GAME( 2003, sprtshot, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy USA", "Sports Shooting USA", GAME_FLAGS )
|
||||
GAME( 2003, ggx15, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Arc System Works / Sammy", "Guilty Gear X ver. 1.5", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2003, demofist, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Polygon Magic / Dimps", "Demolish Fist", GAME_FLAGS )
|
||||
GAME( 2003, dolphin, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy", "Dolphin Blue", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2003, kov7sprt, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "IGS / Sammy", "Knights of Valour - The Seven Spirits", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2003, ggisuka, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Arc System Works / Sammy", "Guilty Gear Isuka", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2003, sushibar, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy", "Sushi Bar", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2004, dirtypig, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy", "Dirty Pigskin Football", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2004, rumblef, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2004, rumblefp, rumblef, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish (prototype)", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2004, rangrmsn, awbios, aw2c, aw1w, naomi_state, atomiswave, ROT0, "RIZ Inc./ Sammy", "Ranger Mission", GAME_FLAGS )
|
||||
GAME( 2004, salmankt, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Yuki Enterprise / Sammy", "Net Select: Salaryman Kintaro", GAME_FLAGS )
|
||||
GAME( 2004, ftspeed, awbios, aw1c, aw1w, naomi_state, atomiswave, ROT0, "Sammy", "Faster Than Speed", GAME_FLAGS )
|
||||
GAME( 2005, vfurlong, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Progress / Sammy", "Net Select Horse Racing: Victory Furlong", GAME_FLAGS )
|
||||
GAME( 2005, rumblef2, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish 2", GAME_FLAGS )
|
||||
GAME( 2005, rumblf2p, rumblef2, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish 2 (prototype)", GAME_FLAGS )
|
||||
GAME( 2005, anmlbskt, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT270, "MOSS / Sammy", "Animal Basket", GAME_FLAGS )
|
||||
GAME( 2005, ngbc, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / SNK Playmore", "NeoGeo Battle Coliseum", GAME_FLAGS )
|
||||
GAME( 2005, ngbcj, ngbc, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / SNK Playmore", "NeoGeo Battle Coliseum (Japan)", GAME_FLAGS )
|
||||
GAME( 2005, samsptk, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / SNK Playmore", "Samurai Spirits Tenkaichi Kenkakuden", GAME_FLAGS )
|
||||
GAME( 2005, kofxi, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters XI", GAME_FLAGS )
|
||||
GAME( 2005, fotns, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Arc System Works / Sega", "Fist Of The North Star", GAME_FLAGS )
|
||||
GAME( 2005, kofnw, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave", GAME_FLAGS )
|
||||
GAME( 2005, kofnwj, kofnw, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave (Japan)", GAME_FLAGS )
|
||||
GAME( 2005, xtrmhunt, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sammy", "Extreme Hunting", GAME_FLAGS )
|
||||
GAME( 2006, mslug6, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sega / SNK Playmore", "Metal Slug 6", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2006, xtrmhnt2, awbios, aw2c, aw2c, naomi_state, xtrmhnt2, ROT0, "Sega", "Extreme Hunting 2", GAME_FLAGS )
|
||||
GAME( 2008, claychal, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sega", "Sega Clay Challenge", GAME_FLAGS )
|
||||
GAME( 2009, basschalo, basschal, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sega", "Sega Bass Fishing Challenge", GAME_FLAGS )
|
||||
GAME( 2009, basschal, awbios, aw2c, aw2c, naomi_state, atomiswave, ROT0, "Sega", "Sega Bass Fishing Challenge Version A", GAME_FLAGS )
|
||||
GAME( 2003, maxspeed, awbios, aw1c, aw1w, atomiswave_state, atomiswave, ROT0, "SIMS / Sammy", "Maximum Speed", GAME_FLAGS )
|
||||
GAME( 2003, sprtshot, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy USA", "Sports Shooting USA", GAME_FLAGS )
|
||||
GAME( 2003, ggx15, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Arc System Works / Sammy", "Guilty Gear X ver. 1.5", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2003, demofist, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Polygon Magic / Dimps", "Demolish Fist", GAME_FLAGS )
|
||||
GAME( 2003, dolphin, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy", "Dolphin Blue", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2003, kov7sprt, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "IGS / Sammy", "Knights of Valour - The Seven Spirits", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2003, ggisuka, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Arc System Works / Sammy", "Guilty Gear Isuka", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2003, sushibar, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy", "Sushi Bar", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND )
|
||||
GAME( 2004, dirtypig, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy", "Dirty Pigskin Football", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2004, rumblef, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2004, rumblefp, rumblef, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish (prototype)", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2004, rangrmsn, awbios, aw2c, aw1w, atomiswave_state, atomiswave, ROT0, "RIZ Inc./ Sammy", "Ranger Mission", GAME_FLAGS )
|
||||
GAME( 2004, salmankt, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Yuki Enterprise / Sammy", "Net Select: Salaryman Kintaro", GAME_FLAGS )
|
||||
GAME( 2004, ftspeed, awbios, aw1c, aw1w, atomiswave_state, atomiswave, ROT0, "Sammy", "Faster Than Speed", GAME_FLAGS )
|
||||
GAME( 2005, vfurlong, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Progress / Sammy", "Net Select Horse Racing: Victory Furlong", GAME_FLAGS )
|
||||
GAME( 2005, rumblef2, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish 2", GAME_FLAGS )
|
||||
GAME( 2005, rumblf2p, rumblef2, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / Dimps", "The Rumble Fish 2 (prototype)", GAME_FLAGS )
|
||||
GAME( 2005, anmlbskt, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT270, "MOSS / Sammy", "Animal Basket", GAME_FLAGS )
|
||||
GAME( 2005, ngbc, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / SNK Playmore", "NeoGeo Battle Coliseum", GAME_FLAGS )
|
||||
GAME( 2005, ngbcj, ngbc, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / SNK Playmore", "NeoGeo Battle Coliseum (Japan)", GAME_FLAGS )
|
||||
GAME( 2005, samsptk, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / SNK Playmore", "Samurai Spirits Tenkaichi Kenkakuden", GAME_FLAGS )
|
||||
GAME( 2005, kofxi, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters XI", GAME_FLAGS )
|
||||
GAME( 2005, fotns, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Arc System Works / Sega", "Fist Of The North Star", GAME_FLAGS )
|
||||
GAME( 2005, kofnw, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave", GAME_FLAGS )
|
||||
GAME( 2005, kofnwj, kofnw, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy / SNK Playmore", "The King of Fighters Neowave (Japan)", GAME_FLAGS )
|
||||
GAME( 2005, xtrmhunt, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sammy", "Extreme Hunting", GAME_FLAGS )
|
||||
GAME( 2006, mslug6, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sega / SNK Playmore", "Metal Slug 6", MACHINE_IMPERFECT_GRAPHICS|MACHINE_IMPERFECT_SOUND|MACHINE_NOT_WORKING )
|
||||
GAME( 2006, xtrmhnt2, awbios, aw2c, aw2c, atomiswave_state, xtrmhnt2, ROT0, "Sega", "Extreme Hunting 2", GAME_FLAGS )
|
||||
GAME( 2008, claychal, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sega", "Sega Clay Challenge", GAME_FLAGS )
|
||||
GAME( 2009, basschalo, basschal, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sega", "Sega Bass Fishing Challenge", GAME_FLAGS )
|
||||
GAME( 2009, basschal, awbios, aw2c, aw2c, atomiswave_state, atomiswave, ROT0, "Sega", "Sega Bass Fishing Challenge Version A", GAME_FLAGS )
|
||||
|
@ -77,6 +77,11 @@ class dc_state : public driver_device
|
||||
DECLARE_WRITE64_MEMBER( dc_modem_w );
|
||||
DECLARE_WRITE8_MEMBER( g1_irq );
|
||||
DECLARE_WRITE8_MEMBER( pvr_irq );
|
||||
DECLARE_READ64_MEMBER( sh4_soundram_r );
|
||||
DECLARE_WRITE64_MEMBER( sh4_soundram_w );
|
||||
DECLARE_WRITE_LINE_MEMBER(aica_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(sh4_aica_irq);
|
||||
|
||||
|
||||
required_device<sh4_base_device> m_maincpu;
|
||||
required_device<cpu_device> m_soundcpu;
|
||||
@ -87,6 +92,9 @@ class dc_state : public driver_device
|
||||
|
||||
void generic_dma(uint32_t main_adr, void *dma_ptr, uint32_t length, uint32_t size, bool to_mainram);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(dc_scanline);
|
||||
DECLARE_MACHINE_RESET(dc_console);
|
||||
|
||||
DECLARE_INPUT_CHANGED_MEMBER(mastercpu_cheat_r);
|
||||
};
|
||||
|
||||
/*--------- Ch2-DMA Control Registers ----------*/
|
||||
|
@ -24,7 +24,6 @@ public:
|
||||
DECLARE_READ64_MEMBER(dcus_idle_skip_r);
|
||||
DECLARE_READ64_MEMBER(dcjp_idle_skip_r);
|
||||
|
||||
DECLARE_MACHINE_RESET(dc_console);
|
||||
DECLARE_READ64_MEMBER(dc_pdtra_r);
|
||||
DECLARE_WRITE64_MEMBER(dc_pdtra_w);
|
||||
DECLARE_READ64_MEMBER(dc_arm_r);
|
||||
|
@ -35,34 +35,21 @@ enum {
|
||||
JVSBD_MAHJONG,
|
||||
JVSBD_KEYBOARD
|
||||
};
|
||||
|
||||
class naomi_state : public dc_state
|
||||
{
|
||||
public:
|
||||
naomi_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: dc_state(mconfig, type, tag),
|
||||
pvr2_texture_ram(*this, "textureram2"),
|
||||
pvr2_framebuffer_ram(*this, "frameram2"),
|
||||
elan_ram(*this, "elan_ram"),
|
||||
m_awflash(*this, "awflash"),
|
||||
m_eeprom(*this, "main_eeprom") { }
|
||||
|
||||
/* Naomi 2 specific (To be moved) */
|
||||
optional_shared_ptr<uint64_t> pvr2_texture_ram;
|
||||
optional_shared_ptr<uint64_t> pvr2_framebuffer_ram;
|
||||
optional_shared_ptr<uint64_t> elan_ram;
|
||||
optional_device<macronix_29l001mc_device> m_awflash;
|
||||
optional_device<eeprom_serial_93cxx_device> m_eeprom;
|
||||
required_device<eeprom_serial_93cxx_device> m_eeprom;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(aica_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(sh4_aica_irq);
|
||||
DECLARE_MACHINE_RESET(naomi);
|
||||
DECLARE_DRIVER_INIT(atomiswave);
|
||||
DECLARE_DRIVER_INIT(xtrmhnt2);
|
||||
DECLARE_DRIVER_INIT(naomigd);
|
||||
DECLARE_DRIVER_INIT(ggxx);
|
||||
DECLARE_DRIVER_INIT(ggxxrl);
|
||||
DECLARE_DRIVER_INIT(ggxxsla);
|
||||
DECLARE_DRIVER_INIT(naomi2);
|
||||
DECLARE_DRIVER_INIT(naomi);
|
||||
DECLARE_DRIVER_INIT(naomigd_mp);
|
||||
DECLARE_DRIVER_INIT(sfz3ugd);
|
||||
@ -75,20 +62,11 @@ class naomi_state : public dc_state
|
||||
DECLARE_WRITE64_MEMBER( naomi_unknown1_w );
|
||||
DECLARE_READ64_MEMBER( eeprom_93c46a_r );
|
||||
DECLARE_WRITE64_MEMBER( eeprom_93c46a_w );
|
||||
DECLARE_READ64_MEMBER( aw_flash_r );
|
||||
DECLARE_WRITE64_MEMBER( aw_flash_w );
|
||||
DECLARE_READ64_MEMBER( aw_modem_r );
|
||||
DECLARE_WRITE64_MEMBER( aw_modem_w );
|
||||
|
||||
uint8_t m_mp_mux;
|
||||
DECLARE_CUSTOM_INPUT_MEMBER(naomi_mp_r);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(naomi_mastercpu_cheat_r);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(naomi_mp_w);
|
||||
|
||||
inline int decode_reg32_64(uint32_t offset, uint64_t mem_mask, uint64_t *shift);
|
||||
|
||||
uint8_t aw_ctrl_type;
|
||||
|
||||
uint8_t asciihex_to_dec(uint8_t in);
|
||||
void create_pic_from_retdat();
|
||||
|
||||
@ -100,7 +78,50 @@ class naomi_state : public dc_state
|
||||
DECLARE_READ64_MEMBER( naomigd_ggxxrl_idle_skip_r );
|
||||
DECLARE_READ64_MEMBER( naomigd_sfz3ugd_idle_skip_r );
|
||||
DECLARE_READ64_MEMBER( hotd2_idle_skip_r );
|
||||
};
|
||||
|
||||
class naomi2_state : public naomi_state
|
||||
{
|
||||
public:
|
||||
naomi2_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: naomi_state(mconfig, type, tag),
|
||||
pvr2_texture_ram(*this, "textureram2"),
|
||||
pvr2_framebuffer_ram(*this, "frameram2"),
|
||||
elan_ram(*this, "elan_ram") { }
|
||||
|
||||
/* Naomi 2 specific (To be moved) */
|
||||
required_shared_ptr<uint64_t> pvr2_texture_ram;
|
||||
required_shared_ptr<uint64_t> pvr2_framebuffer_ram;
|
||||
required_shared_ptr<uint64_t> elan_ram;
|
||||
|
||||
DECLARE_DRIVER_INIT(naomi2);
|
||||
};
|
||||
|
||||
class atomiswave_state : public dc_state
|
||||
{
|
||||
public:
|
||||
atomiswave_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: dc_state(mconfig, type, tag),
|
||||
m_awflash(*this, "awflash")
|
||||
{ }
|
||||
|
||||
required_device<macronix_29l001mc_device> m_awflash;
|
||||
|
||||
DECLARE_READ64_MEMBER( aw_flash_r );
|
||||
DECLARE_WRITE64_MEMBER( aw_flash_w );
|
||||
DECLARE_READ64_MEMBER( aw_modem_r );
|
||||
DECLARE_WRITE64_MEMBER( aw_modem_w );
|
||||
DECLARE_READ64_MEMBER( aw_unknown1_r );
|
||||
DECLARE_WRITE64_MEMBER( aw_unknown1_w );
|
||||
|
||||
DECLARE_DRIVER_INIT(atomiswave);
|
||||
DECLARE_DRIVER_INIT(xtrmhnt2);
|
||||
|
||||
DECLARE_READ64_MEMBER( xtrmhnt2_hack_r );
|
||||
|
||||
protected:
|
||||
uint8_t aw_ctrl_type;
|
||||
inline int decode_reg32_64(uint32_t offset, uint64_t mem_mask, uint64_t *shift);
|
||||
};
|
||||
|
||||
MACHINE_CONFIG_EXTERN( naomi_aw_base );
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "debugger.h"
|
||||
#include "includes/dc.h"
|
||||
#include "cpu/sh4/sh4.h"
|
||||
#include "cpu/arm7/arm7core.h"
|
||||
#include "machine/mie.h"
|
||||
#include "machine/naomig1.h"
|
||||
#include "video/powervr2.h"
|
||||
@ -718,7 +719,46 @@ WRITE32_MEMBER(dc_state::dc_arm_aica_w)
|
||||
m_aica->write(space, offset*2, data, mem_mask&0xffff);
|
||||
}
|
||||
|
||||
READ64_MEMBER(dc_state::sh4_soundram_r )
|
||||
{
|
||||
return *((uint64_t *)dc_sound_ram.target()+offset);
|
||||
}
|
||||
|
||||
WRITE64_MEMBER(dc_state::sh4_soundram_w )
|
||||
{
|
||||
COMBINE_DATA((uint64_t *)dc_sound_ram.target() + offset);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(dc_state::aica_irq)
|
||||
{
|
||||
m_soundcpu->set_input_line(ARM7_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(dc_state::sh4_aica_irq)
|
||||
{
|
||||
if(state)
|
||||
dc_sysctrl_regs[SB_ISTEXT] |= IST_EXT_AICA;
|
||||
else
|
||||
dc_sysctrl_regs[SB_ISTEXT] &= ~IST_EXT_AICA;
|
||||
|
||||
dc_update_interrupt_status();
|
||||
}
|
||||
|
||||
MACHINE_RESET_MEMBER(dc_state,dc_console)
|
||||
{
|
||||
dc_state::machine_reset();
|
||||
m_aica->set_ram_base(dc_sound_ram, 2*1024*1024);
|
||||
}
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(dc_state::dc_scanline)
|
||||
{
|
||||
m_powervr2->pvr_scanline_timer(param);
|
||||
}
|
||||
|
||||
// crude cheat pending SH4 DRC, especially useful for inp playback
|
||||
INPUT_CHANGED_MEMBER(dc_state::mastercpu_cheat_r)
|
||||
{
|
||||
const u32 CPU_CLOCK = (200000000);
|
||||
const u32 timing_value[4] = { CPU_CLOCK, CPU_CLOCK/2, CPU_CLOCK/4, CPU_CLOCK/16 };
|
||||
m_maincpu->set_unscaled_clock(timing_value[newval]);
|
||||
}
|
||||
|
@ -209,7 +209,7 @@ DRIVER_INIT_MEMBER(naomi_state,naomi)
|
||||
create_pic_from_retdat();
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(naomi_state,naomi2)
|
||||
DRIVER_INIT_MEMBER(naomi2_state,naomi2)
|
||||
{
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xc2b0600, 0xc2b0607, read64_delegate(FUNC(naomi_state::naomi2_biose_idle_skip_r),this)); // rev e bios
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user