obschan Posted March 29, 2023 Share Posted March 29, 2023 Over the last few months I grew frustrated by the original handybug and decided to improve the existing debugging tools, at least to something that would fit my needs, I originally wanted to debug my comlynx code. I've published it there : https://github.com/LLeny/VkHandybug I had it to run on Linux compiled with gcc 12.1 and Windows with Visual studio 2022, anyone with some Mac hardware/knowledge to give it a try ? I took my inspiration from a bit of everything around, the original handybug, Felix. This is not a Handy frontend, this is not made to run, render games with accurate timing, the threading model is very naive at this point. My original plan was to be able to run multiple debugging "synchronized" sessions concurrently to be able to debug comlynx. It's still very rough around the edges but it could be useful to someone else than me. 4 Quote Link to comment Share on other sites More sharing options...
42bs Posted March 29, 2023 Share Posted March 29, 2023 Nice. Some quick check findings: - LRU list of sessions is always empty. - No "default" session layout/possibility to change download file. - Sprite engine is buggy (check nostalgia) (interestingly it shows the same bugs Igor reported) Quote Link to comment Share on other sites More sharing options...
obschan Posted March 29, 2023 Author Share Posted March 29, 2023 2 hours ago, 42bs said: - LRU list of sessions is always empty. Hmm, the recently used list ? You're on windows, linux ? It's only that list or none of the settings are saved (like theme, lynxboot file, session settings, ... )? Nothing "out of the ordinary" in your path ? 2 hours ago, 42bs said: - No "default" session layout/possibility to change download file. Right, I'll add that to todo. 2 hours ago, 42bs said: - Sprite engine is buggy (check nostalgia) (interestingly it shows the same bugs Igor reported) I haven't looked at the engine much yet, but I actually took it from your github repo. Any patches that I could add ? Thank you for your feedback. Quote Link to comment Share on other sites More sharing options...
42bs Posted March 29, 2023 Share Posted March 29, 2023 6 minutes ago, obschan said: Hmm, the recently used list ? You're on windows, linux ? It's only that list or none of the settings are saved (like theme, lynxboot file, session settings, ... )? Nothing "out of the ordinary" in your path ? I tried it on Windows. The Sessions menu is just empty. But the last .lnx files are listed. But it creates a new session when re-opening. Quote Link to comment Share on other sites More sharing options...
obschan Posted March 29, 2023 Author Share Posted March 29, 2023 Oh I see, this menu should be populated when you have sessions (handy instance) opened, it'll list the sessions and the shortcut to open/close the different widgets. Quote Link to comment Share on other sites More sharing options...
42bs Posted March 29, 2023 Share Posted March 29, 2023 Ah, I was interpreting Session as a work space session which saves window positions and base addresses. But it is lives as long as handy is open. It seems GUI info is not stored between runs. Hence, the same 'problem' as with the debugUI for Felix. Quote Link to comment Share on other sites More sharing options...
42bs Posted March 29, 2023 Share Posted March 29, 2023 Hmm, I have to say, the deeper sense of the "Sessions" is not clear to me. I was expecting, that I could hide/show all windows of a session. But it seems it is "just" as if I would start another handy instance. I see the background is ComLYNX debugging, which is surely easier within _one_ emulator. Quote Link to comment Share on other sites More sharing options...
sage Posted March 29, 2023 Share Posted March 29, 2023 41 minutes ago, 42bs said: Hmm, I have to say, the deeper sense of the "Sessions" is not clear to me. I was expecting, that I could hide/show all windows of a session. But it seems it is "just" as if I would start another handy instance. I see the background is ComLYNX debugging, which is surely easier within _one_ emulator. for comlynx you need proper timing between instances, otherwise time-out and collisions occur. 1 Quote Link to comment Share on other sites More sharing options...
obschan Posted March 29, 2023 Author Share Posted March 29, 2023 (edited) Yes that was my original motivation. Most of the emulators frontends achieve accuracy by synchronizing on display, audio frames. I don't think multiple comlynx running instance can be stable in that case, except with robust flow control. I was hoping to get at least opcode (not tick) timing synchronization. Redeye is still flaky, but I think handy timer issues need to be fixed first. Edited March 29, 2023 by obschan Quote Link to comment Share on other sites More sharing options...
42bs Posted March 30, 2023 Share Posted March 30, 2023 17 hours ago, obschan said: I had it to run on Linux compiled with gcc 12.1 and Windows with Visual studio 2022, anyone with some Mac hardware/knowledge to give it a try ? I tried naivly "cmake ../" (on MacOS) but it does not work. What are the needed libraries? Quote Link to comment Share on other sites More sharing options...
42bs Posted March 30, 2023 Share Posted March 30, 2023 I installed Vulkan SDK and cmake generates an Makefile, but there are errors during build. Compiling works, but the resulting application just crashes. Quote Link to comment Share on other sites More sharing options...
42bs Posted March 30, 2023 Share Posted March 30, 2023 Success: Things I needed to do for MacOS: - remove includeing "endian.h" in md5.cpp - remove patches in tools/cmake.dependencies There are currently a lot of warnings regarding sprintf() and other deprecated functions. But: It run! Quote Link to comment Share on other sites More sharing options...
obschan Posted March 30, 2023 Author Share Posted March 30, 2023 Oh that's great, thanks ! Would you mind making a PR with the #ifdef needed ? Quote Link to comment Share on other sites More sharing options...
laoo Posted March 30, 2023 Share Posted March 30, 2023 Looks great! It seems that 42bs is going to un-retire Handy again 1 Quote Link to comment Share on other sites More sharing options...
pwwit1 Posted September 8, 2023 Share Posted September 8, 2023 Nice work!! I started on a lynx project earlier in the year, came across this exact issue and wanted to redo the debugger with imgui! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.