66 DearImGUI development build feedback
Manuel Bilderbeek edited this page 2024-07-02 00:29:45 +02:00

Issues related to ImGUI that block the release

ImGui issues in the issue tracker:

Things that will not be implemented for now

Not easily implementable in (the current version of) Dear ImGui

  • all lists allow a quick select/search by pressing the first letter. E.g. if I press "P" the list scrolls to the first item that starts with "P".
    • [Wouter] I tried, but currently it's not easy to customize ImGui widgets with extra keyboard functionality. There is work being done (in upstream Dear ImGui) to improve this, but it seems it progressing slowly. This issue talks about it.
    • The reason why this isn't part of the standard Dear ImGui ListBox/ComboBox is that those widgets don't need to contain (only) text (and also not necessarily sorted). So in general ImGui can't always know what keyboard input should do.
    • Some 3rd-party widgets, for example the FileDialog, do support this behavior. Including some 3rdparty ComboBox widgets, though these are highly specific, we need something more general. We could modify that code, but it's basically a re-implementation of the internal ImGui ComboBox. It makes heavy use of internal/private ImGui stuff, and thus may break when upgrading to a newer ImGui version. For now I prefer to not go in this direction.
  • Various items refer to a pre-defined layouts, for example for the debugger (pre-docking the debugger toolbar on the disassembly view etc). Here's an example image.
    • Technically this might be possible, though the main Dear ImGui developer advises against it. See this thread.
    • Maybe we can instead solve this via examples and documentation. Maybe even a screen-capture-video of how to construct the layout in the previous example image (and ideally more than one example, to show that people can really customize the layout for their specific use case).
      • I don't think this is very easy to set up for most users... Can we help them better? E.g. by some default setups that can be loaded?

OSD menu stuff

  • long items are automatically scrolled.
    • Was a hack for the OSD infrastructure, would be weird in a 'real' GUI. If a long item isn't readable then point it out specifically, and then we can add scroll bars.
  • shows the current machine, as we're operating on that one (e.g. when changing media, extensions, pluggables etc.)
    • Current machine is shown at the top in the 'Select MSX Machine' (fold open the 'Current machine' tree-node to see all details). Isn't that sufficient? If not then please create a mock-up for how it should look.
      • The only viable solution I see is to put all machine-specific stuff under a single top-level 'machine' menu, containing Media and Connectors (at least). But that's probably going to hinder very common use cases elsewhere. I guess we should skip this.

(wx)Catapult

  • as it uses the native OS file dialog, it also offers to rename files, reorganize folders etc. a bit. This is not supported in the Dear ImGUI file dialog and we will therefore not recreate that functionality.
  • Save settings, explicit save settings as... and load settings, auto-save settings on/of. These are considered too detailed/niche to appear in the GUI.
  • Setting of printer log file
  • MIDI in and out setting (including input and log files, but I guess that is not too useful). TODO: isn't just offering the pluggables good enough already?
  • Sample in setting (including input file) for turboR sampling unit

Other

  • the old debugger had the possibility to differentiate between a code label and a constant or variable, through the symbol manager. The new ImGUI Debugger doesn't. See also https://www.msx.org/forum/msx-talk/openmsx/the-best-3-tricks-for-openmsx-debugger-so-far?page=1#comment-454094
    • This isn't true. It only appeared this was possible in the old debugger, but it doesn't actually work. See post in same MRC thread for more details.
    • We could implement this in the future, but to be practically usable it first needs a symbol file format which contains this information, and an assembler that can produce that file format.

Ports

  • Doesn't build on Dingux (which has OpenGL disabled). We must either support GLES or drop the port.
  • Doesn't build in Android (which has OpenGL disabled). We must either support GLES or drop the port.

Bugs that we can't or won't fix:

  • MP83 reports that there is some cropping on the left in the sprite viewer on his Windows system on one monitor, but not on the other: image

