diff --git a/README.md b/README.md index 2e46e82..ff8df59 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,26 @@ The UKNCBTL project consists of: * Project wiki: https://github.com/nzeemin/ukncbtl-doc/wiki * Screenshots: https://github.com/nzeemin/ukncbtl-doc/wiki/Screenshots-ru * User's Manual (in Russian): https://github.com/nzeemin/ukncbtl-doc/wiki/Users-Manual-ru + + +## Как запустить под Linux + +### Собрать из исходников + + 1. Установить пакеты: Qt 5 + QtScript
+ `sudo apt install qtbase5-dev qt5-qmake qtscript5-dev` + 2. Скачать исходники: либо через
+ `git clone https://github.com/nzeemin/ukncbtl-qt.git`
+ либо скачать как .zip и распаковать + 3. Выполнить команды:
+ `cd emulator`
+ `qmake "CONFIG+=release" QtUkncBtl.pro`
+ `make`
+ 4. Дать права на выполнение: `chmod +x QtUkncBtl` + 5. Запустить `QtUkncBtl` + +### Используя готовый AppImage + + 1. Зайти в [Releases](https://github.com/nzeemin/bkbtl-qt/releases) найти последний AppImage-релиз и скачать `*.AppImage` файл + 2. Дать права на выполнение: `chmod +x UKNCBTL_Qt-a808c28-x86_64.AppImage` (подставить тут правильное название AppImage файла) + 3. Запустить AppImage файл diff --git a/emulator/images/ukncbtl.png b/emulator/images/ukncbtl.png index 7149205..5f11a41 100644 Binary files a/emulator/images/ukncbtl.png and b/emulator/images/ukncbtl.png differ diff --git a/emulator/qdebugview.cpp b/emulator/qdebugview.cpp index 12340c2..49b12e9 100644 --- a/emulator/qdebugview.cpp +++ b/emulator/qdebugview.cpp @@ -361,18 +361,18 @@ void QDebugProcessorCtrl::DrawBinaryValueChanged( DebugCtrlHitTest QDebugProcessorCtrl::hitTest(int x, int y) { DebugCtrlHitTest hit = QDebugCtrl::hitTest(x, y); - if (hit.line < 0 || hit.line == 9 || hit.line > 11) + if (hit.line < 1 || hit.line == 10 || hit.line > 12) return hit; // Invalid line number hit.isValid = true; const CProcessor* pProc = getProc(); - if (hit.line < 8) - hit.value = pProc->GetReg(hit.line); - else if (hit.line == 8) + if (hit.line > 0 && hit.line < 9) + hit.value = pProc->GetReg(hit.line - 1); + else if (hit.line == 9) hit.value = pProc->GetCPC(); - else if (hit.line == 10) - hit.value = pProc->GetPSW(); else if (hit.line == 11) + hit.value = pProc->GetPSW(); + else if (hit.line == 12) hit.value = pProc->GetCPSW(); return hit;