Implement the MORE command (0D) used to read more commands from the CPU
This commit is contained in:
parent
5a2d8661d7
commit
c8b2ba1bc6
|
@ -79,6 +79,7 @@ void CUCode_NewAX::HandleCommandList()
|
||||||
// Temp variables for addresses computation
|
// Temp variables for addresses computation
|
||||||
u16 addr_hi, addr_lo;
|
u16 addr_hi, addr_lo;
|
||||||
u16 addr2_hi, addr2_lo;
|
u16 addr2_hi, addr2_lo;
|
||||||
|
u16 size;
|
||||||
|
|
||||||
u32 pb_addr = 0;
|
u32 pb_addr = 0;
|
||||||
|
|
||||||
|
@ -90,8 +91,7 @@ void CUCode_NewAX::HandleCommandList()
|
||||||
|
|
||||||
switch (cmd)
|
switch (cmd)
|
||||||
{
|
{
|
||||||
|
// Some of these commands are unknown, or unused in this AX HLE.
|
||||||
// A lot of these commands are unknown, or unused in this AX HLE.
|
|
||||||
// We still need to skip their arguments using "curr_idx += N".
|
// We still need to skip their arguments using "curr_idx += N".
|
||||||
|
|
||||||
case CMD_SETUP:
|
case CMD_SETUP:
|
||||||
|
@ -140,7 +140,15 @@ void CUCode_NewAX::HandleCommandList()
|
||||||
case CMD_COMPRESSOR_TABLE_ADDR: curr_idx += 2; break;
|
case CMD_COMPRESSOR_TABLE_ADDR: curr_idx += 2; break;
|
||||||
case CMD_UNK_0B: break; // TODO: check other versions
|
case CMD_UNK_0B: break; // TODO: check other versions
|
||||||
case CMD_UNK_0C: break; // TODO: check other versions
|
case CMD_UNK_0C: break; // TODO: check other versions
|
||||||
case CMD_UNK_0D: curr_idx += 2; break;
|
|
||||||
|
case CMD_MORE:
|
||||||
|
addr_hi = m_cmdlist[curr_idx++];
|
||||||
|
addr_lo = m_cmdlist[curr_idx++];
|
||||||
|
size = m_cmdlist[curr_idx++];
|
||||||
|
|
||||||
|
CopyCmdList(HILO_TO_32(addr), size);
|
||||||
|
curr_idx = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
case CMD_OUTPUT:
|
case CMD_OUTPUT:
|
||||||
// Skip the first address, it is used for surround audio
|
// Skip the first address, it is used for surround audio
|
||||||
|
|
|
@ -64,7 +64,7 @@ private:
|
||||||
CMD_COMPRESSOR_TABLE_ADDR = 0x0A,
|
CMD_COMPRESSOR_TABLE_ADDR = 0x0A,
|
||||||
CMD_UNK_0B = 0x0B,
|
CMD_UNK_0B = 0x0B,
|
||||||
CMD_UNK_0C = 0x0C,
|
CMD_UNK_0C = 0x0C,
|
||||||
CMD_UNK_0D = 0x0D,
|
CMD_MORE = 0x0D,
|
||||||
CMD_OUTPUT = 0x0E,
|
CMD_OUTPUT = 0x0E,
|
||||||
CMD_END = 0x0F,
|
CMD_END = 0x0F,
|
||||||
CMD_UNK_10 = 0x10,
|
CMD_UNK_10 = 0x10,
|
||||||
|
|
Loading…
Reference in New Issue