Fixed or done.

  • [Manuel] When debug break is active, typing in the console feels very slow. Also when power is off.
    • [Wouter] Fixed in 3a5a0622. See commit message for details.
  • [Manuel] make the display user friendly. E.g. not "carta" but "Cartridge slot A". Not "joyporta" but "Joystick Port A". Not "joystick 1" but the actual device name. In other words: please take a look at how this was done in the OSD menu.
    • [Wouter] Done for the "Connectors" menu.
  • [David] Symbol file needs lower case equ and currently doesn't recognize EQU in uppercase as produced by sjasm(plus)
  • [David] In the disassembly window the mnemonics column doesn't work well with long labels. I got lines like ld (debugenemy and that's it, no 'ld (debugenemy_previous_gravity_value),hl' even after resizing the window to make it fit.
  • [Wouter] The (ImGui) OSD icons were broken (when starting openMSX for the first time):
    • They happened to work fine for me because I had the correct settings in my 'imgui.ini'.
    • Also many tweaks to the default appearance and to the OSD-icon-configuration-window.
  • [David] Allow to open multiple debug windows of the same type.
    • [Wouter] Implemented for the hex-editors, not yet for the other debugger-widgets (disassembly, bitmap viewer, ...).
  • [Manuel] Partially blurry fonts on Manuel's PC. Already visible in the very first version. Unclear when fonts are blurry and when not.
    • [Wouter] Fixed in imgui_impl_opengl3.cc. I opened an upstream issue . I'll keep an eye on how it gets fixed upstream (and then adjust our code).
  • [Wouter] OSD icons are wrong after changing the scale_factor setting.
    • Fixed by reusing the same openGL context when resizing the window (so that e.g. textures remain valid).
  • [Manuel] I had follow PC enabled, but after a step back with a big jump backwards, the PC wasn't shown in the window. So, follow isn't always working properly.
  • [Wouter] There's still something wrong with (repeated?) keyboard event handling.
    • To reproduce:
      • Open an ImGui widget which needs keyboard input. For example the 'Debugger > memory' widget.
      • Click on a byte, and then keep holding down a key (e.g. '1' to edit, or 'cursor down' to scroll).
      • In some cases this event is (also?) passed to the emulated MSX.
      • The correct behavior should be that ImGui fully consumes this keyboard event.
    • Fixed in 56499b29.
  • [David] Add location indicator in background of memory viewer.
    • When you edit data in the memory viewer or enter an address directly it is clear which byte you're looking at. However, if you continue debugging your program the memory viewer looses focus, and you do not have any indication anymore of the byte you were monitoring. So simply have the background of this byte in a slightly different color will help tremendously in finding the byte you're interested in during a debug session.
  • Menu to insert extensions
    • [Wouter] Implemented but may need some tweaking. (Though that is covered by other items above).
  • lots of control (e.g. media, some settings) in another window outside of the openMSX window. Some streamers liked it, so they don't have to show the menus on their stream (they only show the MSX screen).
    • [Wouter] Can you name specific items for which this is useful and currently missing? E.g. For switching disks/roms this is already possible via the 'advanced' windows. I don't think this is useful for stuff like changing settings: you typically set these up once before playing a game, not during a game.
    • Maybe we can make it possible to undock the main menu bar?
      • Done, it's now possible to have no imgui items at all on the main openMSX window (menu bar, icons, reversebar can all be moved outside).
  • [Manuel] show the machine info meta-data not after selecting a machine, but while you are selecting. So that you get a kind of preview before you actually select. So you can easily run through the list of machines and get info about what you're selecting. See the OSD menu.
    • [Wouter] Done, via tooltip.
  • Hard disk images cannot be changed in the Media menu yet
    • [Wouter] Done. Also CDROM images.
  • [Manuel] Focus issue with console. One way to trigger: open the console with F10 then close the console by closing the window with the X-icon on the top right. Then no focus on the MSX will be retrieved until opening/closing console again.
    • [Manuel] One idea for focus: always focus on the MSX, unless you activated a GUI window (e.g. by clicking on it). But for the main menu bar, focus should be there when you hover it...
  • Missing error handling. E.g. for stuff like insert a non-working extension, a disk image without proper file permissions, ...
  • [David] a simple table like the breakpoint table where you can enter arbitrary symbolnames/address and get the values of those. This way you can have a quick overview of variables you are monitoring in your code in a central place with easssy names, instead of picking the values from several memory views. If it could be fancy, I propose a table with columns like:
