diff options
-rw-r--r-- | src/mame/drivers/seta.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/mame/drivers/seta.cpp b/src/mame/drivers/seta.cpp index fb42f5b85b1..882b2d09bb6 100644 --- a/src/mame/drivers/seta.cpp +++ b/src/mame/drivers/seta.cpp @@ -2697,6 +2697,7 @@ ADDRESS_MAP_END Pro Mahjong Kiwame ***************************************************************************/ +// TODO: not NVRAM!!! READ16_MEMBER(seta_state::kiwame_nvram_r) { return m_kiwame_nvram[offset] & 0xff; @@ -2735,8 +2736,7 @@ READ16_MEMBER(seta_state::kiwame_input_r) static ADDRESS_MAP_START( kiwame_map, AS_PROGRAM, 16, seta_state ) AM_RANGE(0x000000, 0x07ffff) AM_ROM // ROM - AM_RANGE(0x200000, 0x20ffff) AM_RAM // RAM - AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE(kiwame_nvram_r, kiwame_nvram_w) AM_SHARE("kiwame_nvram") // NVRAM + Regs ? + AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("nvram") // RAM AM_RANGE(0x800000, 0x803fff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spritecode_r16, spritecode_w16) // Sprites Code + X + Attr /**/AM_RANGE(0x900000, 0x900001) AM_RAM // ? 0x4000 /**/AM_RANGE(0xa00000, 0xa005ff) AM_RAM AM_DEVREADWRITE("spritegen", seta001_device, spriteylow_r16, spriteylow_w16) // Sprites Y @@ -2745,6 +2745,7 @@ static ADDRESS_MAP_START( kiwame_map, AS_PROGRAM, 16, seta_state ) AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", x1_010_device, word_r, word_w) // Sound AM_RANGE(0xd00000, 0xd00009) AM_READ(kiwame_input_r) // mahjong panel AM_RANGE(0xe00000, 0xe00003) AM_READ(seta_dsw_r) // DSW + AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE(kiwame_nvram_r, kiwame_nvram_w) AM_SHARE("kiwame_nvram") // TODO: actual unknown device ADDRESS_MAP_END @@ -9022,9 +9023,11 @@ static MACHINE_CONFIG_START( kiwame, seta_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, 16000000) /* 16 MHz */ MCFG_CPU_PROGRAM_MAP(kiwame_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq1_line_hold)/* lev 1-7 are the same. WARNING: - the interrupt table is written to. */ - + /* lev 1-7 are the same. WARNING: the interrupt table is written to. */ + MCFG_CPU_VBLANK_INT_DRIVER("screen", seta_state, irq1_line_hold) + + MCFG_NVRAM_ADD_0FILL("nvram") + MCFG_DEVICE_ADD("spritegen", SETA001_SPRITE, 0) MCFG_SETA001_SPRITE_GFXDECODE("gfxdecode") MCFG_SETA001_SPRITE_GFXBANK_CB(seta_state, setac_gfxbank_callback) @@ -10757,6 +10760,10 @@ ROM_START( kiwame ) ROM_REGION( 0x100000, "x1snd", 0 ) /* Samples */ ROM_LOAD( "fp001006.bin", 0x000000, 0x080000, CRC(96cf395d) SHA1(877b291598e3a42e5003b2f50a16d162348ce72d) ) ROM_LOAD( "fp001005.bin", 0x080000, 0x080000, CRC(65b5fe9a) SHA1(35605be00c7c455551d18386fcb5ad013aa2907e) ) + + // default NVRAM, avoids "BACKUP RAM ERROR" at boot (useful for inp record/playback) + ROM_REGION( 0x10000, "nvram", 0 ) + ROM_LOAD( "nvram.bin", 0, 0x10000, CRC(1f719400) SHA1(c63bbe5d3a0a917f74c1bd5e57cd44389e4e645c) ) ROM_END ROM_START( krzybowl ) |