summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/ti990_4.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/ti990_4.cpp')
-rw-r--r--src/mame/drivers/ti990_4.cpp66
1 files changed, 29 insertions, 37 deletions
diff --git a/src/mame/drivers/ti990_4.cpp b/src/mame/drivers/ti990_4.cpp
index 1592b1ab93a..22520495a9a 100644
--- a/src/mame/drivers/ti990_4.cpp
+++ b/src/mame/drivers/ti990_4.cpp
@@ -115,8 +115,8 @@ void ti990_4_state::device_timer(emu_timer &timer, device_timer_id id, int param
READ8_MEMBER( ti990_4_state::panel_read )
{
- if (offset == 1)
- return 0x48;
+ if (offset == 11 || offset == 14)
+ return 1;
return 0;
}
@@ -227,47 +227,37 @@ void ti990_4_state::memmap(address_map &map)
/*
CRU map
- 0x000-0xF7F: user devices
- 0xF80-0xF9F: CRU interrupt + expansion control
- 0xFA0-0xFAF: TILINE coupler interrupt control
- 0xFB0-0xFCF: reserved
- 0xFD0-0xFDF: memory mapping and memory protect
- 0xFE0-0xFEF: internal interrupt control
- 0xFF0-0xFFF: front panel
+ 0x0000-0x1EFF: user devices
+ 0x1F00-0x1F3F: CRU interrupt + expansion control
+ 0x1F40-0x1F5F: TILINE coupler interrupt control
+ 0x1F60-0x1F9F: reserved
+ 0x1FA0-0x1FBF: memory mapping and memory protect
+ 0x1FC0-0x1FDF: internal interrupt control
+ 0x1FF0-0x1FFF: front panel
Default user map:
- 0x000-0x00f: 733 ASR (int 6)
- 0x010-0x01f: PROM programmer (wired to int 15, unused)
- 0x020-0x02f: 804 card reader (int 4)
- 0x030-0x03f: line printer (wired to int 14, unused)
- 0x040-0x05f: FD800 floppy controller (int 7)
- 0x060-0x07f: VDT1 (int 3 - wired to int 11, unused)
- 0x080-0x09f: VDT2, or CRU expansion (int ??? - wired to int 10, unused)
- 0x0a0-0x0bf: VDT3 (int ??? - wired to int 9, unused)
+ 0x0000-0x001f: 733 ASR (int 6)
+ 0x0020-0x003f: PROM programmer (wired to int 15, unused)
+ 0x0040-0x005f: 804 card reader (int 4)
+ 0x0060-0x007f: line printer (wired to int 14, unused)
+ 0x0080-0x00bf: FD800 floppy controller (int 7)
+ 0x00c0-0x00ff: VDT1 (int 3 - wired to int 11, unused)
+ 0x0100-0x013f: VDT2, or CRU expansion (int ??? - wired to int 10, unused)
+ 0x0140-0x017f: VDT3 (int ??? - wired to int 9, unused)
*/
void ti990_4_state::crumap(address_map &map)
{
- map(0x00, 0x01).r("asr733", FUNC(asr733_device::cru_r));
- map(0x00, 0x0f).w("asr733", FUNC(asr733_device::cru_w));
-
- map(0x08, 0x0b).r(m_fd800, FUNC(fd800_legacy_device::cru_r));
- map(0x40, 0x5f).w(m_fd800, FUNC(fd800_legacy_device::cru_w));
-
- map(0x1fe, 0x1ff).r(FUNC(ti990_4_state::panel_read));
- map(0xff0, 0xfff).w(FUNC(ti990_4_state::panel_write));
+ map(0x0000, 0x001f).rw("asr733", FUNC(asr733_device::cru_r), FUNC(asr733_device::cru_w));
+ map(0x0080, 0x00bf).rw(m_fd800, FUNC(fd800_legacy_device::cru_r), FUNC(fd800_legacy_device::cru_w));
+ map(0x1fe0, 0x1fff).rw(FUNC(ti990_4_state::panel_read), FUNC(ti990_4_state::panel_write));
}
void ti990_4_state::crumap_v(address_map &map)
{
- map(0x10, 0x11).r("vdt911", FUNC(vdt911_device::cru_r));
- map(0x80, 0x8f).w("vdt911", FUNC(vdt911_device::cru_w));
-
- map(0x08, 0x0b).r(m_fd800, FUNC(fd800_legacy_device::cru_r));
- map(0x40, 0x5f).w(m_fd800, FUNC(fd800_legacy_device::cru_w));
-
- map(0x1fe, 0x1ff).r(FUNC(ti990_4_state::panel_read));
- map(0xff0, 0xfff).w(FUNC(ti990_4_state::panel_write));
+ map(0x0080, 0x00bf).rw(m_fd800, FUNC(fd800_legacy_device::cru_r), FUNC(fd800_legacy_device::cru_w));
+ map(0x0100, 0x011f).rw("vdt911", FUNC(vdt911_device::cru_r), FUNC(vdt911_device::cru_w));
+ map(0x1fe0, 0x1fff).rw(FUNC(ti990_4_state::panel_read), FUNC(ti990_4_state::panel_write));
}
@@ -291,7 +281,8 @@ void ti990_4_state::init_ti990_4()
m_nmi_timer = timer_alloc(NMI_TIMER_ID);
}
-MACHINE_CONFIG_START(ti990_4_state::ti990_4)
+void ti990_4_state::ti990_4(machine_config &config)
+{
/* basic machine hardware */
/* TMS9900 CPU @ 3.0(???) MHz */
TMS9900(config, m_maincpu, 3000000);
@@ -311,9 +302,10 @@ MACHINE_CONFIG_START(ti990_4_state::ti990_4)
TI99X_FD800(config, "fd800", 0).int_cb().set(FUNC(ti990_4_state::fd_interrupt));
// TODO: Add floppy drives
-MACHINE_CONFIG_END
+}
-MACHINE_CONFIG_START(ti990_4_state::ti990_4v)
+void ti990_4_state::ti990_4v(machine_config &config)
+{
/* basic machine hardware */
/* TMS9900 CPU @ 3.0(???) MHz */
TMS9900(config, m_maincpu, 3000000);
@@ -331,7 +323,7 @@ MACHINE_CONFIG_START(ti990_4_state::ti990_4v)
TI99X_FD800(config, "fd800", 0).int_cb().set(FUNC(ti990_4_state::fd_interrupt));
// TODO: Add floppy drives
-MACHINE_CONFIG_END
+}
/*
ROM loading