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
|
||||
u16 addr_hi, addr_lo;
|
||||
u16 addr2_hi, addr2_lo;
|
||||
u16 size;
|
||||
|
||||
u32 pb_addr = 0;
|
||||
|
||||
|
@ -90,8 +91,7 @@ void CUCode_NewAX::HandleCommandList()
|
|||
|
||||
switch (cmd)
|
||||
{
|
||||
|
||||
// A lot of these commands are unknown, or unused in this AX HLE.
|
||||
// Some of these commands are unknown, or unused in this AX HLE.
|
||||
// We still need to skip their arguments using "curr_idx += N".
|
||||
|
||||
case CMD_SETUP:
|
||||
|
@ -140,7 +140,15 @@ void CUCode_NewAX::HandleCommandList()
|
|||
case CMD_COMPRESSOR_TABLE_ADDR: curr_idx += 2; break;
|
||||
case CMD_UNK_0B: 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:
|
||||
// Skip the first address, it is used for surround audio
|
||||
|
|
|
@ -64,7 +64,7 @@ private:
|
|||
CMD_COMPRESSOR_TABLE_ADDR = 0x0A,
|
||||
CMD_UNK_0B = 0x0B,
|
||||
CMD_UNK_0C = 0x0C,
|
||||
CMD_UNK_0D = 0x0D,
|
||||
CMD_MORE = 0x0D,
|
||||
CMD_OUTPUT = 0x0E,
|
||||
CMD_END = 0x0F,
|
||||
CMD_UNK_10 = 0x10,
|
||||
|
|
Loading…
Reference in New Issue