summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-06-08 14:29:35 -0400
committer AJR <ajrhacker@users.noreply.github.com>2020-06-08 14:29:35 -0400
commit26920665753196097740b2849aeeb1c59b181cbf (patch)
tree34090aca776abd373c3a1ac9ab0161081974edc0
parentefb5a1a1ed55cca4cd84788a42c3c40a0d259a77 (diff)
New machines marked as NOT_WORKING
---------------------------------- GNAT System 10 [Don Maslin Vintage Computer Archive, AJR]
-rw-r--r--scripts/target/mame/mess.lua1
-rw-r--r--src/mame/drivers/gnat10.cpp84
-rw-r--r--src/mame/mame.lst3
-rw-r--r--src/mame/mess.flt1
4 files changed, 89 insertions, 0 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 23ebbb096da..9b04c70c3ca 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -4334,6 +4334,7 @@ files {
MAME_DIR .. "src/mame/drivers/gameking.cpp",
MAME_DIR .. "src/mame/drivers/gigatron.cpp",
MAME_DIR .. "src/mame/drivers/gimix.cpp",
+ MAME_DIR .. "src/mame/drivers/gnat10.cpp",
MAME_DIR .. "src/mame/drivers/goupil.cpp",
MAME_DIR .. "src/mame/drivers/grfd2301.cpp",
MAME_DIR .. "src/mame/drivers/hazeltin.cpp",
diff --git a/src/mame/drivers/gnat10.cpp b/src/mame/drivers/gnat10.cpp
new file mode 100644
index 00000000000..1e0f2c36fc5
--- /dev/null
+++ b/src/mame/drivers/gnat10.cpp
@@ -0,0 +1,84 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/****************************************************************************
+
+ Skeleton driver for CP/M system by GNAT Computers.
+
+ For more information, visit the following link:
+ https://classictech.wordpress.com/computer-companies/gnat-computers-san-diego-calif/
+
+****************************************************************************/
+
+#include "emu.h"
+#include "cpu/z80/z80.h"
+#include "machine/wd_fdc.h"
+#include "machine/z80sio.h"
+
+class gnat10_state : public driver_device
+{
+public:
+ gnat10_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_fdc(*this, "fdc")
+ {
+ }
+
+ void gnat10(machine_config &config);
+
+private:
+ u8 floppy_status_r();
+
+ void mem_map(address_map &map);
+ void io_map(address_map &map);
+
+ required_device<cpu_device> m_maincpu;
+ required_device<fd1797_device> m_fdc;
+};
+
+
+u8 gnat10_state::floppy_status_r()
+{
+ return m_fdc->drq_r() << 7 | m_fdc->intrq_r();
+}
+
+void gnat10_state::mem_map(address_map &map)
+{
+ map(0x0000, 0x0002).rom().region("boot", 0);
+ map(0x0003, 0xf7ff).ram();
+ map(0xf800, 0xffff).rom().region("boot", 0);
+}
+
+void gnat10_state::io_map(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x60, 0x63).rw("sio1", FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
+ map(0x70, 0x73).rw("sio2", FUNC(z80sio_device::ba_cd_r), FUNC(z80sio_device::ba_cd_w));
+ map(0x80, 0x83).rw(m_fdc, FUNC(fd1797_device::read), FUNC(fd1797_device::write));
+ map(0xa0, 0xa0).r(FUNC(gnat10_state::floppy_status_r));
+}
+
+
+static INPUT_PORTS_START(gnat10)
+INPUT_PORTS_END
+
+void gnat10_state::gnat10(machine_config &config)
+{
+ Z80(config, m_maincpu, 4'000'000);
+ m_maincpu->set_addrmap(AS_PROGRAM, &gnat10_state::mem_map);
+ m_maincpu->set_addrmap(AS_IO, &gnat10_state::io_map);
+
+ Z80SIO(config, "sio1", 4'000'000); // type unknown
+ Z80SIO(config, "sio2", 4'000'000); // type unknown
+
+ FD1797(config, m_fdc, 1'000'000); // type unknown
+
+ // TODO: video screen, peripheral ports
+}
+
+ROM_START(gnat10)
+ ROM_REGION(0x800, "boot", 0)
+ ROM_LOAD("gnat-507", 0x000, 0x800, CRC(72baa750) SHA1(7b78324b90b8c6f78c88a7dde8d53ea612ea1f7f)) // LF patched back to CR/LF in four instances
+ROM_END
+
+COMP(1980, gnat10, 0, 0, gnat10, gnat10, gnat10_state, empty_init, "GNAT Computers", "GNAT System 10", MACHINE_IS_SKELETON)
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 5fdb883c7f2..1c02e7c3763 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -14910,6 +14910,9 @@ gluck2 // 1992 Yung Yu / CYE
@source:gmaster.cpp
gmaster // Hartung Gamemaster
+@source:gnat.cpp
+gnat10 // GNAT System 10
+
@source:gng.cpp
diamond // (c) 1989 KH Video (NOT A CAPCOM GAME but runs on GnG hardware)
gng // 9/1985 (c) 1985
diff --git a/src/mame/mess.flt b/src/mame/mess.flt
index aa6c9bbc40b..ca42ada32c7 100644
--- a/src/mame/mess.flt
+++ b/src/mame/mess.flt
@@ -343,6 +343,7 @@ gizmondo.cpp
gkidabc.cpp
glcx.cpp
gmaster.cpp
+gnat10.cpp
goupil.cpp
gp2x.cpp
gp32.cpp