Example #1
0
UIDebugM68K::UIDebugM68K( YabauseThread *mYabauseThread, QWidget* p )
	: UIDebugCPU(mYabauseThread, p )
{
   this->setWindowTitle(QtYabause::translate("Debug M68K"));
   gbRegisters->setTitle(QtYabause::translate("M68K Registers"));
	gbMemoryBreakpoints->setVisible( false );

   updateRegList();
   if (SoundRam)
   {
      m68kregs_struct m68kregs;
      const m68kcodebreakpoint_struct *cbp;
      int i;

      cbp = M68KGetBreakpointList();

      for (i = 0; i < MAX_BREAKPOINTS; i++)
      {
         QString text;
         if (cbp[i].addr != 0xFFFFFFFF)
         {
            text.sprintf("%08X", (int)cbp[i].addr);
            lwCodeBreakpoints->addItem(text);
         }
      }

      lwDisassembledCode->setDisassembleFunction(M68KDis);
      lwDisassembledCode->setEndAddress(0x100000);
      lwDisassembledCode->setMinimumInstructionSize(2);
      M68KGetRegisters(&m68kregs);
      updateCodeList(m68kregs.PC);

      M68KSetBreakpointCallBack(M68KBreakpointHandler);
   }
}
Example #2
0
UIDebugSCUDSP::UIDebugSCUDSP( YabauseThread *mYabauseThread, QWidget* p )
	: UIDebugCPU( mYabauseThread, p )
{
   this->setWindowTitle("Debug SCU DSP");
   gbRegisters->setTitle("DSP Registers");
	pbMemoryTransfer->setVisible( false );
	gbMemoryBreakpoints->setVisible( false );

   pbReserved1->setText(QtYabause::translate("Save Program"));
   pbReserved2->setText(QtYabause::translate("Save MD0"));
   pbReserved3->setText(QtYabause::translate("Save MD1"));
   pbReserved4->setText(QtYabause::translate("Save MD2"));
   pbReserved5->setText(QtYabause::translate("Save MD3"));

   pbReserved1->setVisible( true );
   pbReserved2->setVisible( true );
   pbReserved3->setVisible( true );
   pbReserved4->setVisible( true );
   pbReserved5->setVisible( true );

   QSize size = lwRegisters->minimumSize();
   size.setWidth(size.width() + lwRegisters->fontMetrics().averageCharWidth());
   lwRegisters->setMinimumSize(size);

   size = lwDisassembledCode->minimumSize();
   size.setWidth(lwRegisters->fontMetrics().averageCharWidth() * 80);
   lwDisassembledCode->setMinimumSize(size);

   updateRegList();
   if (ScuRegs)
   {
      scudspregs_struct regs;
      const scucodebreakpoint_struct *cbp;
      int i;

      cbp = ScuDspGetBreakpointList();

      for (i = 0; i < MAX_BREAKPOINTS; i++)
      {
         QString text;
         if (cbp[i].addr != 0xFFFFFFFF)
         {
            text.sprintf("%08X", (int)cbp[i].addr);
            lwCodeBreakpoints->addItem(text);
         }
      }

      lwDisassembledCode->setDisassembleFunction(SCUDSPDis);
      lwDisassembledCode->setEndAddress(0x100);
      lwDisassembledCode->setMinimumInstructionSize(1);
      ScuDspGetRegisters(&regs);
      updateCodeList(regs.PC);

      ScuDspSetBreakpointCallBack(SCUDSPBreakpointHandler);
   }
}
Example #3
0
void UIDebugSCUDSP::updateAll()
{
	updateRegList();
	if (ScuRegs)
	{
		scudspregs_struct regs;
		ScuDspGetRegisters(&regs);
		updateCodeList(regs.PC);
	}
}
Example #4
0
void UIDebugSH2::updateAll()
{
   updateRegList();
   if (debugSH2)
   {
      sh2regs_struct sh2regs;

      SH2GetRegisters(debugSH2, &sh2regs);
      updateCodeList(sh2regs.PC);
      updateBackTrace();
      updateTrackInfLoop();
   }
}
Example #5
0
void UIDebugCPU::on_lwRegisters_itemDoubleClicked ( QListWidgetItem * item )
{
   int size;

   u32 value = getRegister(lwRegisters->row(item), &size);

   UIHexInput hex(value, size, this);
   if (hex.exec() == QDialog::Accepted)
   {
      value = hex.getValue();
      setRegister(lwRegisters->row(item), value);
   }

   updateRegList();
}