diff options
Diffstat (limited to 'src/devices/cpu/scudsp/scudsp.cpp')
-rw-r--r-- | src/devices/cpu/scudsp/scudsp.cpp | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/src/devices/cpu/scudsp/scudsp.cpp b/src/devices/cpu/scudsp/scudsp.cpp index e9a55e3df0f..b61c4aedf6d 100644 --- a/src/devices/cpu/scudsp/scudsp.cpp +++ b/src/devices/cpu/scudsp/scudsp.cpp @@ -92,6 +92,7 @@ #include "emu.h" #include "scudsp.h" +#include "scudspdasm.h" #include "debugger.h" @@ -124,10 +125,10 @@ DEFINE_DEVICE_TYPE(SCUDSP, scudsp_cpu_device, "scudsp", "Sega SCUDSP") #define FLAGS_MASK 0x06ff8000 #define INSTA_DMA 1 -#define scudsp_readop(A) m_program->read_dword(A << 2) -#define scudsp_writeop(A, B) m_program->write_dword(A << 2, B) -#define scudsp_readmem(A,MD) m_data->read_dword((A | (MD << 6)) << 2) -#define scudsp_writemem(A,MD,B) m_data->write_dword((A | (MD << 6)) << 2, B) +#define scudsp_readop(A) m_program->read_dword(A) +#define scudsp_writeop(A, B) m_program->write_dword(A, B) +#define scudsp_readmem(A,MD) m_data->read_dword(A | (MD << 6)) +#define scudsp_writemem(A,MD,B) m_data->write_dword(A | (MD << 6), B) uint32_t scudsp_cpu_device::scudsp_get_source_mem_reg_value( uint32_t mode ) { @@ -1009,13 +1010,21 @@ void scudsp_cpu_device::execute_set_input(int irqline, int state) } } +static ADDRESS_MAP_START( program_map, AS_PROGRAM, 32, scudsp_cpu_device ) + AM_RANGE(0x00, 0xff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( data_map, AS_DATA, 32, scudsp_cpu_device ) + AM_RANGE(0x00, 0xff) AM_RAM +ADDRESS_MAP_END + scudsp_cpu_device::scudsp_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : cpu_device(mconfig, SCUDSP, tag, owner, clock) , m_out_irq_cb(*this) , m_in_dma_cb(*this) , m_out_dma_cb(*this) - , m_program_config("program", ENDIANNESS_BIG, 32, 8, -2) - , m_data_config("data", ENDIANNESS_BIG, 32, 8, -2) + , m_program_config("program", ENDIANNESS_BIG, 32, 8, -2, ADDRESS_MAP_NAME(program_map)) + , m_data_config("data", ENDIANNESS_BIG, 32, 8, -2, ADDRESS_MAP_NAME(data_map)) { } @@ -1042,8 +1051,7 @@ void scudsp_cpu_device::state_string_export(const device_state_entry &entry, std } -offs_t scudsp_cpu_device::disasm_disassemble(std::ostream &stream, offs_t pc, const uint8_t *oprom, const uint8_t *opram, uint32_t options) +util::disasm_interface *scudsp_cpu_device::create_disassembler() { - extern CPU_DISASSEMBLE( scudsp ); - return CPU_DISASSEMBLE_NAME(scudsp)(this, stream, pc, oprom, opram, options); + return new scudsp_disassembler; } |