diff options
Diffstat (limited to 'qtmips_gui')
-rw-r--r-- | qtmips_gui/mainwindow.cpp | 5 | ||||
-rw-r--r-- | qtmips_gui/terminaldock.cpp | 6 | ||||
-rw-r--r-- | qtmips_gui/terminaldock.h | 1 |
3 files changed, 10 insertions, 2 deletions
diff --git a/qtmips_gui/mainwindow.cpp b/qtmips_gui/mainwindow.cpp index 0482b11..5174949 100644 --- a/qtmips_gui/mainwindow.cpp +++ b/qtmips_gui/mainwindow.cpp @@ -148,8 +148,9 @@ void MainWindow::create_core(const machine::MachineConfig &config) { set_speed(); // Update machine speed to current settings #if 1 - machine->register_exception_handler(machine::EXCAUSE_SYSCALL, - new osemu::OsSyscallExceptionHandler); + osemu::OsSyscallExceptionHandler *osemu_handler = new osemu::OsSyscallExceptionHandler; + machine->register_exception_handler(machine::EXCAUSE_SYSCALL, osemu_handler); + connect(osemu_handler, SIGNAL(char_written(int,uint)), terminal, SLOT(tx_byte(int,uint))); #endif // Connect machine signals and slots diff --git a/qtmips_gui/terminaldock.cpp b/qtmips_gui/terminaldock.cpp index 31e8c68..4b394a6 100644 --- a/qtmips_gui/terminaldock.cpp +++ b/qtmips_gui/terminaldock.cpp @@ -70,3 +70,9 @@ void TerminalDock::tx_byte(unsigned int data) { else append_cursor->insertText(QString(QChar(data))); } + +void TerminalDock::tx_byte(int fd, unsigned int data) +{ + (void)fd; + tx_byte(data); +} diff --git a/qtmips_gui/terminaldock.h b/qtmips_gui/terminaldock.h index b0c76cf..7154e81 100644 --- a/qtmips_gui/terminaldock.h +++ b/qtmips_gui/terminaldock.h @@ -53,6 +53,7 @@ public: public slots: void tx_byte(unsigned int data); + void tx_byte(int fd, unsigned int data); private: QVBoxLayout *layout_box; |