summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/abc1600.cpp
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2017-10-16 20:49:35 +0300
committer Curt Coder <curtcoder@mail.com>2017-10-16 20:49:43 +0300
commit0a0fd11e71b37a2b78c8be64db383458bdb049a4 (patch)
treefd23013b0f146a2c22e4a27495e7ea4b328456f9 /src/mame/drivers/abc1600.cpp
parent675672381e8b9463aecdc69bd9c06140516e385c (diff)
abc1600: WIP. (nw)
Diffstat (limited to 'src/mame/drivers/abc1600.cpp')
-rw-r--r--src/mame/drivers/abc1600.cpp28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/mame/drivers/abc1600.cpp b/src/mame/drivers/abc1600.cpp
index ecedaa56343..828d4bece86 100644
--- a/src/mame/drivers/abc1600.cpp
+++ b/src/mame/drivers/abc1600.cpp
@@ -35,13 +35,35 @@
TODO:
- starting from MAME 0.151, the Z80 DMA reads 0x08 as the 257th byte to transfer from disk t0s14 thus failing a comparison @ 37cfa, leading to a watchdog reset
- changing z80dma.cpp:477 to "done = (m_count == 0);" fixes this but isn't the real reason
- - abcenix boot stuck in a loop @ 37cfa
+ changing z80dma.cpp:480 to "done = (m_count == 0);" fixes this but isn't the real reason
- segment/page RAM addresses are not correctly decoded, "sas/format/format" after abcenix is booted can't find the SASI interface because of this
[:mac] ':3f' (08A98) MAC 7e4a2:0004a2 (SEGA 02f SEGD 09 PGA 09c PGD 8000 NONX 1 WP 0)
should be
[:mac] ':3f' (089A8) MAC 7e4a2:1fe4a2 (SEGA 00f SEGD 0f PGA 0fc PGD 43fc NONX 0 WP 1)
+ [:mac] ':3f' (100082) SEGMENT 80eeb:27 (SEGA 000 SEGD 27)
+ [:mac] ':3f' (100084) PAGE 80ee8:02 (SEGA 000 SEGD 27 PGA 271 PGD 0283)
+ [:mac] ':3f' (100084) PAGE 80ee9:83 (SEGA 000 SEGD 27 PGA 271 PGD 0283)
+ [:mac] ':3f' (100082) SEGMENT 806eb:27 (SEGA 000 SEGD 27)
+ [:mac] ':3f' (100084) PAGE 806e8:02 (SEGA 000 SEGD 27 PGA 270 PGD 0282)
+ [:mac] ':3f' (100084) PAGE 806e9:82 (SEGA 000 SEGD 27 PGA 270 PGD 0282)
+ [:mac] ':3f' (100082) MAC 7feea:1b8eea (SEGA 00f SEGD 36 PGA 36f PGD 0371 NONX 0 WP 0)
+ [:mac] ':3f' (100082): unmapped program memory write to 1B8EEA = 00 & FF
+ [:mac] ':3f' (100082) MAC 7feeb:1b8eeb (SEGA 00f SEGD 36 PGA 36f PGD 0371 NONX 0 WP 0)
+ [:mac] ':3f' (100082): unmapped program memory write to 1B8EEB = 27 & FF
+ [:mac] ':3f' (100084) MAC 7fee8:1b8ee8 (SEGA 00f SEGD 36 PGA 36f PGD 0371 NONX 0 WP 0)
+ [:mac] ':3f' (100084): unmapped program memory write to 1B8EE8 = 02 & FF
+ [:mac] ':3f' (100084) MAC 7fee9:1b8ee9 (SEGA 00f SEGD 36 PGA 36f PGD 0371 NONX 0 WP 0)
+ [:mac] ':3f' (100084): unmapped program memory write to 1B8EE9 = 81 & FF
+ [:mac] ':3f' (100082) MAC 7f6ea:1b86ea (SEGA 00f SEGD 36 PGA 36e PGD 0370 NONX 0 WP 0)
+ [:mac] ':3f' (100082): unmapped program memory write to 1B86EA = 00 & FF
+ [:mac] ':3f' (100082) MAC 7f6eb:1b86eb (SEGA 00f SEGD 36 PGA 36e PGD 0370 NONX 0 WP 0)
+ [:mac] ':3f' (100082): unmapped program memory write to 1B86EB = 27 & FF
+ [:mac] ':3f' (100084) MAC 7f6e8:1b86e8 (SEGA 00f SEGD 36 PGA 36e PGD 0370 NONX 0 WP 0)
+ [:mac] ':3f' (100084): unmapped program memory write to 1B86E8 = 02 & FF
+ [:mac] ':3f' (100084) MAC 7f6e9:1b86e9 (SEGA 00f SEGD 36 PGA 36e PGD 0370 NONX 0 WP 0)
+ [:mac] ':3f' (100084): unmapped program memory write to 1B86E9 = 80 & FF
+
- short/long reset (RSTBUT)
- CIO
- optimize timers!
@@ -411,6 +433,8 @@ WRITE8_MEMBER( abc1600_state::spec_contr_reg_w )
{
int state = BIT(data, 3);
+ if (LOG) logerror("%s SPEC CONTR REG %u:%u\n", machine().describe_context(), data & 0x07, state);
+
switch (data & 0x07)
{
case 0: // CS7