mirror of
https://github.com/holub/mame
synced 2025-06-05 12:26:35 +03:00
naomi: enable reset from dimm board and make games boot (nw)
To test set the constant work_mode in naomigd.h to 1
This commit is contained in:
parent
df8185b8e7
commit
142f8b0030
@ -2922,6 +2922,17 @@ MACHINE_RESET_MEMBER(naomi_state,naomi)
|
|||||||
naomi_state::machine_reset();
|
naomi_state::machine_reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
WRITE_LINE_MEMBER(naomi_state::external_reset)
|
||||||
|
{
|
||||||
|
// routine called by the dimm board to reboot the naomi mainboard
|
||||||
|
logerror("Received reset fromm dimm board !\n");
|
||||||
|
naomi_state::machine_reset();
|
||||||
|
m_maincpu->reset();
|
||||||
|
// it will probably need to be adjusted
|
||||||
|
m_aica->reset();
|
||||||
|
m_soundcpu->reset();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Common for Naomi 1, Naomi GD-Rom, Naomi 2, Atomiswave ...
|
* Common for Naomi 1, Naomi GD-Rom, Naomi 2, Atomiswave ...
|
||||||
*/
|
*/
|
||||||
@ -3012,6 +3023,7 @@ void naomi_state::naomi(machine_config &config)
|
|||||||
naomi_rom_board &rom_board(NAOMI_ROM_BOARD(config, "rom_board", 0, "naomibd_eeprom"));
|
naomi_rom_board &rom_board(NAOMI_ROM_BOARD(config, "rom_board", 0, "naomibd_eeprom"));
|
||||||
rom_board.irq_callback().set(FUNC(dc_state::g1_irq));
|
rom_board.irq_callback().set(FUNC(dc_state::g1_irq));
|
||||||
rom_board.ext_irq_callback().set(FUNC(dc_state::external_irq));
|
rom_board.ext_irq_callback().set(FUNC(dc_state::external_irq));
|
||||||
|
rom_board.reset_out_callback().set(FUNC(naomi_state::external_reset));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -3024,6 +3036,7 @@ void naomi_state::naomigd(machine_config &config)
|
|||||||
naomi_gdrom_board &rom_board(NAOMI_GDROM_BOARD(config, "rom_board", 0, "naomibd_eeprom", ":gdrom", "pic"));
|
naomi_gdrom_board &rom_board(NAOMI_GDROM_BOARD(config, "rom_board", 0, "naomibd_eeprom", ":gdrom", "pic"));
|
||||||
rom_board.irq_callback().set(FUNC(dc_state::g1_irq));
|
rom_board.irq_callback().set(FUNC(dc_state::g1_irq));
|
||||||
rom_board.ext_irq_callback().set(FUNC(dc_state::external_irq));
|
rom_board.ext_irq_callback().set(FUNC(dc_state::external_irq));
|
||||||
|
rom_board.reset_out_callback().set(FUNC(naomi_state::external_reset));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -79,6 +79,7 @@ protected:
|
|||||||
optional_ioport_array<5> m_mp;
|
optional_ioport_array<5> m_mp;
|
||||||
|
|
||||||
DECLARE_MACHINE_RESET(naomi);
|
DECLARE_MACHINE_RESET(naomi);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(external_reset);
|
||||||
|
|
||||||
DECLARE_READ16_MEMBER( naomi_g2bus_r );
|
DECLARE_READ16_MEMBER( naomi_g2bus_r );
|
||||||
DECLARE_READ64_MEMBER( eeprom_93c46a_r );
|
DECLARE_READ64_MEMBER( eeprom_93c46a_r );
|
||||||
|
@ -1070,10 +1070,10 @@ ROM_START( dimm )
|
|||||||
|
|
||||||
// dynamically filled with data
|
// dynamically filled with data
|
||||||
ROM_REGION(0x1000, "pic", ROMREGION_ERASE00)
|
ROM_REGION(0x1000, "pic", ROMREGION_ERASE00)
|
||||||
ROM_REGION(0x100, "i2c_0", ROMREGION_ERASE00)
|
ROM_REGION(0x80, "i2c_0", ROMREGION_ERASE00)
|
||||||
ROM_LOAD("dimmspd.bin", 0x00, 0x100, CRC(ad3bf001) SHA1(462290324b02ae87416381e24491319f35033ae3))
|
ROM_LOAD("dimmspd.bin", 0x00, 0x80, CRC(45dac6d7) SHA1(4548675f8d31348fa6828d5b4f247af1f072b62d))
|
||||||
ROM_REGION(0x100, "i2c_1", ROMREGION_ERASE00)
|
ROM_REGION(0x80, "i2c_1", ROMREGION_ERASE00)
|
||||||
ROM_LOAD("dimmspd.bin", 0x00, 0x100, CRC(ad3bf001) SHA1(462290324b02ae87416381e24491319f35033ae3))
|
ROM_LOAD("dimmspd.bin", 0x00, 0x80, CRC(45dac6d7) SHA1(4548675f8d31348fa6828d5b4f247af1f072b62d))
|
||||||
ROM_REGION(0x80, "eeprom", ROMREGION_ERASE00)
|
ROM_REGION(0x80, "eeprom", ROMREGION_ERASE00)
|
||||||
ROM_LOAD("93c46.bin", 0x00, 0x80, CRC(daafbccd) SHA1(1e39983779a62ebc6801ec6f2a5138717a7a5259))
|
ROM_LOAD("93c46.bin", 0x00, 0x80, CRC(daafbccd) SHA1(1e39983779a62ebc6801ec6f2a5138717a7a5259))
|
||||||
ROM_END
|
ROM_END
|
||||||
|
Loading…
Reference in New Issue
Block a user