Arm7 clean a bit - rename functions, clean intf.h file
This commit is contained in:
parent
f6250a2dcc
commit
a52d9f5ff7
|
@ -28,7 +28,7 @@ static void __fastcall asic27a_write_byte(UINT32 address, UINT8 data)
|
|||
if ((address & 0xfffffe) == 0xd10000) { // ddp2
|
||||
pgm_cpu_sync();
|
||||
asic27a_to_arm = data;
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_ASSERT_LINE);
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_IRQSTATUS_ACK);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ static void __fastcall asic27a_write_word(UINT32 address, UINT16 data)
|
|||
if ((address & 0xfffffe) == 0xd10000) {
|
||||
pgm_cpu_sync();
|
||||
asic27a_to_arm = data & 0xff;
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_ASSERT_LINE);
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_IRQSTATUS_ACK);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ static UINT8 asic27a_arm7_read_byte(UINT32 address)
|
|||
switch (address)
|
||||
{
|
||||
case 0x38000000:
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_CLEAR_LINE);
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_IRQSTATUS_NONE);
|
||||
return asic27a_to_arm;
|
||||
}
|
||||
|
||||
|
@ -422,7 +422,7 @@ static void __fastcall svg_write_byte(UINT32 address, UINT8 data)
|
|||
{
|
||||
case 0x5c0000:
|
||||
case 0x5c0001:
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_HOLD_LINE);
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_IRQSTATUS_AUTO);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -440,7 +440,7 @@ static void __fastcall svg_write_word(UINT32 address, UINT16 data)
|
|||
switch (address)
|
||||
{
|
||||
case 0x5c0000:
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_HOLD_LINE);
|
||||
Arm7SetIRQLine(ARM7_FIRQ_LINE, ARM7_IRQSTATUS_AUTO);
|
||||
return;
|
||||
|
||||
case 0x5c0300:
|
||||
|
|
|
@ -136,19 +136,19 @@ void (*arm7_coproc_dt_w_callback)(UINT32 insn, UINT32 *prn, void (*write32)(UINT
|
|||
ARM7_INLINE void arm7_cpu_write32(UINT32 addr, UINT32 data)
|
||||
{
|
||||
addr &= ~3;
|
||||
Arm7_program_write_dword_32le(addr, data); // iq_132
|
||||
Arm7WriteLong(addr, data); // iq_132
|
||||
}
|
||||
|
||||
|
||||
ARM7_INLINE void arm7_cpu_write16(UINT32 addr, UINT16 data)
|
||||
{
|
||||
addr &= ~1;
|
||||
Arm7_program_write_word_32le(addr, data); // iq_132
|
||||
Arm7WriteWord(addr, data); // iq_132
|
||||
}
|
||||
|
||||
ARM7_INLINE void arm7_cpu_write8(UINT32 addr, UINT8 data)
|
||||
{
|
||||
Arm7_program_write_byte_32le(addr, data); // iq_132
|
||||
Arm7WriteByte(addr, data); // iq_132
|
||||
}
|
||||
|
||||
ARM7_INLINE UINT32 arm7_cpu_read32(UINT32 addr)
|
||||
|
@ -157,12 +157,12 @@ ARM7_INLINE UINT32 arm7_cpu_read32(UINT32 addr)
|
|||
|
||||
if (addr & 3)
|
||||
{
|
||||
result = Arm7_program_read_dword_32le(addr & ~3); // iq_132
|
||||
result = Arm7ReadLong(addr & ~3); // iq_132
|
||||
result = (result >> (8 * (addr & 3))) | (result << (32 - (8 * (addr & 3))));
|
||||
}
|
||||
else
|
||||
{
|
||||
result = Arm7_program_read_dword_32le(addr); // iq_132
|
||||
result = Arm7ReadLong(addr); // iq_132
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -172,7 +172,7 @@ ARM7_INLINE UINT16 arm7_cpu_read16(UINT32 addr)
|
|||
{
|
||||
UINT16 result;
|
||||
|
||||
result = Arm7_program_read_word_32le(addr & ~1);
|
||||
result = Arm7ReadWord(addr & ~1);
|
||||
|
||||
if (addr & 1)
|
||||
{
|
||||
|
@ -184,7 +184,7 @@ ARM7_INLINE UINT16 arm7_cpu_read16(UINT32 addr)
|
|||
|
||||
ARM7_INLINE UINT8 arm7_cpu_read8(UINT32 addr)
|
||||
{
|
||||
UINT8 result = Arm7_program_read_byte_32le(addr);
|
||||
UINT8 result = Arm7ReadByte(addr);
|
||||
|
||||
// Handle through normal 8 bit handler (for 32 bit cpu)
|
||||
return result;
|
||||
|
@ -198,12 +198,12 @@ ARM7_INLINE UINT32 cpu_readop32(UINT32 addr)
|
|||
|
||||
if (addr & 3)
|
||||
{
|
||||
result = Arm7_program_opcode_dword_32le(addr & ~3); // iq_132
|
||||
result = Arm7FetchLong(addr & ~3); // iq_132
|
||||
result = (result >> (8 * (addr & 3))) | (result << (32 - (8 * (addr & 3))));
|
||||
}
|
||||
else
|
||||
{
|
||||
result = Arm7_program_opcode_dword_32le(addr); // iq_132
|
||||
result = Arm7FetchLong(addr); // iq_132
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -213,7 +213,7 @@ ARM7_INLINE UINT32 cpu_readop16(UINT32 addr)
|
|||
{
|
||||
UINT16 result;
|
||||
|
||||
result = Arm7_program_opcode_word_32le(addr & ~1); // iq_132
|
||||
result = Arm7FetchWord(addr & ~1); // iq_132
|
||||
|
||||
if (addr & 1)
|
||||
{
|
||||
|
|
|
@ -28,38 +28,13 @@ static UINT8 (*pReadByteHandler)(UINT32) = NULL;
|
|||
|
||||
static UINT32 Arm7IdleLoop = ~0;
|
||||
|
||||
extern void arm7_set_irq_line(INT32 irqline, INT32 state);
|
||||
|
||||
INT32 Arm7GetActive()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static cpu_core_config Arm7CheatCpuConfig =
|
||||
{
|
||||
Arm7Open,
|
||||
Arm7Close,
|
||||
Arm7_program_read_byte_32le,
|
||||
Arm7_write_rom_byte,
|
||||
Arm7GetActive,
|
||||
Arm7TotalCycles,
|
||||
Arm7NewFrame,
|
||||
Arm7Run,
|
||||
Arm7RunEnd,
|
||||
Arm7Reset,
|
||||
MAX_MEMORY,
|
||||
0
|
||||
};
|
||||
|
||||
void Arm7Init( INT32 num ) // only one cpu supported
|
||||
{
|
||||
DebugCPU_ARM7Initted = 1;
|
||||
|
||||
for (INT32 i = 0; i < 3; i++) {
|
||||
membase[i] = (UINT8**)malloc(PAGE_COUNT * sizeof(UINT8*));
|
||||
}
|
||||
|
||||
CpuCheatRegister(num, &Arm7CheatCpuConfig);
|
||||
}
|
||||
|
||||
void Arm7Exit() // only one cpu supported
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
|
@ -150,10 +125,10 @@ void Arm7SetReadLongHandler(UINT32 (*read)(UINT32))
|
|||
pReadLongHandler = read;
|
||||
}
|
||||
|
||||
void Arm7_program_write_byte_32le(UINT32 addr, UINT8 data)
|
||||
void Arm7WriteByte(UINT32 addr, UINT8 data)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_program_write_byte_32le called without init\n"));
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7WriteByte called without init\n"));
|
||||
#endif
|
||||
|
||||
addr &= MAX_MEMORY_AND;
|
||||
|
@ -172,10 +147,10 @@ void Arm7_program_write_byte_32le(UINT32 addr, UINT8 data)
|
|||
}
|
||||
}
|
||||
|
||||
void Arm7_program_write_word_32le(UINT32 addr, UINT16 data)
|
||||
void Arm7WriteWord(UINT32 addr, UINT16 data)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_program_write_word_32le called without init\n"));
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7WriteWord called without init\n"));
|
||||
#endif
|
||||
|
||||
addr &= MAX_MEMORY_AND;
|
||||
|
@ -194,10 +169,10 @@ void Arm7_program_write_word_32le(UINT32 addr, UINT16 data)
|
|||
}
|
||||
}
|
||||
|
||||
void Arm7_program_write_dword_32le(UINT32 addr, UINT32 data)
|
||||
void Arm7WriteLong(UINT32 addr, UINT32 data)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_program_write_dword_32le called without init\n"));
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7WriteLong called without init\n"));
|
||||
#endif
|
||||
|
||||
addr &= MAX_MEMORY_AND;
|
||||
|
@ -217,10 +192,10 @@ void Arm7_program_write_dword_32le(UINT32 addr, UINT32 data)
|
|||
}
|
||||
|
||||
|
||||
UINT8 Arm7_program_read_byte_32le(UINT32 addr)
|
||||
UINT8 Arm7ReadByte(UINT32 addr)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_program_read_byte_32le called without init\n"));
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7ReadByte called without init\n"));
|
||||
#endif
|
||||
|
||||
addr &= MAX_MEMORY_AND;
|
||||
|
@ -240,10 +215,10 @@ UINT8 Arm7_program_read_byte_32le(UINT32 addr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
UINT16 Arm7_program_read_word_32le(UINT32 addr)
|
||||
UINT16 Arm7ReadWord(UINT32 addr)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_program_read_word_32le called without init\n"));
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7ReadWord called without init\n"));
|
||||
#endif
|
||||
|
||||
addr &= MAX_MEMORY_AND;
|
||||
|
@ -263,10 +238,10 @@ UINT16 Arm7_program_read_word_32le(UINT32 addr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
UINT32 Arm7_program_read_dword_32le(UINT32 addr)
|
||||
UINT32 Arm7ReadLong(UINT32 addr)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_program_read_dword_32le called without init\n"));
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7ReadLong called without init\n"));
|
||||
#endif
|
||||
|
||||
addr &= MAX_MEMORY_AND;
|
||||
|
@ -286,10 +261,10 @@ UINT32 Arm7_program_read_dword_32le(UINT32 addr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
UINT16 Arm7_program_opcode_word_32le(UINT32 addr)
|
||||
UINT16 Arm7FetchWord(UINT32 addr)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_program_opcode_word_32le called without init\n"));
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7FetchWord called without init\n"));
|
||||
#endif
|
||||
|
||||
addr &= MAX_MEMORY_AND;
|
||||
|
@ -315,10 +290,10 @@ UINT16 Arm7_program_opcode_word_32le(UINT32 addr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
UINT32 Arm7_program_opcode_dword_32le(UINT32 addr)
|
||||
UINT32 Arm7FetchLong(UINT32 addr)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_program_opcode_dword_32le called without init\n"));
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7FetchLong called without init\n"));
|
||||
#endif
|
||||
|
||||
addr &= MAX_MEMORY_AND;
|
||||
|
@ -350,13 +325,13 @@ void Arm7SetIRQLine(INT32 line, INT32 state)
|
|||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7SetIRQLine called without init\n"));
|
||||
#endif
|
||||
|
||||
if (state == ARM7_CLEAR_LINE || state == ARM7_ASSERT_LINE) {
|
||||
if (state == ARM7_IRQSTATUS_NONE || state == ARM7_IRQSTATUS_ACK) {
|
||||
arm7_set_irq_line(line, state);
|
||||
}
|
||||
else if (ARM7_HOLD_LINE) {
|
||||
arm7_set_irq_line(line, ARM7_ASSERT_LINE);
|
||||
else if (ARM7_IRQSTATUS_AUTO) {
|
||||
arm7_set_irq_line(line, ARM7_IRQSTATUS_ACK);
|
||||
Arm7Run(0);
|
||||
arm7_set_irq_line(line, ARM7_CLEAR_LINE);
|
||||
arm7_set_irq_line(line, ARM7_IRQSTATUS_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -373,7 +348,7 @@ void Arm7SetIdleLoopAddress(UINT32 address)
|
|||
|
||||
// For cheats/etc
|
||||
|
||||
void Arm7_write_rom_byte(UINT32 addr, UINT8 data)
|
||||
static void Arm7_write_rom_byte(UINT32 addr, UINT8 data)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_write_rom_byte called without init\n"));
|
||||
|
@ -393,3 +368,30 @@ void Arm7_write_rom_byte(UINT32 addr, UINT8 data)
|
|||
pWriteByteHandler(addr, data);
|
||||
}
|
||||
}
|
||||
|
||||
static cpu_core_config Arm7CheatCpuConfig =
|
||||
{
|
||||
Arm7Open,
|
||||
Arm7Close,
|
||||
Arm7ReadByte,
|
||||
Arm7_write_rom_byte,
|
||||
Arm7GetActive,
|
||||
Arm7TotalCycles,
|
||||
Arm7NewFrame,
|
||||
Arm7Run,
|
||||
Arm7RunEnd,
|
||||
Arm7Reset,
|
||||
MAX_MEMORY,
|
||||
0
|
||||
};
|
||||
|
||||
void Arm7Init( INT32 num ) // only one cpu supported
|
||||
{
|
||||
DebugCPU_ARM7Initted = 1;
|
||||
|
||||
for (INT32 i = 0; i < 3; i++) {
|
||||
membase[i] = (UINT8**)malloc(PAGE_COUNT * sizeof(UINT8*));
|
||||
}
|
||||
|
||||
CpuCheatRegister(num, &Arm7CheatCpuConfig);
|
||||
}
|
||||
|
|
|
@ -1,17 +1,36 @@
|
|||
|
||||
// use these in arm7.cpp
|
||||
void Arm7_program_write_byte_32le(UINT32 addr, UINT8 data);
|
||||
void Arm7_program_write_word_32le(UINT32 addr, UINT16 data);
|
||||
void Arm7_program_write_dword_32le(UINT32 addr, UINT32 data);
|
||||
UINT8 Arm7_program_read_byte_32le(UINT32 addr);
|
||||
UINT16 Arm7_program_read_word_32le(UINT32 addr);
|
||||
UINT32 Arm7_program_read_dword_32le(UINT32 addr);
|
||||
UINT16 Arm7_program_opcode_word_32le(UINT32 addr);
|
||||
UINT32 Arm7_program_opcode_dword_32le(UINT32 addr);
|
||||
void Arm7WriteByte(UINT32 addr, UINT8 data);
|
||||
void Arm7WriteWord(UINT32 addr, UINT16 data);
|
||||
void Arm7WriteLong(UINT32 addr, UINT32 data);
|
||||
UINT8 Arm7ReadByte(UINT32 addr);
|
||||
UINT16 Arm7ReadWord(UINT32 addr);
|
||||
UINT32 Arm7ReadLong(UINT32 addr);
|
||||
UINT16 Arm7FetchWord(UINT32 addr);
|
||||
UINT32 Arm7FetchLong(UINT32 addr);
|
||||
|
||||
void arm7_set_irq_line(INT32 irqline, INT32 state);
|
||||
void Arm7RunEnd();
|
||||
void Arm7BurnCycles(INT32 cycles);
|
||||
INT32 Arm7TotalCycles();
|
||||
void Arm7NewFrame();
|
||||
|
||||
void Arm7Init(INT32);
|
||||
void Arm7Reset();
|
||||
INT32 Arm7Run(INT32 cycles);
|
||||
void Arm7Exit();
|
||||
void Arm7Open(INT32 );
|
||||
void Arm7Close();
|
||||
|
||||
INT32 Arm7Scan(INT32 nAction);
|
||||
|
||||
#define ARM7_IRQ_LINE 0
|
||||
#define ARM7_FIRQ_LINE 1
|
||||
|
||||
#define ARM7_IRQSTATUS_NONE 0
|
||||
#define ARM7_IRQSTATUS_ACK 1
|
||||
#define ARM7_IRQSTATUS_AUTO 2
|
||||
|
||||
void Arm7SetIRQLine(INT32 line, INT32 state);
|
||||
|
||||
// use these everywhere else
|
||||
#define ARM7_READ 1
|
||||
#define ARM7_WRITE 2
|
||||
#define ARM7_FETCH 4
|
||||
|
@ -28,33 +47,6 @@ void Arm7SetReadByteHandler(UINT8 (*read)(UINT32));
|
|||
void Arm7SetReadWordHandler(UINT16 (*read)(UINT32));
|
||||
void Arm7SetReadLongHandler(UINT32 (*read)(UINT32));
|
||||
|
||||
INT32 Arm7Scan(INT32 nAction);
|
||||
|
||||
void Arm7RunEnd();
|
||||
void Arm7BurnCycles(INT32 cycles);
|
||||
INT32 Arm7TotalCycles();
|
||||
void Arm7NewFrame();
|
||||
|
||||
void Arm7Init(INT32);
|
||||
void Arm7Open(INT32 );
|
||||
void Arm7Reset();
|
||||
INT32 Arm7Run(INT32 cycles);
|
||||
|
||||
// defined in arm7core.h
|
||||
#define ARM7_IRQ_LINE 0
|
||||
#define ARM7_FIRQ_LINE 1
|
||||
|
||||
#define ARM7_CLEAR_LINE 0
|
||||
#define ARM7_ASSERT_LINE 1
|
||||
#define ARM7_HOLD_LINE 2
|
||||
|
||||
void Arm7SetIRQLine(INT32 line, INT32 state);
|
||||
|
||||
void Arm7Exit();
|
||||
void Arm7Close();
|
||||
|
||||
// speed hack stuff
|
||||
// speed hack function
|
||||
void Arm7SetIdleLoopAddress(UINT32 address);
|
||||
|
||||
// for cheat handling
|
||||
void Arm7_write_rom_byte(UINT32 addr, UINT8 data);
|
||||
|
|
Loading…
Reference in New Issue