summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/tms32025/tms32025.h
diff options
context:
space:
mode:
author David Haywood <hazemamewip@hotmail.com>2018-09-21 20:01:12 +0100
committer ajrhacker <ajrhacker@users.noreply.github.com>2018-09-21 15:01:12 -0400
commitccded2bf8b4a970875174056b7b7aedd0d9eec54 (patch)
treeaa2b2c4b723263ad0acc4b7e467a043ea924b533 /src/devices/cpu/tms32025/tms32025.h
parent14a94c1c9075478d8acceef5d50511c689e6d7f1 (diff)
Namco System 21 and other related refactors (#4013)
* namco checkpoint (including cam900 submission) * move code into device (nw) * start splitting DSP support code into devices (nw) * fix crash (nw) * prepare for further splitting (nw) * move code for C67 based DSP PCB into it's own device (nw) * survive F3 resets without crashing or breaking the 3D (nw) * less magic numbers (nw) * optional -> required don't use fake bootstrap on older type, suspend CPU instead * restore CPU yield hack for solvalou (nw) * (nw) * give galaxian3 some DSPs (nw) * address hap's concern with a different workaround since MAME is awkward (nw) * split namco21 driver into 3 drivers as the different configurations really are entirely different boardsets with similar components, not a real 'system' emulated entire PCB set for driveyes ( http://www.tvspels-nostalgi.com/Bilder/PCB/Namco/driverseye_cage_inside.jpg ) although how the PCBs communicate is not yet known (C139 maybe, which might also be an MCU) * remove empty file (nw) * actually thinking about it, this is cleaner (nw) * mark cybsledj as World instead, there's nothing about this set other than the CY1 code to indicate that it's a Japanese set, and I don't think the Namco codes represent region, just release order. * newline (nw) * newline (nw)
Diffstat (limited to 'src/devices/cpu/tms32025/tms32025.h')
-rw-r--r--src/devices/cpu/tms32025/tms32025.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/devices/cpu/tms32025/tms32025.h b/src/devices/cpu/tms32025/tms32025.h
index 4deaac2423f..2a4b937432f 100644
--- a/src/devices/cpu/tms32025/tms32025.h
+++ b/src/devices/cpu/tms32025/tms32025.h
@@ -63,6 +63,7 @@ class tms32025_device : public cpu_device
public:
// construction/destruction
tms32025_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// configuration helpers
auto bio_in_cb() { return m_bio_in.bind(); }
@@ -72,6 +73,8 @@ public:
auto dr_in_cb() { return m_dr_in.bind(); }
auto dx_out_cb() { return m_dx_out.bind(); }
+ void set_mp_mc(bool state) { m_mp_mc = state; }
+
DECLARE_READ16_MEMBER( drr_r);
DECLARE_WRITE16_MEMBER(drr_w);
DECLARE_READ16_MEMBER( dxr_r);
@@ -85,10 +88,11 @@ public:
DECLARE_READ16_MEMBER( greg_r);
DECLARE_WRITE16_MEMBER(greg_w);
+ //void tms32025_program(address_map &map);
void tms32025_data(address_map &map);
void tms32026_data(address_map &map);
protected:
- tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor map);
+ tms32025_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, address_map_constructor prgmap, address_map_constructor datamap);
// device-level overrides
virtual void device_start() override;
@@ -110,6 +114,8 @@ protected:
// device_disasm_interface overrides
virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
+ virtual const tiny_rom_entry *device_rom_region() const override;
+
void common_reset();
address_space_config m_program_config;
@@ -354,6 +360,8 @@ protected:
void zals();
inline int process_IRQs();
inline void process_timer(int clocks);
+
+ bool m_mp_mc;
};
@@ -370,7 +378,6 @@ protected:
virtual void conf() override;
};
-
DECLARE_DEVICE_TYPE(TMS32025, tms32025_device)
DECLARE_DEVICE_TYPE(TMS32026, tms32026_device)