SET_CONSTANT for the other types. I think.
This commit is contained in:
parent
1a9ce6edfa
commit
b818adbf6d
|
@ -1295,7 +1295,35 @@ bool CommandProcessor::ExecutePacketType3_SET_CONSTANT(RingbufferReader* reader,
|
||||||
uint32_t index = offset_type & 0x7FF;
|
uint32_t index = offset_type & 0x7FF;
|
||||||
uint32_t type = (offset_type >> 16) & 0xFF;
|
uint32_t type = (offset_type >> 16) & 0xFF;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 0x4: // REGISTER
|
case 0: // ALU
|
||||||
|
index += 0x4000;
|
||||||
|
for (uint32_t n = 0; n < count - 1; n++, index++) {
|
||||||
|
uint32_t data = reader->Read();
|
||||||
|
WriteRegister(index, data);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1: // FETCH
|
||||||
|
index += 0x4800;
|
||||||
|
for (uint32_t n = 0; n < count - 1; n++, index++) {
|
||||||
|
uint32_t data = reader->Read();
|
||||||
|
WriteRegister(index, data);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2: // BOOL
|
||||||
|
index += 0x4900;
|
||||||
|
for (uint32_t n = 0; n < count - 1; n++, index++) {
|
||||||
|
uint32_t data = reader->Read();
|
||||||
|
WriteRegister(index, data);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3: // LOOP
|
||||||
|
index += 0x4908;
|
||||||
|
for (uint32_t n = 0; n < count - 1; n++, index++) {
|
||||||
|
uint32_t data = reader->Read();
|
||||||
|
WriteRegister(index, data);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4: // REGISTER
|
||||||
index += 0x2000; // registers
|
index += 0x2000; // registers
|
||||||
for (uint32_t n = 0; n < count - 1; n++, index++) {
|
for (uint32_t n = 0; n < count - 1; n++, index++) {
|
||||||
uint32_t data = reader->Read();
|
uint32_t data = reader->Read();
|
||||||
|
@ -1304,6 +1332,7 @@ bool CommandProcessor::ExecutePacketType3_SET_CONSTANT(RingbufferReader* reader,
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert_always();
|
assert_always();
|
||||||
|
reader->Skip(count - 1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue