summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robert <Robbbert@users.noreply.github.com>2017-03-22 21:22:38 +1100
committer GitHub <noreply@github.com>2017-03-22 21:22:38 +1100
commitd33d192d75b2de9b8e96b2e06dd7d6da57d9bcf0 (patch)
tree0434428996d903a805fe3d4555754e0ce05240b5
parent7c0a550d5863c724bd797153e872e35d041052ce (diff)
parent66c278da31137aca9a7bddf89367b2059602ee28 (diff)
Merge pull request #2094 from mgarlanger/h19_super19
Fix Super19 version of Heath H19.
-rw-r--r--src/mame/drivers/h19.cpp31
-rw-r--r--src/mame/mame.lst6
2 files changed, 18 insertions, 19 deletions
diff --git a/src/mame/drivers/h19.cpp b/src/mame/drivers/h19.cpp
index e45d4d7049e..53bdf01ef29 100644
--- a/src/mame/drivers/h19.cpp
+++ b/src/mame/drivers/h19.cpp
@@ -18,9 +18,8 @@
- Finish connecting up the 8250
- enable 8520 interrupts
- speed up emulation
-
- super19 version has the videoram at D800. This is not emulated.
- However, a keyclick can be heard, to assure you it does in fact work.
+ - update SW401 baud rate options for Watz ROM
+ - update SW401 & SW402 definitions for Super-19 ROM
****************************************************************************/
/***************************************************************************
@@ -110,7 +109,6 @@ public:
MC6845_UPDATE_ROW(crtc_update_row);
private:
- //uint8_t m_term_data;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual void machine_reset() override;
required_device<palette_device> m_palette;
@@ -155,23 +153,23 @@ void h19_state::device_timer(emu_timer &timer, device_timer_id id, int param, vo
static ADDRESS_MAP_START(h19_mem, AS_PROGRAM, 8, h19_state)
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE(0x0000, 0x1fff) AM_ROM
- AM_RANGE(0x4000, 0x4100) AM_RAM
- AM_RANGE(0xf800, 0xffff) AM_RAM AM_SHARE("videoram")
+ AM_RANGE(0x0000, 0x1fff) AM_MIRROR(0x2000) AM_ROM
+ AM_RANGE(0x4000, 0x4100) AM_MIRROR(0x3e00) AM_RAM
+ AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x3800) AM_RAM AM_SHARE("videoram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( h19_io, AS_IO, 8, h19_state)
ADDRESS_MAP_UNMAP_HIGH
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x1F) AM_READ_PORT("SW401")
- AM_RANGE(0x20, 0x3F) AM_READ_PORT("SW402")
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0x1f) AM_READ_PORT("SW401")
+ AM_RANGE(0x20, 0x20) AM_MIRROR(0x1f) AM_READ_PORT("SW402")
AM_RANGE(0x40, 0x47) AM_MIRROR(0x18) AM_DEVREADWRITE("ins8250", ins8250_device, ins8250_r, ins8250_w )
- AM_RANGE(0x60, 0x60) AM_DEVWRITE("crtc", mc6845_device, address_w)
- AM_RANGE(0x61, 0x61) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
- AM_RANGE(0x80, 0x9F) AM_READ(kbd_key_r)
- AM_RANGE(0xA0, 0xBF) AM_READ(kbd_flags_r)
- AM_RANGE(0xC0, 0xDF) AM_WRITE(h19_keyclick_w)
- AM_RANGE(0xE0, 0xFF) AM_WRITE(h19_bell_w)
+ AM_RANGE(0x60, 0x60) AM_MIRROR(0x1E) AM_DEVWRITE("crtc", mc6845_device, address_w)
+ AM_RANGE(0x61, 0x61) AM_MIRROR(0x1E) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
+ AM_RANGE(0x80, 0x80) AM_MIRROR(0x1f) AM_READ(kbd_key_r)
+ AM_RANGE(0xA0, 0xA0) AM_MIRROR(0x1f) AM_READ(kbd_flags_r)
+ AM_RANGE(0xC0, 0xC0) AM_MIRROR(0x1f) AM_WRITE(h19_keyclick_w)
+ AM_RANGE(0xE0, 0xE0) AM_MIRROR(0x1f) AM_WRITE(h19_bell_w)
ADDRESS_MAP_END
/* Input ports */
@@ -608,9 +606,10 @@ ROM_START( watz19 )
ROM_LOAD( "keybd.bin", 0x0000, 0x0800, CRC(58dc8217) SHA1(1b23705290bdf9fc6342065c6a528c04bff67b13))
ROM_END
+
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */
COMP( 1979, h19, 0, 0, h19, h19, driver_device, 0, "Heath Inc", "Heathkit H-19", 0 )
/* TODO - verify the years for these third-party replacement ROMs. */
-COMP( 1982, super19, h19, 0, h19, h19, driver_device, 0, "Heath Inc", "Heathkit H-19 w/ Super-19 ROM", MACHINE_NOT_WORKING )
+COMP( 1982, super19, h19, 0, h19, h19, driver_device, 0, "Heath Inc", "Heathkit H-19 w/ Super-19 ROM", 0 )
COMP( 1982, watz19, h19, 0, h19, h19, driver_device, 0, "Heath Inc", "Heathkit H-19 w/ Watzman ROM", 0 )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 6978bbbbd1c..d4cc2fbaf85 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -14209,9 +14209,9 @@ gyrussce // GX347 (c) 1983 + Centuri license
venus // bootleg
@source:h19.cpp
-h19 //
-super19 //
-watz19 //
+h19 // Heath H19 (Zenith Z-19)
+super19 // Super19 replacement ROMS for H19
+watz19 // Watzman replacement ROMS for H19
@source:h8.cpp
h8 //