diff options
author | Patrick Mackinlay <pmackinlay@hotmail.com> | 2019-02-26 18:54:04 +0700 |
---|---|---|
committer | Patrick Mackinlay <pmackinlay@hotmail.com> | 2019-02-26 18:54:04 +0700 |
commit | e02a5cf1f526385363d874fa6fbe3ffacb217e4e (patch) | |
tree | 24688348450f8ab1b97178bbca5176ca9825f902 /src/mame/drivers/decstation.cpp | |
parent | 330c498e5d5e6f592551db2b4c07c753f2d1a29f (diff) |
mips1: fpu emulation
Code refactoring makes the changes hard to isolate, but the main improvements are:
* implemented fpu instructions and exceptions
* corrected swl/swr implementation
* tlb mru lookup optimization
* interrupt and privilege debugger breakpoints
Diffstat (limited to 'src/mame/drivers/decstation.cpp')
-rw-r--r-- | src/mame/drivers/decstation.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mame/drivers/decstation.cpp b/src/mame/drivers/decstation.cpp index 322f94cd352..93e23d9fb0c 100644 --- a/src/mame/drivers/decstation.cpp +++ b/src/mame/drivers/decstation.cpp @@ -133,7 +133,7 @@ private: uint32_t kn01_screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); - required_device<mips1core_device_base> m_maincpu; + required_device<mips1_device_base> m_maincpu; required_device<screen_device> m_screen; optional_device<timer_device> m_scantimer; optional_device<decsfb_device> m_sfb; @@ -546,7 +546,7 @@ static void dec_scsi_devices(device_slot_interface &device) MACHINE_CONFIG_START(decstation_state::kn01) R2000(config, m_maincpu, 16.67_MHz_XTAL, 65536, 131072); m_maincpu->set_endianness(ENDIANNESS_LITTLE); - m_maincpu->set_fpurev(0x340); + m_maincpu->set_fpu(mips1_device_base::MIPS_R3010Av4); m_maincpu->in_brcond<0>().set(FUNC(decstation_state::brcond0_r)); m_maincpu->set_addrmap(AS_PROGRAM, &decstation_state::kn01_map); @@ -570,7 +570,7 @@ MACHINE_CONFIG_END MACHINE_CONFIG_START(decstation_state::kn02ba) R3000A(config, m_maincpu, 33.333_MHz_XTAL, 65536, 131072); m_maincpu->set_endianness(ENDIANNESS_LITTLE); - m_maincpu->set_fpurev(0x340); // should be R3010A v4.0 + m_maincpu->set_fpu(mips1_device_base::MIPS_R3010Av4); m_maincpu->in_brcond<0>().set(FUNC(decstation_state::brcond0_r)); m_maincpu->set_addrmap(AS_PROGRAM, &decstation_state::threemin_map); |