Git Product home page Git Product logo

pc6001vx's People

Contributors

barbeque avatar eighttails avatar tsutsui avatar windy6001 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pc6001vx's Issues

More than one locale?

Hi!
First of all, thank you for your work!
I'm making russian localization for this emulator, and, when I'm trying to test it, locale stay the same.
After research I found the point of plugging the locale files:


	if(locale.language() != QLocale::Japanese){
   	qDebug() << "LANG = " << locale;
   	if (myappTranslator.load(":/translation/PC6001VX_en")) {
   		app.installTranslator(&myappTranslator);
   	}

It is possible to change it for more than one locale support?

環境設定のストップビット数の変更が反映されない

4.0.0 で追加された [環境設定]→[基本]→[CMT]の「ストップビット数」の値を変更しても
実際の設定や ~/.pc6001vx4/pc6001vx.ini の設定に反映されないようです。

遠い記憶を呼び起こして https://gist.github.com/tsutsui/be54f9bda8c0ae51e73f85f7775c1aa4 とかを見ると

//// CMT
// Turbo TAPE
ui->checkBoxTurboTape->setChecked(config->GetValue(CB_TurboTAPE));
あたりの「メニュー設定と実際の設定をやり取りする部分」が漏れているだけっぽくて、
以下のような修正を入れると意図通り動いているっぽい感じです。

diff --git a/src/Qt/configdialog.cpp b/src/Qt/configdialog.cpp
index 050bdca..6613b81 100644
--- a/src/Qt/configdialog.cpp
+++ b/src/Qt/configdialog.cpp
@@ -159,6 +159,9 @@ void ConfigDialog::readConfig()
 	// BoostUp 最大倍率(N60m/N66モード)
 	ui->spinBoxBoost66->setValue(qMin(qMax(1, config->GetValue(CV_MaxBoost62)), 100));
 
+	// ストップビット数
+	ui->spinBoxStopBit->setValue(qMin(qMax(2, config->GetValue(CV_StopBit)), 10));
+
 	// 内蔵互換ROM使用
 	const bool CompatibleRomMode = P6VPATH2QSTR(config->GetValue(CF_RomPath)).startsWith(":");
 	ui->checkBoxCompatibleRomMode->setChecked(CompatibleRomMode);
@@ -419,6 +422,9 @@ void ConfigDialog::writeConfig()
 	// BoostUp 最大倍率(N60m/N66モード)
 	config->SetValue(CV_MaxBoost62, ui->spinBoxBoost66->value());
 
+	// ストップビット数
+	config->SetValue(CV_StopBit, ui->spinBoxStopBit->value());
+
 	// 拡張カートリッジ
 	config->SetValue(CV_ExCartridge, int(extCartIds[ui->comboBoxExtCartridge->currentIndex()]));
 

(これだけならプルリクでもいいかと思いましたが、 Qt のことはよくわかっていないので……)

4.1.4 build failure on linux

👋 trying to build the latest release, but run into some build issue. The error log is as below:

error build log
compiling ../src/Qt/p6vxapp.cpp
../src/Qt/p6vxapp.cpp: In member function ‘void P6VXApp::inhibitScreenSaver()’:
../src/Qt/p6vxapp.cpp:1226:76: error: ‘QX11Application’ is not a member of ‘QNativeInterface’; did you mean ‘QWaylandApplication’?
 1226 |                 if (auto *x11App = qApp->nativeInterface<QNativeInterface::QX11Application>()){
      |                                                                            ^~~~~~~~~~~~~~~
      |                                                                            QWaylandApplication
../src/Qt/p6vxapp.cpp:1226:92: error: no matching function for call to ‘QApplication::nativeInterface<<expression error> >()’
 1226 |                 if (auto *x11App = qApp->nativeInterface<QNativeInterface::QX11Application>()){
In file included from /home/linuxbrew/.linuxbrew/Cellar/qt/6.5.1_3/include/QtCore/qcoreapplication.h:16,
                 from /home/linuxbrew/.linuxbrew/Cellar/qt/6.5.1_3/include/QtCore/qapplicationstatic.h:9,
                 from /home/linuxbrew/.linuxbrew/Cellar/qt/6.5.1_3/include/QtCore/QtCore:26,
                 from /home/linuxbrew/.linuxbrew/Cellar/qt/6.5.1_3/include/QtWidgets/QtWidgetsDepends:3,
                 from /home/linuxbrew/.linuxbrew/Cellar/qt/6.5.1_3/include/QtWidgets/QtWidgets:3,
                 from ../src/Qt/p6vxapp.cpp:1:
/home/linuxbrew/.linuxbrew/Cellar/qt/6.5.1_3/include/QtCore/qnativeinterface.h:136:22: note: candidate: ‘template<class NativeInterface, class TypeInfo, class BaseType, typename std::enable_if<TypeInfo::isCompatibleWith<QApplication>, bool>::type <anonymous> > NativeInterface* QApplication::nativeInterface() const’
  136 |     NativeInterface *nativeInterface() const \
      |                      ^~~~~~~~~~~~~~~
/home/linuxbrew/.linuxbrew/Cellar/qt/6.5.1_3/include/QtWidgets/qapplication.h:125:5: note: in expansion of macro ‘QT_DECLARE_NATIVE_INTERFACE_ACCESSOR’
  125 |     QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QApplication)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/linuxbrew/.linuxbrew/Cellar/qt/6.5.1_3/include/QtCore/qnativeinterface.h:136:22: note:   template argument deduction/substitution failed:
  136 |     NativeInterface *nativeInterface() const \
      |                      ^~~~~~~~~~~~~~~
/home/linuxbrew/.linuxbrew/Cellar/qt/6.5.1_3/include/QtWidgets/qapplication.h:125:5: note: in expansion of macro ‘QT_DECLARE_NATIVE_INTERFACE_ACCESSOR’
  125 |     QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QApplication)
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/Qt/p6vxapp.cpp:1226:92: error: template argument 1 is invalid
 1226 |                 if (auto *x11App = qApp->nativeInterface<QNativeInterface::QX11Application>()){
make: *** [Makefile:3112: p6vxapp.o] Error 1

full build log, https://github.com/Homebrew/homebrew-core/actions/runs/6066130537/job/16456391906
relates to Homebrew/homebrew-core#139879

`4.2.5` doesn't quit gracefully with SIGTERM or SIGHUP

At homebrew-core we are seeing a recurring test issue with PC6001VX where we cannot run the application twice in a row, if it is quit using "SIGTERM", or similar kill commands.

I can replicate this by running the built binary on my machine, forcefully quitting it (without responding to the config prompts that show on first start), and then trying to run the binary again (it will crash immediately). If I restart my machine and try again the binary then functions.

Here is a link to our current test for reference: https://github.com/Homebrew/homebrew-core/blob/900d197baaaf7ea18a89ba06a76c0ed5f9144e97/Formula/p/pc6001vx.rb#L38-L52

It may be that QT is not setup to gracefully handle unix's SIGTERM or SIGHUP commands.
https://doc.qt.io/qt-6/unix-signals.html

Android 13.0 Pixel 4a でタッチ位置検出が意図通りになっていない?

PC6001VX 4.2.4 において Android 13.0 Pixel 4a でタッチ位置の検出が意図どおりになっていないように見えます。

詳細は添付動画を見ていただくとして、以下が意図通りでないように見えます。

  • 画面の上端の数ドットの範囲はタッチしても反応しない? (00:04〜00:05; 厳密なタッチ範囲を確認できていませんが)
  • 仮想キーボードを消去しても画面の再描画がされない (00:10〜00:11)
  • 画面回転後の横画面でのタッチ位置の反応範囲が画面サイズと一致しない、
    かつ、タッチ位置とメニュー表示位置がずれる (00:22〜00:30)
  • 仮想キーボードを再表示したときの縦位置が下にズレている、かつ、タッチ範囲がおかしい? (00:32〜00:38)
PC6001VX-android-touch-position.mp4

なお、仮想キーボード消去後の横画面でのタッチ範囲のズレについては 4.2.3でも同様だったと思います。

PC6001VX 4.2.5 does not run for 14-arm

👋 happy new year, I have just ran into another issue of launching PC6001VX 4.2.5 on a 14-arm machine (while it does work for 13-arm machine)

$ lldb /opt/homebrew/Cellar/pc6001vx/4.2.5/bin/PC6001VX
(lldb) target create "/opt/homebrew/Cellar/pc6001vx/4.2.5/bin/PC6001VX"
error: '/opt/homebrew/Cellar/pc6001vx/4.2.5/bin/PC6001VX' doesn't contain any 'host' platform architectures: arm64, armv7, armv7f, armv7k, armv7s, armv7m, armv7em, armv6m, armv6, armv5, armv4, arm, thumbv7, thumbv7k, thumbv7s, thumbv7f, thumbv7m, thumbv7em, thumbv6m, thumbv6, thumbv5, thumbv4t, thumb, x86_64, x86_64, arm64, arm64e, arm64, arm64e

this is the working snapshot for 13-arm

image

Let me know if you need more info. Thanks!

SIGSEGV on Qt 6.7.1 environment?

PC6001VX 4.2.4 works n NetBSD/i386 10.0 + pkgsrc-2024Q1 (with Qt 6.6.2), but after updating Qt to 6.7.1 (from pkgsrc -current) PC6001VX 4.2.4 gets SIGSEGV on startup:

GDB backtrace shows:

Reading symbols from work.i386/PC6001VX_4.2.4_src/PC6001VX...
(gdb) run
Starting program: /usr/pkgsrc/emulators/PC6001VX/work.i386/PC6001VX_4.2.4_src/PC6001VX 
[New LWP 17147 of process 10970]
[New process 10970]
[New LWP 1848 of process 10970]
[New LWP 457 of process 10970]
[New LWP 6877 of process 10970]
[New LWP 22793 of process 10970]

Thread 1 "" received signal SIGSEGV, Segmentation fault.
0xac1abed1 in QObject::deleteLater() () from /usr/pkg/qt6/lib/libQt6Core.so.6
(gdb) bt
#0  0xac1abed1 in QObject::deleteLater() () from /usr/pkg/qt6/lib/libQt6Core.so.6
#1  0x00682d67 in P6VXApp::executeEmulation (this=<optimized out>) at src/Qt/p6vxapp.cpp:829
#2  0x00734b9b in P6VXApp::qt_static_metacall (_o=0xbfb58d88, _c=QMetaObject::InvokeMetaMethod, _id=18, _a=0xa64a0d8c) at moc_p6vxapp.cpp:280
#3  0xac1a9db9 in QMetaCallEvent::placeMetaCall(QObject*) () from /usr/pkg/qt6/lib/libQt6Core.so.6
#4  0xac1aeb44 in QObject::event(QEvent*) () from /usr/pkg/qt6/lib/libQt6Core.so.6
#5  0xac1745b3 in QCoreApplication::event(QEvent*) () from /usr/pkg/qt6/lib/libQt6Core.so.6
#6  0xac9e97f5 in QGuiApplication::event(QEvent*) () from /usr/pkg/qt6/lib/libQt6Gui.so.6
#7  0xad2cf99a in QApplication::event(QEvent*) () from /usr/pkg/qt6/lib/libQt6Widgets.so.6
#8  0xad2c8e5b in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/pkg/qt6/lib/libQt6Widgets.so.6
#9  0xad2d1816 in QApplication::notify(QObject*, QEvent*) () from /usr/pkg/qt6/lib/libQt6Widgets.so.6
#10 0x00688026 in P6VXApp::notify (this=0xbfb58d88, receiver=0xbfb58d88, event=0xa64a0d60) at src/Qt/p6vxapp.cpp:1193
#11 0xac174368 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/pkg/qt6/lib/libQt6Core.so.6
#12 0xac174600 in QCoreApplication::sendEvent(QObject*, QEvent*) () from /usr/pkg/qt6/lib/libQt6Core.so.6
#13 0xac1780b4 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/pkg/qt6/lib/libQt6Core.so.6
#14 0xac178326 in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/pkg/qt6/lib/libQt6Core.so.6
#15 0xac39e142 in ?? () from /usr/pkg/qt6/lib/libQt6Core.so.6
#16 0xaa362665 in g_main_dispatch () from /usr/pkg/lib/libglib-2.0.so.0
#17 0xaa3652e9 in g_main_context_iterate_unlocked.constprop () from /usr/pkg/lib/libglib-2.0.so.0
#18 0xaa3659d4 in g_main_context_iteration () from /usr/pkg/lib/libglib-2.0.so.0
#19 0xac39d919 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/pkg/qt6/lib/libQt6Core.so.6
#20 0xa657974f in ?? () from /usr/pkg/qt6/lib/libQt6XcbQpa.so.6
#21 0xac17f4dd in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/pkg/qt6/lib/libQt6Core.so.6
#22 0xac17d108 in QCoreApplication::exec() () from /usr/pkg/qt6/lib/libQt6Core.so.6
#23 0xac9de712 in QGuiApplication::exec() () from /usr/pkg/qt6/lib/libQt6Gui.so.6
#24 0xad2c8dd4 in QApplication::exec() () from /usr/pkg/qt6/lib/libQt6Widgets.so.6
#25 0x0075235f in main (argc=<optimized out>, argv=0xbfb58e64) at src/Qt/pc6001v.cpp:83
(gdb) 

I'm not sure if this is environment dependent, but I'd like to know if 6.7.1 is tested on other platforms.

error ?SN Error in 40704 in game Vital Lamp with non built in pc-6001mk2/6601 bios

Version 3.3.1 windows 10. I receive an error ?SN Error in 40704 when trying to load and run game Vital Lamp (5, page 2) and get errors with other games also when using real bios for 6001mk2 or 6601 instead of built in compatible rom. I first ran the game with no problem using the built in bios set to 6601 as the model and the game worked. I then tried to unselect use the built in compatible rom and selected 6001mkII as the model. I have the bios roms in the rom directory, set the subdirectory for rom and set the rom to BASICROM.62 in that directory. It boots ok to say pc-6001 mk2 basic, I can select the 5 n60m basic and then page 2. Added the vital lamp tape in right click menu, cload worked but next when I typed run I get a ?SN Error in 40704. So not sure what is wrong as that did not happen with built in bios. Same error occurs if I try 6601 bios not built in and selecting BASICROM.66 from the rom directory and PC-6601 as the model with built in rom unselected, but works if I use built in rom. I then tried several bios rom sets also including this set as an example that works fine in another emulator so I dont think it is the bios unless it needs a different name. https://mega.nz/#!yugQDCqY!KZSDhtveWfBtMtP8Qx8s-GudQO7hdkIxOciNmjjuX7c

The free game appears to be in this collection https://archive.org/details/Neo_Kobe_NEC_PC-6001_2016-02-25 Twinkle stars (5,2) also had a similar problem as another example giving a ?SN Error in 36352 on the run command using the non built in bios.

Versioning scheme (2.2 > 2.11)

I just noticed a new release and congratulations.

By the way, there's a chance that the new version (2.2) perceived older than the previous version (2.11) since 2 is numerically lower than 11. Considering many package managers, including Homebrew, follow numerical comparison rather than lexical, we'd better not make unnecessary confusion here. Semantic versioning might be a good reference.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.