summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes
diff options
context:
space:
mode:
author Patrick Mackinlay <pmackinlay@hotmail.com>2020-10-16 18:12:48 +0700
committer Patrick Mackinlay <pmackinlay@hotmail.com>2020-10-16 18:12:48 +0700
commitb1784c8e3fa1335ddd3c8d3b9f26f33cae75431c (patch)
tree2e93e78303f62ebd9ab37cf95f59bf57b0d0b309 /src/mame/includes
parent03ee6c490a70690f2a10d696e8b80727705717a5 (diff)
driver housekeeping
* eliminated interpro, jazz, jensen and mips driver headers * wrapped same drivers in anonymous namespace
Diffstat (limited to 'src/mame/includes')
-rw-r--r--src/mame/includes/interpro.h409
-rw-r--r--src/mame/includes/jazz.h122
-rw-r--r--src/mame/includes/jensen.h72
-rw-r--r--src/mame/includes/mips.h240
4 files changed, 0 insertions, 843 deletions
diff --git a/src/mame/includes/interpro.h b/src/mame/includes/interpro.h
deleted file mode 100644
index 9b90fd28fc6..00000000000
--- a/src/mame/includes/interpro.h
+++ /dev/null
@@ -1,409 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Patrick Mackinlay
-
-#ifndef MAME_INCLUDES_INTERPRO_H
-#define MAME_INCLUDES_INTERPRO_H
-
-#pragma once
-
-#include "cpu/clipper/clipper.h"
-#include "machine/cammu.h"
-
-#include "machine/interpro_ioga.h"
-#include "machine/interpro_mcga.h"
-#include "machine/interpro_sga.h"
-#include "machine/interpro_arbga.h"
-
-#include "imagedev/floppy.h"
-#include "machine/ram.h"
-#include "machine/28fxxx.h"
-#include "machine/mc146818.h"
-#include "machine/z80scc.h"
-#include "machine/upd765.h"
-#include "machine/i82586.h"
-
-#include "machine/ncr5390.h"
-#include "machine/nscsi_bus.h"
-#include "bus/nscsi/cd.h"
-#include "bus/nscsi/hd.h"
-
-#include "bus/rs232/rs232.h"
-
-#include "bus/interpro/sr/sr.h"
-#include "bus/interpro/sr/sr_cards.h"
-#include "bus/interpro/keyboard/keyboard.h"
-#include "bus/interpro/mouse/mouse.h"
-
-#include "formats/pc_dsk.h"
-#include "softlist.h"
-
-#define INTERPRO_CPU_TAG "cpu"
-#define INTERPRO_MMU_TAG "cammu"
-#define INTERPRO_MCGA_TAG "mcga"
-#define INTERPRO_SGA_TAG "sga"
-#define INTERPRO_FDC_TAG "fdc"
-#define INTERPRO_ARBGA_TAG "arbga"
-#define INTERPRO_SCC1_TAG "scc1"
-#define INTERPRO_SCC2_TAG "scc2"
-#define INTERPRO_SERIAL_PORT0_TAG "serial0"
-#define INTERPRO_SERIAL_PORT1_TAG "serial1"
-#define INTERPRO_SERIAL_PORT2_TAG "serial2"
-#define INTERPRO_KEYBOARD_PORT_TAG "kbd"
-#define INTERPRO_MOUSE_PORT_TAG "mse"
-#define INTERPRO_RTC_TAG "rtc"
-#define INTERPRO_SCSI_TAG "scsi"
-#define INTERPRO_SCSI_ADAPTER_TAG "host"
-#define INTERPRO_SCSI_DEVICE_TAG INTERPRO_SCSI_TAG ":7:" INTERPRO_SCSI_ADAPTER_TAG
-#define INTERPRO_ETH_TAG "eth"
-#define INTERPRO_IOGA_TAG "ioga"
-
-#define INTERPRO_NODEID_TAG "nodeid"
-#define INTERPRO_IDPROM_TAG "idprom"
-#define INTERPRO_EPROM_TAG "eprom"
-#define INTERPRO_FLASH_TAG "flash"
-
-#define INTERPRO_SLOT_TAG "slot"
-
-class interpro_state : public driver_device
-{
-public:
- interpro_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag)
- , m_maincpu(*this, INTERPRO_CPU_TAG)
- , m_ram(*this, RAM_TAG)
- , m_mcga(*this, INTERPRO_MCGA_TAG)
- , m_sga(*this, INTERPRO_SGA_TAG)
- , m_fdc(*this, INTERPRO_FDC_TAG)
- , m_scc1(*this, INTERPRO_SCC1_TAG)
- , m_scc2(*this, INTERPRO_SCC2_TAG)
- , m_rtc(*this, INTERPRO_RTC_TAG)
- , m_scsibus(*this, INTERPRO_SCSI_TAG)
- , m_eth(*this, INTERPRO_ETH_TAG)
- , m_ioga(*this, INTERPRO_IOGA_TAG)
- , m_eprom(*this, INTERPRO_EPROM_TAG)
- , m_softlist(*this, "softlist")
- , m_diag_led(*this, "digit0")
- {
- }
-
- required_device<clipper_device> m_maincpu;
- required_device<ram_device> m_ram;
-
- required_device<interpro_mcga_device> m_mcga;
- required_device<interpro_sga_device> m_sga;
- required_device<upd765_family_device> m_fdc;
- required_device<z80scc_device> m_scc1;
- required_device<z80scc_device> m_scc2;
- required_device<mc146818_device> m_rtc;
- required_device<nscsi_bus_device> m_scsibus;
- required_device<i82586_base_device> m_eth;
- required_device<interpro_ioga_device> m_ioga;
- required_region_ptr<u16> m_eprom;
-
- required_device<software_list_device> m_softlist;
-
- void init_common();
-
- virtual u32 unmapped_r(address_space &space, offs_t offset);
- virtual void unmapped_w(offs_t offset, u32 data);
-
- enum error_mask : u16
- {
- ERROR_BPID4 = 0x0001,
- ERROR_SRXMMBE = 0x0002,
- ERROR_SRXHOG = 0x0004,
- ERROR_SRXNEM = 0x0008,
- ERROR_SRXVALID = 0x0010,
- ERROR_CBUSNMI = 0x0020,
- ERROR_CBUSBG = 0x00c0,
- ERROR_BG = 0x0070,
- ERROR_BUSHOG = 0x0080
- };
- u16 error_r();
-
- void led_w(offs_t offset, u16 data, u16 mem_mask = ~0);
-
- enum status_mask : u16
- {
- STATUS_YELLOW_ZONE = 0x0001,
- STATUS_SRNMI = 0x0002,
- STATUS_PWRLOSS = 0x0004,
- STATUS_RED_ZONE = 0x0008,
- STATUS_BP = 0x00f0
- };
- u16 status_r() { return m_status; }
-
- virtual u16 ctrl1_r() = 0;
- virtual void ctrl1_w(offs_t offset, u16 data, u16 mem_mask = ~0) = 0;
- virtual u16 ctrl2_r() = 0;
- virtual void ctrl2_w(offs_t offset, u16 data, u16 mem_mask = ~0) = 0;
-
- u8 nodeid_r(address_space &space, offs_t offset);
-
- DECLARE_FLOPPY_FORMATS(floppy_formats);
-
- void ioga(machine_config &config);
- void interpro_serial(machine_config &config);
- void interpro(machine_config &config);
- static void interpro_scsi_adapter(device_t *device);
- static void interpro_cdrom(device_t *device);
- void interpro_boot_map(address_map &map);
- void interpro_common_map(address_map &map);
-
-protected:
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
- output_finder<> m_diag_led;
- emu_timer *m_reset_timer;
-
- u16 m_error;
- u16 m_status;
- u16 m_led;
-};
-
-class emerald_state : public interpro_state
-{
-public:
- emerald_state(const machine_config &mconfig, device_type type, const char *tag)
- : interpro_state(mconfig, type, tag)
- , m_d_cammu(*this, INTERPRO_MMU_TAG "_d")
- , m_i_cammu(*this, INTERPRO_MMU_TAG "_i")
- , m_scsi(*this, INTERPRO_SCSI_DEVICE_TAG)
- , m_bus(*this, INTERPRO_SLOT_TAG)
- {
- }
-
- void error_w(u8 data) { m_error = data; }
-
- enum ctrl1_mask : u16
- {
- CTRL1_FLOPLOW = 0x0001, // 3.5" floppy select
- CTRL1_FLOPRDY = 0x0002, // floppy ready enable?
- CTRL1_LEDENA = 0x0004, // led display enable
- CTRL1_LEDDP = 0x0008, // led right decimal point enable
- CTRL1_ETHLOOP = 0x0010, // ethernet loopback enable?
- CTRL1_ETHDTR = 0x0020, // modem dtr pin enable?
- CTRL1_ETHRMOD = 0x0040, // remote modem configured (read)?
- CTRL1_CLIPRESET = 0x0040, // hard reset (write)?
- CTRL1_FIFOACTIVE = 0x0080 // plotter fifo active?
- };
- u16 ctrl1_r() override { return m_ctrl1; }
- void ctrl1_w(offs_t offset, u16 data, u16 mem_mask = ~0) override;
-
- enum ctrl2_mask : u16
- {
- CTRL2_PWRUP = 0x0001, // power supply voltage adjust?
- CRTL2_PWRENA = 0x0002, // ?
- CTRL2_HOLDOFF = 0x0004, // power supply shut down delay
- CTRL2_EXTNMIENA = 0x0008, // power nmi enable
- CTRL2_COLDSTART = 0x0010, // cold start flag
- CTRL2_RESET = 0x0020, // soft reset
- CTRL2_BUSENA = 0x0040, // clear bus grant error
- CTRL2_FRCPARITY = 0x0080, // ?
-
- CTRL2_WMASK = 0x000f
- };
- u16 ctrl2_r() override { return m_ctrl2; }
- void ctrl2_w(offs_t offset, u16 data, u16 mem_mask = ~0) override;
-
- required_device<cammu_c3_device> m_d_cammu;
- required_device<cammu_c3_device> m_i_cammu;
- required_device<ncr53c90a_device> m_scsi;
- required_device<srx_bus_device> m_bus;
-
- void emerald(machine_config &config);
- void ip6000(machine_config &config);
- void interpro_82586_map(address_map &map);
- void emerald_base_map(address_map &map);
- void emerald_main_map(address_map &map);
- void emerald_io_map(address_map &map);
-
-protected:
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
-private:
- u16 m_ctrl1;
- u16 m_ctrl2;
-};
-
-class turquoise_state : public interpro_state
-{
-public:
- turquoise_state(const machine_config &mconfig, device_type type, const char *tag)
- : interpro_state(mconfig, type, tag)
- , m_d_cammu(*this, INTERPRO_MMU_TAG "_d")
- , m_i_cammu(*this, INTERPRO_MMU_TAG "_i")
- , m_kbd_port(*this, INTERPRO_KEYBOARD_PORT_TAG)
- , m_mse_port(*this, INTERPRO_MOUSE_PORT_TAG)
- , m_scsi(*this, INTERPRO_SCSI_DEVICE_TAG)
- , m_bus(*this, INTERPRO_SLOT_TAG)
- {
- }
-
- void error_w(u8 data) { m_error = data; }
-
- enum ctrl1_mask : u16
- {
- CTRL1_FLOPLOW = 0x0001, // 3.5" floppy select
- CTRL1_FLOPRDY = 0x0002, // floppy ready enable?
- CTRL1_LEDENA = 0x0004, // led display enable
- CTRL1_LEDDP = 0x0008, // led right decimal point enable
- CTRL1_ETHLOOP = 0x0010, // ethernet loopback enable?
- CTRL1_ETHDTR = 0x0020, // modem dtr pin enable?
- CTRL1_ETHRMOD = 0x0040, // remote modem configured (read)?
- CTRL1_CLIPRESET = 0x0040, // hard reset (write)?
- CTRL1_FIFOACTIVE = 0x0080 // plotter fifo active?
- };
- u16 ctrl1_r() override { return m_ctrl1; }
- void ctrl1_w(offs_t offset, u16 data, u16 mem_mask = ~0) override;
-
- enum ctrl2_mask : u16
- {
- CTRL2_PWRUP = 0x0001, // power supply voltage adjust?
- CRTL2_PWRENA = 0x0002, // ?
- CTRL2_HOLDOFF = 0x0004, // power supply shut down delay
- CTRL2_EXTNMIENA = 0x0008, // power nmi enable
- CTRL2_COLDSTART = 0x0010, // cold start flag
- CTRL2_RESET = 0x0020, // soft reset
- CTRL2_BUSENA = 0x0040, // clear bus grant error
- CTRL2_FRCPARITY = 0x0080, // ?
-
- CTRL2_WMASK = 0x000f
- };
- u16 ctrl2_r() override { return m_ctrl2; }
- void ctrl2_w(offs_t offset, u16 data, u16 mem_mask = ~0) override;
-
- required_device<cammu_c3_device> m_d_cammu;
- required_device<cammu_c3_device> m_i_cammu;
- required_device<interpro_keyboard_port_device> m_kbd_port;
- required_device<interpro_mouse_port_device> m_mse_port;
- required_device<ncr53c90a_device> m_scsi;
- required_device<cbus_bus_device> m_bus;
-
- void turquoise(machine_config &config);
- void ip2000(machine_config &config);
- void interpro_82586_map(address_map &map);
- void turquoise_base_map(address_map &map);
- void turquoise_main_map(address_map &map);
- void turquoise_io_map(address_map &map);
-
-protected:
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
-private:
- u16 m_ctrl1;
- u16 m_ctrl2;
-};
-
-class sapphire_state : public interpro_state
-{
-public:
- sapphire_state(const machine_config &mconfig, device_type type, const char *tag)
- : interpro_state(mconfig, type, tag)
- , m_mmu(*this, INTERPRO_MMU_TAG)
- , m_scsi(*this, INTERPRO_SCSI_DEVICE_TAG)
- , m_arbga(*this, INTERPRO_ARBGA_TAG)
- , m_flash_lsb(*this, INTERPRO_FLASH_TAG "_lsb")
- , m_flash_msb(*this, INTERPRO_FLASH_TAG "_msb")
- {
- }
-
- virtual u32 unmapped_r(address_space &space, offs_t offset) override;
- virtual void unmapped_w(offs_t offset, u32 data) override;
-
- enum ctrl1_mask : u16
- {
- CTRL1_FLOPLOW = 0x0001, // 3.5" floppy select
- // unused
- CTRL1_LEDENA = 0x0004, // led display enable
- CTRL1_LEDDP = 0x0008, // led right decimal point enable
- CTRL1_MMBE = 0x0010, // mmbe enable
- CTRL1_ETHDTR = 0x0020, // modem dtr pin enable
- CTRL1_ETHRMOD = 0x0040, // 0 = sytem configured for remote modems
- CTRL1_FIFOACTIVE = 0x0080 // 0 = plotter fifos reset
- };
- u16 ctrl1_r() override { return m_ctrl1; }
- void ctrl1_w(offs_t offset, u16 data, u16 mem_mask = ~0) override;
-
- enum ctrl2_mask : u16
- {
- CTRL2_PWRUP = 0x0003, // power supply voltage adjust
- CTRL2_HOLDOFF = 0x0004, // power supply shut down delay
- CTRL2_EXTNMIENA = 0x0008, // power nmi enable
- CTRL2_COLDSTART = 0x0010, // cold start flag
- CTRL2_RESET = 0x0020, // soft reset
- CTRL2_BUSENA = 0x0040, // clear bus grant error
- CTRL2_FLASHEN = 0x0080, // flash eprom write enable
- };
- u16 ctrl2_r() override { return m_ctrl2; }
- void ctrl2_w(offs_t offset, u16 data, u16 mem_mask = ~0) override;
-
- required_device<cammu_c4_device> m_mmu;
- required_device<ncr53c94_device> m_scsi;
- required_device<interpro_arbga_device> m_arbga;
- required_device<intel_28f010_device> m_flash_lsb;
- required_device<intel_28f010_device> m_flash_msb;
-
- void sapphire(machine_config &config);
-
- void interpro_82596_map(address_map &map);
- void sapphire_base_map(address_map &map);
- void sapphire_main_map(address_map &map);
- void sapphire_io_map(address_map &map);
-
-protected:
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
-private:
- u16 m_ctrl1;
- u16 m_ctrl2;
-};
-
-class cbus_sapphire_state : public sapphire_state
-{
-public:
- cbus_sapphire_state(const machine_config &mconfig, device_type type, const char *tag)
- : sapphire_state(mconfig, type, tag)
- , m_kbd_port(*this, INTERPRO_KEYBOARD_PORT_TAG)
- , m_mse_port(*this, INTERPRO_MOUSE_PORT_TAG)
- , m_bus(*this, INTERPRO_SLOT_TAG)
- {
- }
-
- void cbus_sapphire(machine_config &config);
-
- void ip2500(machine_config &config);
- void ip2400(machine_config &config);
- void ip2700(machine_config &config);
- void ip2800(machine_config &config);
-
-protected:
- required_device<interpro_keyboard_port_device> m_kbd_port;
- required_device<interpro_mouse_port_device> m_mse_port;
- required_device<cbus_bus_device> m_bus;
-};
-
-class srx_sapphire_state : public sapphire_state
-{
-public:
- srx_sapphire_state(const machine_config &mconfig, device_type type, const char *tag)
- : sapphire_state(mconfig, type, tag)
- , m_bus(*this, INTERPRO_SLOT_TAG)
- {
- }
-
- void srx_sapphire(machine_config &config);
-
- void ip6400(machine_config &config);
- void ip6700(machine_config &config);
- void ip6800(machine_config &config);
-
-protected:
- required_device<srx_bus_device> m_bus;
-};
-
-#endif // MAME_INCLUDES_INTERPRO_H
diff --git a/src/mame/includes/jazz.h b/src/mame/includes/jazz.h
deleted file mode 100644
index f774608e62f..00000000000
--- a/src/mame/includes/jazz.h
+++ /dev/null
@@ -1,122 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Patrick Mackinlay
-
-#ifndef MAME_INCLUDES_JAZZ_H
-#define MAME_INCLUDES_JAZZ_H
-
-#pragma once
-
-#include "cpu/mips/r4000.h"
-
-// memory
-#include "machine/ram.h"
-#include "machine/nvram.h"
-#include "machine/28fxxx.h"
-
-// various hardware
-#include "machine/mct_adr.h"
-#include "machine/dp83932c.h"
-#include "machine/mc146818.h"
-#include "machine/ins8250.h"
-#include "machine/ncr5390.h"
-#include "machine/upd765.h"
-#include "machine/at_keybc.h"
-#include "machine/pc_lpt.h"
-#include "machine/i82357.h"
-
-// video
-#include "screen.h"
-#include "video/ims_cvc.h"
-
-// audio
-#include "sound/spkrdev.h"
-#include "speaker.h"
-
-// busses and connectors
-#include "machine/nscsi_bus.h"
-#include "bus/nscsi/cd.h"
-#include "bus/nscsi/hd.h"
-#include "bus/rs232/rs232.h"
-#include "bus/pc_kbd/pc_kbdc.h"
-#include "bus/pc_kbd/keyboards.h"
-
-#include "imagedev/floppy.h"
-#include "formats/pc_dsk.h"
-#include "softlist.h"
-
-class jazz_state : public driver_device
-{
-public:
- jazz_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_vram(*this, "vram")
- , m_mct_adr(*this, "mct_adr")
- , m_scsibus(*this, "scsi")
- , m_scsi(*this, "scsi:7:ncr53c94")
- , m_fdc(*this, "fdc")
- , m_rtc(*this, "rtc")
- , m_nvram(*this, "nvram")
- , m_flash(*this, "flash")
- , m_kbdc(*this, "kbdc")
- , m_net(*this, "net")
- , m_screen(*this, "screen")
- , m_cvc(*this, "g364")
- , m_ace(*this, "ace%u", 0)
- , m_lpt(*this, "lpt")
- , m_isp(*this, "isp")
- , m_buzzer(*this, "buzzer")
- , m_softlist(*this, "softlist")
- , m_led(*this, "led0")
- {
- }
-
-protected:
- // driver_device overrides
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
- // address maps
- void cpu_map(address_map &map);
- void mct_map(address_map &map);
-
- // machine config
- void jazz(machine_config &config);
-
- void led_w(u8 data);
-
-public:
- void mmr4000be(machine_config &config);
- void mmr4000le(machine_config &config);
-
- void init_common();
-
- DECLARE_FLOPPY_FORMATS(floppy_formats);
-
-protected:
- // devices
- required_device<r4000_device> m_cpu;
- required_device<ram_device> m_ram;
- required_device<ram_device> m_vram;
- required_device<mct_adr_device> m_mct_adr;
- required_device<nscsi_bus_device> m_scsibus;
- required_device<ncr53c94_device> m_scsi;
- required_device<n82077aa_device> m_fdc;
- required_device<mc146818_device> m_rtc;
- required_device<nvram_device> m_nvram;
- required_device<amd_28f020_device> m_flash;
- required_device<ps2_keyboard_controller_device> m_kbdc;
- required_device<dp83932c_device> m_net;
- required_device<screen_device> m_screen;
- required_device<g364_device> m_cvc;
- required_device_array<ns16550_device, 2> m_ace;
- required_device<pc_lpt_device> m_lpt;
- required_device<i82357_device> m_isp;
- required_device<speaker_sound_device> m_buzzer;
- required_device<software_list_device> m_softlist;
-
- output_finder<> m_led;
-};
-
-#endif // MAME_INCLUDES_JAZZ_H
diff --git a/src/mame/includes/jensen.h b/src/mame/includes/jensen.h
deleted file mode 100644
index bb253c49353..00000000000
--- a/src/mame/includes/jensen.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// 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/xc1700e.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;
-
- // 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_device<xc1765e_device> 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
diff --git a/src/mame/includes/mips.h b/src/mame/includes/mips.h
deleted file mode 100644
index a4c0c9e0462..00000000000
--- a/src/mame/includes/mips.h
+++ /dev/null
@@ -1,240 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Patrick Mackinlay
-
-#ifndef MAME_INCLUDES_MIPS_H
-#define MAME_INCLUDES_MIPS_H
-
-#pragma once
-
-// processors and memory
-#include "cpu/mips/mips1.h"
-#include "cpu/nec/v5x.h"
-#include "machine/ram.h"
-
-// i/o devices (common)
-#include "machine/at_keybc.h"
-#include "machine/z80scc.h"
-#include "machine/upd765.h"
-#include "machine/am79c90.h"
-
-// i/o devices (rx2030)
-#include "machine/mc146818.h"
-#include "machine/z8038.h"
-#include "machine/aic6250.h"
-
-// i/o devices (rx3230)
-#include "machine/timekpr.h"
-#include "machine/ncr5390.h"
-#include "machine/mips_rambo.h"
-
-// busses and connectors
-#include "machine/nscsi_bus.h"
-#include "bus/nscsi/cd.h"
-#include "bus/nscsi/hd.h"
-
-#include "bus/pc_kbd/pc_kbdc.h"
-#include "bus/pc_kbd/keyboards.h"
-#include "bus/rs232/rs232.h"
-
-// video and audio
-#include "screen.h"
-#include "video/bt45x.h"
-#include "video/bt459.h"
-#include "sound/spkrdev.h"
-#include "speaker.h"
-
-#include "formats/pc_dsk.h"
-
-class rx2030_state : public driver_device
-{
-public:
- rx2030_state(machine_config const &mconfig, device_type type, char const *tag)
- : driver_device(mconfig, type, tag)
- , m_cpu(*this, "cpu")
- , m_iop(*this, "iop")
- , m_ram(*this, "ram")
- , m_rom(*this, "rx2030")
- , m_rtc(*this, "rtc")
- , m_fio(*this, "fio")
- , m_kbdc(*this, "kbdc")
- , m_kbd(*this, "kbd")
- , m_scc(*this, "scc")
- , m_tty(*this, "tty%u", 0U)
- , m_fdc(*this, "fdc")
- , m_scsibus(*this, "scsi")
- , m_scsi(*this, "scsi:7:aic6250")
- , m_net(*this, "net")
- , m_buzzer(*this, "buzzer")
- , m_screen(*this, "screen")
- , m_ramdac(*this, "ramdac")
- , m_vram(*this, "vram")
- {
- }
-
- // machine config
- void rx2030(machine_config &config);
- void rs2030(machine_config &config);
- void rc2030(machine_config &config);
-
- void rx2030_init();
-
-protected:
- // driver_device overrides
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
- // address maps
- void rx2030_map(address_map &map);
- void rs2030_map(address_map &map);
-
- void iop_program_map(address_map &map);
- void iop_io_map(address_map &map);
-
- u16 mmu_r(offs_t offset, u16 mem_mask = 0xffff);
- void mmu_w(offs_t offset, u16 data, u16 mem_mask = 0xffff);
-
- u16 lance_r(offs_t offset, u16 mem_mask = 0xffff);
- void lance_w(offs_t offset, u16 data, u16 mem_mask = 0xffff);
-
- u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, rectangle const &cliprect);
-
-private:
- enum iop_interface_status_mask : u8
- {
- FPU_ABSENT = 0x01, // clear if FPU installed
- DBG_ABSENT = 0x02, // clear if debug board installed
- IOP_IRQ = 0x04, // set when CPU interrupts IOP
- VID_ABSENT = 0x10, // clear if video board installed
- IOP_IACK = 0x40, // set when IOP acknowledges CPU interrupt
- IOP_NERR = 0x80, // clear when IOP receives parity error
- };
-
- // processors and memory
- required_device<r2000a_device> m_cpu;
- required_device<v50_device> m_iop;
- required_device<ram_device> m_ram;
- required_region_ptr<u16> m_rom;
-
- // i/o devices
- required_device<mc146818_device> m_rtc;
- required_device<z8038_device> m_fio;
- required_device<at_keyboard_controller_device> m_kbdc;
- required_device<pc_kbdc_slot_device> m_kbd;
- required_device<z80scc_device> m_scc;
- required_device_array<rs232_port_device, 2> m_tty;
- required_device<wd37c65c_device> m_fdc;
- required_device<nscsi_bus_device> m_scsibus;
- required_device<aic6250_device> m_scsi;
- required_device<am7990_device> m_net;
- required_device<speaker_sound_device> m_buzzer;
-
- // optional video board
- optional_device<screen_device> m_screen;
- optional_device<bt458_device> m_ramdac;
- optional_shared_ptr<u32> m_vram;
-
- // machine state
- u16 m_mmu[32];
-
- u8 m_iop_interface;
-};
-
-class rx3230_state : public driver_device
-{
-public:
- rx3230_state(machine_config const &mconfig, device_type type, char const *tag)
- : driver_device(mconfig, type, tag)
- , m_cpu(*this, "cpu")
- , m_ram(*this, "ram")
- , m_rom(*this, "rx3230")
- , m_rambo(*this, "rambo")
- , m_scsibus(*this, "scsi")
- , m_scsi(*this, "scsi:7:ncr53c94")
- , m_net(*this, "net")
- , m_scc(*this, "scc")
- , m_tty(*this, "tty%u", 0U)
- , m_rtc(*this, "rtc")
- , m_fdc(*this, "fdc")
- , m_kbdc(*this, "kbdc")
- , m_kbd(*this, "kbd")
- , m_buzzer(*this, "buzzer")
- , m_screen(*this, "screen")
- , m_ramdac(*this, "ramdac")
- , m_vram(*this, "vram")
- {
- }
-
- // machine config
- void rx3230(machine_config &config);
- void rs3230(machine_config &config);
- void rc3230(machine_config &config);
-
- void rx3230_init();
-
-protected:
- // driver_device overrides
- virtual void machine_start() override;
- virtual void machine_reset() override;
-
- // address maps
- void rx3230_map(address_map &map);
- void rs3230_map(address_map &map);
-
- u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, rectangle const &cliprect);
-
- u16 lance_r(offs_t offset, u16 mem_mask = 0xffff);
- void lance_w(offs_t offset, u16 data, u16 mem_mask = 0xffff);
-
- template <u8 Source> WRITE_LINE_MEMBER(irq_w);
-
-private:
- // processors and memory
- required_device<r3000a_device> m_cpu;
- required_device<ram_device> m_ram;
- required_region_ptr<u32> m_rom;
-
- // i/o devices
- required_device<mips_rambo_device> m_rambo;
- required_device<nscsi_bus_device> m_scsibus;
- required_device<ncr53c94_device> m_scsi;
- required_device<am7990_device> m_net;
- required_device<z80scc_device> m_scc;
- required_device_array<rs232_port_device, 2> m_tty;
- required_device<m48t02_device> m_rtc;
- required_device<i82072_device> m_fdc;
- required_device<at_keyboard_controller_device> m_kbdc;
- required_device<pc_kbdc_slot_device> m_kbd;
- required_device<speaker_sound_device> m_buzzer;
-
- // optional colour video board
- optional_device<screen_device> m_screen;
- optional_device<bt459_device> m_ramdac;
- optional_device<ram_device> m_vram;
-
- enum int_reg_mask : u8
- {
- INT_SLOT = 0x01, // expansion slot
- INT_KBD = 0x02, // keyboard controller
- INT_SCC = 0x04, // serial controller
- INT_SCSI = 0x08, // scsi controller
- INT_NET = 0x10, // ethernet controller
- INT_DRS = 0x20, // data rate select
- INT_DSR = 0x40, // data set ready
- INT_CEB = 0x80, // modem call indicator
-
- INT_CLR = 0xff,
- };
-
- enum gfx_reg_mask : u8
- {
- GFX_H_BLANK = 0x10,
- GFX_V_BLANK = 0x20,
- GFX_COLOR_RSV = 0xce, // reserved
- };
-
- u8 m_int_reg;
- int m_int0_state;
- int m_int1_state;
-};
-
-#endif // MAME_INCLUDES_MIPS_H