summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/f3853.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/f3853.cpp')
-rw-r--r--src/devices/machine/f3853.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/devices/machine/f3853.cpp b/src/devices/machine/f3853.cpp
index 29be4c38823..7a23f5a04d0 100644
--- a/src/devices/machine/f3853.cpp
+++ b/src/devices/machine/f3853.cpp
@@ -50,7 +50,7 @@ f3853_device::f3853_device(const machine_config &mconfig, device_type type, cons
m_int_vector(0),
m_prescaler(31),
m_priority_line(false),
- m_external_interrupt_line(true)
+ m_external_interrupt_line(false)
{ }
f3853_device::f3853_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
@@ -210,7 +210,7 @@ TIMER_CALLBACK_MEMBER(f3853_device::timer_callback)
WRITE_LINE_MEMBER(f3853_device::ext_int_w)
{
- if (m_external_interrupt_line && !state && m_external_int_enable)
+ if (!m_external_interrupt_line && state && m_external_int_enable)
{
m_request_flipflop = true;
}
@@ -387,6 +387,20 @@ WRITE8_MEMBER(f3856_device::write)
// f38t56_device-specific handlers
//-------------------------------------------------
+READ8_MEMBER(f38t56_device::read)
+{
+ switch (offset & 3)
+ {
+ // interrupt: sense ext int pin
+ case 2:
+ return (m_external_interrupt_line) ? 0 : 0x80;
+
+ // other: same as 3856
+ default:
+ return f3856_device::read(space, offset);
+ }
+}
+
WRITE8_MEMBER(f38t56_device::write)
{
switch (offset & 3)