summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/jensen.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/jensen.h')
-rw-r--r--src/mame/includes/jensen.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/mame/includes/jensen.h b/src/mame/includes/jensen.h
new file mode 100644
index 00000000000..759acd704e7
--- /dev/null
+++ b/src/mame/includes/jensen.h
@@ -0,0 +1,74 @@
+// license:BSD-3-Clause
+// copyright-holders:Patrick Mackinlay
+
+#ifndef MAME_INCLUDES_JENSEN_H
+#define MAME_INCLUDES_JENSEN_H
+
+#pragma once
+
+#include "cpu/alpha/alpha.h"
+
+// memory
+#include "machine/ram.h"
+#include "machine/intelfsh.h"
+
+// various hardware
+#include "machine/i82357.h"
+
+// busses and connectors
+#include "bus/rs232/rs232.h"
+#include "bus/pc_kbd/pc_kbdc.h"
+#include "bus/pc_kbd/keyboards.h"
+
+class jensen_state : public driver_device
+{
+public:
+ jensen_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_cpu(*this, "cpu")
+ , m_ram(*this, "ram")
+ , m_srom(*this, "srom")
+ , m_feprom(*this, "feprom%u", 0)
+ , m_isp(*this, "isp")
+ {
+ }
+
+ // machine config
+ void jensen(machine_config &config);
+
+ void d2k300axp(machine_config &config);
+ void d2k500axp(machine_config &config);
+ void dpcaxp150(machine_config &config);
+
+ void init_common();
+
+protected:
+ // driver_device overrides
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
+ void unpack_srom();
+ u8 get_srom_byte(unsigned const start_bit);
+
+ // address maps
+ void local_memory(address_map &map);
+ void local_io(address_map &map);
+ void eisa_memory(address_map &map);
+ void eisa_io(address_map &map);
+
+private:
+ // devices
+ required_device<alpha_device> m_cpu;
+ required_device<ram_device> m_ram;
+ required_memory_region m_srom;
+ required_device_array<intel_e28f008sa_device, 2> m_feprom;
+
+ required_device<i82357_device> m_isp;
+
+ // machine state
+ u8 m_hae;
+ u8 m_sysctl;
+ u8 m_spare;
+};
+
+#endif // MAME_INCLUDES_JENSEN_H