summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/mips/ps2vu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/mips/ps2vu.h')
-rw-r--r--src/devices/cpu/mips/ps2vu.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/devices/cpu/mips/ps2vu.h b/src/devices/cpu/mips/ps2vu.h
index 542ce80e64e..3132fd2f939 100644
--- a/src/devices/cpu/mips/ps2vu.h
+++ b/src/devices/cpu/mips/ps2vu.h
@@ -81,6 +81,9 @@ public:
void write_vu_mem(uint32_t address, uint32_t data);
void write_micro_mem(uint32_t address, uint64_t data);
float* vector_regs() { return m_v; }
+ uint64_t *micro_mem() { return &m_micro_mem[0]; }
+ uint32_t *vu_mem() { return &m_vu_mem[0]; }
+ uint32_t mem_mask() const { return m_mem_mask; }
bool running() const { return m_running; }
void start(uint32_t address);
@@ -128,6 +131,8 @@ protected:
void execute_upper(const uint32_t op);
void execute_lower(const uint32_t op);
+ virtual void execute_xgkick(uint32_t rs) = 0;
+
static int16_t immediate_s11(const uint32_t op);
// address spaces
@@ -193,6 +198,8 @@ protected:
void micro_map(address_map &map);
void vu_map(address_map &map);
+ void execute_xgkick(uint32_t rs) override;
+
required_device<ps2_gs_device> m_gs;
required_device<ps2_vif1_device> m_vif;
@@ -218,6 +225,8 @@ protected:
void micro_map(address_map &map);
void vu_map(address_map &map);
+ void execute_xgkick(uint32_t rs) override;
+
DECLARE_READ32_MEMBER(vu1_reg_r);
DECLARE_WRITE32_MEMBER(vu1_reg_w);