summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Joakim Larsson Edstrom <joakimlarsson42@gmail.com>2016-11-14 17:40:24 +0100
committer Joakim Larsson Edstrom <joakimlarsson42@gmail.com>2016-11-16 10:48:23 +0100
commit619334986f3eb7b1b5267593579a4b6657472da2 (patch)
tree56b35be3f715732f28376074c69a0c334579f680 /src
parent0d17e0ff72d55673186df40fa757383a7d3042fb (diff)
fccpu30: Exposed possibility to turn off FPU in case it is not installed
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/fccpu30.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mame/drivers/fccpu30.cpp b/src/mame/drivers/fccpu30.cpp
index 8aca838b4a7..43b603215f6 100644
--- a/src/mame/drivers/fccpu30.cpp
+++ b/src/mame/drivers/fccpu30.cpp
@@ -280,7 +280,7 @@ cpu30_state(const machine_config &mconfig, device_type type, const char *tag)
protected:
private:
- required_device<cpu_device> m_maincpu;
+ required_device<m68000_base_device> m_maincpu;
required_device<ram_device> m_ram;
required_device<duscc68562_device> m_dusccterm;
@@ -473,11 +473,13 @@ WRITE8_MEMBER (cpu30_state::flop_dmac_w){
LOG(("%s(%02x)\n", FUNCNAME, data));
}
-// PIT#1 Port C TODO: implement timer+port interrupts and 68882 sense
+#define FPCP_SENSE 0x40 /* Port C bit 6 is low if a Floating Point Co Processor is installed */
+// PIT#1 Port C TODO: implement timer+port interrupts
// TODO: Connect PC0, PC1, PC4 and PC7 to B5 and/or P2 connector
READ8_MEMBER (cpu30_state::pit1c_r){
LOG(("%s\n", FUNCNAME));
- return 0xff;
+ m_maincpu->has_fpu = 1; // Lets assume the FPCP is always installed ( which is default for 68030 atm )
+ return 0xff & ~FPCP_SENSE; // Should really be command line for the edge cases...
}
WRITE8_MEMBER (cpu30_state::pit1c_w){