summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Michael Zapf <Michael.Zapf@mizapf.de>2019-04-18 22:31:15 +0200
committer Michael Zapf <Michael.Zapf@mizapf.de>2019-04-18 22:31:15 +0200
commit72a90d61d25ff55167705370d7ae61a69b4ffefa (patch)
tree0c4fa2d135c5b9292e86d9f49930b49781264503
parent990e11598a14bdfc52a84d77d3e07d743e1d387b (diff)
tmspoker: Added some comments for later resolution. (nw)
-rw-r--r--src/mame/drivers/tmspoker.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/mame/drivers/tmspoker.cpp b/src/mame/drivers/tmspoker.cpp
index b68dcd14318..103c992b457 100644
--- a/src/mame/drivers/tmspoker.cpp
+++ b/src/mame/drivers/tmspoker.cpp
@@ -310,8 +310,14 @@ void tmspoker_state::tmspoker_palette(palette_device &palette) const
INTERRUPT_GEN_MEMBER(tmspoker_state::tmspoker_interrupt)
{
- m_maincpu->set_input_line(INT_9980A_LEVEL1, ASSERT_LINE); //_and_vector(0, ASSERT_LINE, 3);//2=nmi 3,4,5,6
- m_maincpu->set_input_line(INT_9980A_LEVEL1, CLEAR_LINE); // MZ: do we need this?
+ m_maincpu->set_input_line(INT_9980A_LEVEL1, ASSERT_LINE);
+ // MZ: The TMS9980A uses level-triggered interrupts, so this
+ // interrupt must somehow be cleared later. Clearing the line
+ // immediately is not effective, since the interrupt is not latched
+ // and will be lost.
+ // In addition, the TMS99xx processors do not offer an interrupt
+ // acknowledge output, so this is possibly done by using a CRU port.
+ // Needs further investigation of the ROM contents.
}
@@ -340,6 +346,16 @@ void tmspoker_state::machine_reset()
* Memory Map Information *
*************************/
//59a
+
+// MZ: The driver locks up in this loop until it gets an interrupt on level 2.
+// This is obviously missing.
+//
+// 0982: CLR @>2040 04E0 2040
+// 0986: MOV @>2040,@>2040 C820 2040 2040
+// 098C: JEQ >0986 13FC
+// 098E: RT 045B
+//
+
void tmspoker_state::tmspoker_map(address_map &map)
{
map.global_mask(0x3fff);