Fix APU CMP & Debugger

This commit is contained in:
Melefo
2020-05-07 16:42:23 +02:00
parent 7733ec2129
commit 5c94bdb27a
2 changed files with 5 additions and 6 deletions

View File

@@ -63,10 +63,9 @@ namespace ComSquare::APU
int APU::CMP(uint24_t operand1, uint24_t operand2, int cycles) int APU::CMP(uint24_t operand1, uint24_t operand2, int cycles)
{ {
uint8_t data1 = this->_internalRead(operand1); uint8_t data1 = this->_internalRead(operand1);
uint8_t data2 = this->_internalRead(operand2);
this->_internalRegisters.c = data1 >= data2; this->_internalRegisters.c = data1 >= operand2;
this->_setNZflags(data1 - data2); this->_setNZflags(data1 - operand2);
return cycles; return cycles;
} }

View File

@@ -38,8 +38,8 @@ namespace ComSquare::Debugger
this->_ui.port2hexaLineEdit->setText(Utility::to_hex(this->_registers.port2).c_str()); this->_ui.port2hexaLineEdit->setText(Utility::to_hex(this->_registers.port2).c_str());
this->_ui.port2LineEdit->setText(Utility::to_binary(this->_registers.port2).c_str()); this->_ui.port2LineEdit->setText(Utility::to_binary(this->_registers.port2).c_str());
this->_ui.port3hexaLineEdit->setText(Utility::to_hex(this->_registers.port2).c_str()); this->_ui.port3hexaLineEdit->setText(Utility::to_hex(this->_registers.port3).c_str());
this->_ui.port3LineEdit->setText(Utility::to_binary(this->_registers.port2).c_str()); this->_ui.port3LineEdit->setText(Utility::to_binary(this->_registers.port3).c_str());
this->_ui.controlhexaLineEdit->setText(Utility::to_hex(this->_registers.ctrlreg).c_str()); this->_ui.controlhexaLineEdit->setText(Utility::to_hex(this->_registers.ctrlreg).c_str());
this->_ui.controlLineEdit->setText(Utility::to_binary(this->_registers.ctrlreg).c_str()); this->_ui.controlLineEdit->setText(Utility::to_binary(this->_registers.ctrlreg).c_str());
@@ -81,7 +81,7 @@ namespace ComSquare::Debugger
this->_ui.xIndexLineEdit->setText(Utility::to_hex(this->_internalRegisters.x).c_str()); this->_ui.xIndexLineEdit->setText(Utility::to_hex(this->_internalRegisters.x).c_str());
this->_ui.yIndexLineEdit->setText(Utility::to_hex(this->_internalRegisters.y).c_str()); this->_ui.yIndexLineEdit->setText(Utility::to_hex(this->_internalRegisters.y).c_str());
this->_ui.accumlatorLineEdit->setText(Utility::to_hex(this->_internalRegisters.a).c_str()); this->_ui.accumlatorLineEdit->setText(Utility::to_hex(this->_internalRegisters.a).c_str());
this->_ui.programCounterLineEdit->setText(Utility::to_hex(this->_internalRegisters.pc).c_str()); this->_ui.programCounterLineEdit->setText(Utility::to_hex(this->_internalRegisters.pc + 0x0001u).c_str());
this->_ui.programStatusWordLineEdit->setText(this->_getPSWString().c_str()); this->_ui.programStatusWordLineEdit->setText(this->_getPSWString().c_str());
this->_ui.mvolLprogressBar->setValue(this->_dsp->getRegisters().mvolL); this->_ui.mvolLprogressBar->setValue(this->_dsp->getRegisters().mvolL);