symbol or address size optionally slot and mapperpage value display column
inputbyte 1 0x41 65 'A'
playerlife 1 0x03 3 -
shipspeed 2 0x4241 16961 'AB'
inputstring 10 'big string'
  • [Wouter] Implemented the above via the 'Watch expression' debug window. Not exactly the same as requested, but also more general.
  • File browser for media starts in the directory of that inserted media (if any).
  • [Manuel] I had several issues to get focus back on the MSX input with the keyboard, especially when using the console. I had to reopen the console (first attempt on F10 didn't do anything, second attempt opened the console) and close it to get focus back on the MSX.
    • [Wouter] Can you elaborate? How did the the MSX loose focus? I assume it's because you were interacting with an ImGui widget, thus via the mouse. The normal way to give focus back to the MSX is to click in the MSX window.
      • [Manuel] One way is: open the console with F10 then close the console by closing the window with the X-icon on the top right.
    • [Wouter] Alternatively we give focus back to the MSX when the console widget is closed (so typically by pressing F10 once or twice). The use case I had in mind here was to be compatible with the interaction use-cases of older openMSX versions: you're playing an MSX game, you open the console (e.g. to insert a different disk), you close the console, and then you expect the MSX to regain focus.
    • [Wouter] Can you make a suggestion for how we can improve the focus?
      • [Manuel] we'll have to play with some options. One idea: always focus on the MSX, unless you activated a GUI window (e.g. by clicking on it). But for the main menu bar, focus should be there when you hover it...
  • [Manuel] I think by default, the disassembly view should follow the PC. That's what you normally want, right?
    • [Wouter] You mean the "right-click > Follow PC while running" option, right? The intention is indeed that at all 'relevant' moments (e.g. break, step, backward-step (when the bug below is fixed), ...) the disassembly view indeed scrolls to the PC. The option is only to constantly update the scroll position, also when the MSX is running. Personally I found a constantly scrolling disassembly view too distracting. I can of course close the view when I'm not actively using it. And I don't mind flipping the default, it's just not my personal preference.
  • When selecting an extension in the "Cartridge Slot X" window, the extension name is shown twice near the top of the window.
  • when selecting machines or extensions, a lot of info is immediately shown (while selecting) about the item so you know which one you want. This makes it very quick to find the right machine/extension. Most of this is added already (the meta-data), but the following are still missing:
    • amount of RAM
    • amount of VRAM
    • VDP type
    • number of cartridge slots
  • access to specific toys (toggle_* scripts)
  • supports adding/removing IPS patches for ROMs
  • save states with preview
  • quick access to reset button
  • keyboard shortcuts to quickly go to the start of a selection list
  • [David] debugger sessions are missing.
    • Currently using the debugger requires a large amount of setup each time I launch openMSX
      1. Load the symbol file
      2. Re-enter all breakpoints/watchpoints that I want to check
      3. Have the memory viewer set to the correct address
    • It would be nice if the debugger would save the used symbol files and reload them automatically when openMSX is launched. Specifying them on the CLI could be a sufficient first step for me. Now I created a softlink called 'aaaa.asm' to my sym file just to open it faster in the filebrowser...
    • The breakpoints that I enter use the symbols from the symbol file, when saving the breakpoints these names should be used, since after a recompile from the program I'm testing these labels could have new addresses.
  • Dir-as-disk support (now missing in the Media -> drives menu)
  • slot display shows also the MSX slot number
  • paths are showing the last part, so you can easily find the proper disk image (the disk number is often at the end of the filename). You don't want to resize GUI windows because you can only read the first part of a path... which is the least descriptive.
    • [Wouter] Implemented for path for rom and disk images. Let me know if there are more places where this should be applied.
  • Change order of media to what is available on most machines: cartridge slots, tape deck, disk drives, hard drives, laserdisc
    • Feel free to change the order. But instead of order-of-availability, shouldn't we order them according to most-likely-to-be-needed. I mean so that the most frequently used items are more likely near the top.
    • [Manuel] Mostly agreed, so I made a compromise: carts, extensions, disks, tapes and keep the rest as it was.
  • user-friendly (descriptive) preset settings for horizontal_stretch. This is enough for most users... if it's on another value, we can display "Custom: 123". Although this may be tricky to implement in the GUI if you also want the user to be able to tweak it freely. (Admittedly: this is a bit of a luxury feature, especially if special values are added to the help text.)
    • Addressed by improving the help text.
  • Show 'empty' (instead of nothing) when hovering over a cart/disk/cassette in the media menu which has nothing inserted.
  • In the info about the machines or extensions, don't show the XML keys or Tcl dict keys, but English (e.g. release_year must be Release year in the machine selector under Selected Machine).
    • Done, but let me know if I overlooked something.
  • Machines are now displayed as "manufacturer name + type". (Plus config-name, if the former wasn't unique).
    • Done, but let me know if I overlooked something.
  • The different monitor type options are shown human readable (so not with the underscores etc.)
  • when an inserted ROM is not in the softwaredb, OSD-menu also showed "Status: unknown" (as we had a status field anyway).
    • Discussed and, if I understood correctly, nothing (more) needs to be done for this.
  • The info display about machines always shows 0 cartridge slots
  • when unknown ROMs are dropped, you get a list of mappers to select (or AUTO to guess, which is the default selection)
  • Long text with multiple colors (syntax highlighting) in the console sometimes appears bold.
  • auto-reset when inserting a ROM (you always need a reset to start it). It must be possible to insert a ROM without resetting as well (e.g. you want to 'live' insert an SCC cart in slot 2). This is to support gamers who quickly want to run ROMs by dropping files on openMSX. They may think openMSX isn't properly working if there's no reset and the game is not starting.
  • Some menu items mention keyboard shortcuts (hotkeys), but these are only valid when the default mapping is still in place. If users would choose to change the bindings (or remove some), these hotkeys hints are lying...
  • There seems to be confusion of paths with backslashes coming from Dear ImGUI and paths with forward slashes that are used in openMSX (Windows specific issue).
  • In the extension list, we do not show the extension file names primarily, but the "manufacturer name + type + name". This can add a lot of ease.
  • Shows media slots that you would expect to be there, but aren't as disabled items in the menu:
    • (No cassetteport present)
    • (No diskdrives present)
    • (No cartridge slots present) - and for this case also the extensions menu is hidden. There is one machine without cartridge slots :)
  • Long paths are showing only the last part, still missing in:
    • ROM image display in Cartridge Slot window
    • Tape image path in Tape Deck window
    • IPS patch list
  • quick overview of all media slots and what's in them
    • e.g. you can see all cartridge slots and what's in them (either ROMs or extensions) and also a display of I/O only stuff
    • idea: show in the Media menu also the content of the slots (that drop down list already gives a good overview...) - with limited length to prevent a huge menu item. I mean: just add the currently inserted file (or humanly readable name) in the menu list behind the slot name. Then just opening the menu gives you already an overview. A similar concept is on the pyQt Catapult and partly also in the wxCatapult.
    • the current tooltip is a partial solution (and not bad at all, just doesn't give the overview). But please show the softwaredb name for ROMs.
      • [Wouter] Not really solved, but current solution is good_enough. And e.g. also blueMSX doesn't have this overview (I think).
  • user friendly display of things (see elsewhere on this page), for slots, media (using softwaredb), monitor_type options, etc.
    • Contents of a cartridge slot is displayed by the human readable extension name (manufacturer name + type + name) or the human readable name from the softwaredb in case of ROM files
    • In the content preview tooltip of the Cartridge Slots, show the softwaredb name if available instead of the filename.
  • In the slot selection pop up when dropping a ROM on openMSX it shouldn't display "cartX" but "X (slotnr): <what is already in the slot in a humanly displayed way|(empty)>" where X is A, B, C, etc.
  • Guesses the currently running software to generate a savestate name automatically. Makes it very easy to quickly create a savestate you can also find back, without any typing.
    • Put it in the (editable) file name box to create a new savestate?
  • Quick access to your software collection using the file_pool paths:
    • E.g. automatically always show a bookmark to the corresponding file_pool. This also integrates the file pool settings into the file browser.
  • (I know it's not completely finished yet): buttons of the tape deck do not show the status. E.g. play button isn't pressed when playing the tape.
  • Shows the filename without paths on places where the path is not so relevant.
    • e.g.: when showing a ROM that is not in the database, just the filename is presented (e.g. in ROM file drop menu, ROM selection).
    • disk images (also drop pop-up)
    • cassette images (also drop pop-up)
  • In the drive selection pop up when dropping a disk on openMSX it shouldn't display "diskX" but "Drive X: <what is already in the drive in a humanly displayed way|(empty)>" where X is A, B, C, etc.
  • Allows you to toggle the firmware switch from an easily accessible place (not in a huge list of settings ;-))
    • Suggestion to add this to the Machine menu, but only if the machine has such a switch.
  • Minor: mute button of tape deck has generic help text... which doesn't fit the situation.
  • When browsing for media, it shows only short cuts to file pools which actually exist and are non-empty folders and names them according to the file type ("ROM pool" instead of "file pool"). (Currently Dear ImGUI shows also unused file pools, which is not useful and possibly only confusing.)
    • Suggestion to dynamically add bookmarks to the file browsers for the filepool filetypes (ROM/disk/tape) which point to their respective filepool paths for these filetypes, but only if they contain subdirectories or files with extensions that belong to that filetype. Name could be " pool " where N is left out when there's only one bookmark to add.
  • Z80/R800 CPU frequency setting
  • OSD-menu offers a way to change the keyboard mapping mode
  • makes it easy to find extensions you need (Human readable name (Manufacturer + type + name) and type).
    • We could add a filter option that is now also for machines (on type) with the readability stuff is described
  • When typing in a custom name when saving a replay by typing something over the suggested name, it's still saved by the auto-generated name
  • The text in the reverse bar is positioned a bit strangely (would have expected that it was centered)
  • When trying to save a state or replay with auto-generated name, it overwrites a previous state/replay, without even asking for confirmation. See next section for suggestions on how to improve.
  • OSD-menu offered a way to quickly create a new savestate without overwriting the old state: it automatically appended numbers to the filename.
    • suggest to use the same naming suggestion by adding a 4-digit number to the generated name, until that filename is not used.
    • if an existing name is selected, better ask the user to confirm before overwriting.
    • this should also extend to replays of course (although these are not in the OSD menu)
  • Do we want to keep that "All settings menu"? It contains a lot of complex stuff and is also very technical (no human readable names). On the other hand, if someone needs an obscure setting, it can be found there.
  • ImGUI Demo window
    • Make more hidden, e.g. don't include it in a release build
  • Add openMSX logo in about menu.
  • ImGuiFileDialogFlags_CaseInsensitiveExtention doesn't seem to have an effect. It only shows files that match the lower case extensions from the filters.
    • Fixed. Was a bug in the upstream ImGuiFileDialog project. I submitted a bug report. Bug was confirmed, and fixed (in the same way as I proposed).
  • Uncaught exception in this scenario:
    1. start up fresh openMSX
    2. open Cartridge Slot A
    3. select a ROM file (or the current selection), e.g. /tmp/bla.rom
    4. click Apply and then click OK
    5. hover on Cartridge Slot A or on Extensions -> Remove -> Uncaught exception: File "/tmp/bla.rom (1)" not found
  • Help menu
    • Put links to the manuals there, just like PyQt Catapult
      • FAQ
      • Setup Guide
      • User's Manual
  • Can't use host PC joystick, as button0 triggers the toggle/docking of the top menu bar
  • contains a user friendly way to reassign the joystick mapping, see e-mail discussion about what this looks like in OSD-menu.
    • this is what it looks like in blueMSX:
    • (a more schematical approach is fine I think)
  • [Wouter] ImGui is not usable in fullscreen mode, because there we permanently hide the host cursor.
  • Trainer selection GUI
  • Cheat finder GUI
  • Add support for missing symbol file formats (HiTech-C, asmsx, VASM).
  • Disk manipulator GUI
  • Crash:
    1. open console
    2. type s
    3. press up key (to search backwards), first item is displayed
    4. press down key (CRASHES)
  • The screenshot command used to skip OSD and other things that are not MSXy, but now it includes all ImGUI elements, like the top bar, icons, any open dialogs, etc.
  • In "Tools > Disk Manipulator > Create new disk image > Select new file" this opens a modal browser window. But that closes the modal disk manipulator window. Should be fixed by properly (hierarchical) nesting on the windows (but this first requires a refactoring of the ImGuiOpenFile class).
  • Ren-Sha Turbo control
  • Users complain that when they drop a disk image on a machine with 1 drive, that they don't get any feedback that the disk was inserted. The OSD menu always showed a message. Can we do something similar? (The same happens for drops in any other media slot of which only 1 is present, so no pop-up is needed to select the specific slot.)
  • TAS mode and (currently unused) quitmenu use generic OSD menu functionality, but the menu control is broken (cursor can't be moved).
    • We should either replace these things with ImGUI alternatives (and then we can probably also remove *osd_menu.tcl), or make sure the controls work again. The menu stuff itself is still functional, as far as I can see.
    • [Wouter] I think this is fixed: the OSD menu controls work again. Please verify, and if confirmed remove this item.
  • for extensions, it isn't shown yet whether it's working or not (for machines it is) - with the possible error
    • Note that for some reason, people really love to run the "Check configurations..." option to find out whether their system ROM set is complete. To tempt people into abandoning Catapult, we should probably create something similar. Probably means that we should really do something for the system ROMs for extensions or create some overview or a check tool in the Tools menu.
  • Users expect an easy way to go back one folder in the file browser. The 'reset search' button seems to be like it, but it isn't... this causes some confusion.
    • Click the ".." entry at the top of the directory listing.
    • Or you can go back (=up) one (or more) folder(s) by clicking the buttons of the path itself (top row, e.g. the "/", "home", "/", "wouter", "/", ... button).
  • Not all (even simple) keyboard shortcuts are shown in the menu items. E.g. I have F11 bound to 'toggle mute', but this isn't shown in the menu.
  • A way to create an insert a new blank empty disk image in the disk menu
  • Shows some info about the selected floppy disk image (size in kB, compressed or not)
    • Can we add something like that in the Disk Drive X menu near the top?
  • Add a way to disable reverse (some people want that, because they use large hard disk images and the extra start-up time is annoying them).
  • Debugger: "scroll to address" doesn't actually scroll to the address if you put a symbol there.
  • ImGUI Debugger lacks the register hover that shows binary, decimal and separate 8-bit values that the old debugger has
  • It would be nice if the openMSX window itself is also placed on the same place as last time, just like all the ImGUI windows.
  • ImGUI Debugger: breakpoints aren't saved between sessions like with the old debugger. The breakpoint list still shows the break points, but there is no break done. To reproduce: create a breakpoint on adress 1 and boot the MSX. It will break. Then stop openMSX and start openMSX. The breakpoint still shows on 1, but no break is executed.
  • ImGUI Debugger lacks the display of X, Y and Color and VRAM-address and byte-value (of the pixel under the cursor) which the old debugger has.
  • Create screenshot
  • Use proportional fonts where possible and monospaced where needed. Makes the GUI look less technical and thus more friendly.
  • Run-To function is missing in ImGUI debugger toolbar
  • Vera font is not having all required characters for our extensions. Let's replace it with DejaVu.
  • Crash if you do: debug set_watchpoint write_mem 0xc806 {} {poke 0xc806 0xFF}, then in BASIC do a POKE &HC806,12 and rewind a few times: openmsx: src/ReverseManager.cc:891: void openmsx::ReverseManager::replayNextEvent(): Assertion ``replayIndex < history.events.size()' failed.
  • HexViewer: The address input field should also accept symbol names, and even expressions like [reg HL].
  • HexViewer: Linking the view to an address should have some common values (like the old debugger) for quicker use: https://www.msx.org/comment/reply/55683/456664
  • HexViewer: The settings are not saved, see https://github.com/openMSX/openMSX/issues/1556
  • If you have a joystick setup configured, then later start up openMSX without joystick connected, openMSX crashes. (At least on Windows. On Linux, openMSX doesn't crash until you plug out the joystick whilst openMSX is running.)
  • When using the console and giving a command that triggers an info event (e.g. screenshot), the focus is removed from the console, which is very annoying. Even happens when the settings explicitly say to not change focus (e.g. use the new top-left display in the main window).
  • The list of machines in the Machine Selector is of fixed height, even when making the window higher. Would be better to make the list grow when the window grows. (Also: by default, it should be a bit wider, so that most machine names display fine.)
  • Hex editor: the hex-values can be edited, but the ASCII values cannot.
  • When starting openMSX, the focus is not initially on the main openMSX window. Hotkeys don't work, typing in the MSX doesn't work, until you click on the main window. That's annoying, because that wasn't the case before we went to ImGUI.
  • When going to Media -> Extensions -> Recent and then back to -> Insert, the menu collapses back to the Media submenu. Similarly when first going over "Select style" and then "Restore layout", the menu closes.
  • In the file browser, it would be best to put ".." at the top, instead of part of the sort ordered items. People expect it there, but a folder named "- FILES" now appears higher.
  • For the use case that people would like to disable reverse semi-permanently (e.g. developers who use a large hard disk image, and who don't want to wait for the hash calculation), it should be possible to have reverse not started when starting up. So this links to the auto_enable_reverse setting.
  • Santi reported: I had the breakpoints window open, clicked on "add" to create a new breakpoint, and selected the "address" field. Then I pasted the address I wanted via CMD+V (in Mac). The result that the address was pasted BOTH into the breakpoint place, but ALSO in the MSX side (I had BASIC open, and the address showed up there).
    • This will be fixed in the future when we have context-dependent keybindings. Maybe we should group/move all these duplicates together?
    • This specific problem shows up on Mac and not on Linux/Windows because: on Mac we bind "META+V" (CMD+V) to the type-clipboard-content command, while on Linux/Window we bind this to "CTRL+META+V" (CTRL+WIN+V) to avoid clash with the regular "CTRL+V" (paste) key binding.
  • Debugger: scrollbar behaviour in the memory viewer is annoying. People expect (like in most applications) that clicking on the bar part (not the slider itself) would let the scroll go up 1 page.
  • In the old debugger you could save a session and the session name would show up in the window title, making it easy to see which windows belong to which openMSX (debugger) instance by looking at the title bar with the session name. (For use cases with multiple openMSX instances running in parallel.) Solved by adding a "Notes" tool that can be used to label stuff
  • Make an ImGUI version of the toggle_info_panel OSD script. This shows some useful info about the currently running machine. Or show this somewhere else in some kind of status bar? (Or under the Machine menu entry?) -> this is the new status bar.
    • FPS viewer (see also remark about toggle_info_panel like functionality or a 'status bar') -> also in status bar
  • Debugger: support for mirroring in the tables in the tile viewer