| 1 |
Release Notes for openMSX 22.0 (2026-xx-xx) |
| 2 |
=========================================== |
| 3 |
|
| 4 |
Thanks to many contributors (who make well use of modern AI facilities), we |
| 5 |
have a very long list of changes again. Major features are found in the |
| 6 |
debugger GUI, with a new Raster Beam Viewer and Tracer functionality. We also |
| 7 |
have the Quick Setup Editor, for a one-window access to all major setup |
| 8 |
settings. Regarding emulation, we now have plotter emulation and many VDP |
| 9 |
accuracy improvements. There's now also a synthetic TCP/IP UNAPI device to be |
| 10 |
able to try out network programs in openMSX. |
| 11 |
|
| 12 |
And many, many more things... |
| 13 |
|
| 14 |
Special thanks to all the contributors of this release who are not in the core |
| 15 |
team! Keep those pull requests coming! |
| 16 |
|
| 17 |
Here's the list with all highlights and details: |
| 18 |
|
| 19 |
MSX device support: |
| 20 |
- fixed Yamanooto SCC register visibility |
| 21 |
- add emulation of the Sony PRN-C41 (like) plotters, including a viewer in the |
| 22 |
GUI |
| 23 |
- fixed VDP I/O delay to 1 cycle for T9769 engines |
| 24 |
- fixed details on the turboR's FDC emulation, so that now FastCopy 3.0 |
| 25 |
properly detects it, including the correct number of drives |
| 26 |
- added Korean 128-in-1 mapper type |
| 27 |
- added Namco mapper type (A13-not-connected 16kB cartridges) |
| 28 |
- added ASCII8-R (reversed) mapper type |
| 29 |
- fixed details of MSX kanji ROM emulation, adding specific behaviour in many |
| 30 |
machines and devices |
| 31 |
- assume that no PSG implementation mirrors its registers (no evidence found |
| 32 |
they do) |
| 33 |
- added new machines/extensions, thanks to: |
| 34 |
- bsittler: Yamaha YIS-805/256 |
| 35 |
- VDP: |
| 36 |
- added implementation of the TEXT2-mode per line blink (bit 2 in VDP R#2) |
| 37 |
- improved timing correctness of the YMMM and LMMM command |
| 38 |
- several other VDP command timing improvements details (including start |
| 39 |
delays) |
| 40 |
- improved VDP-VRAM timing even further |
| 41 |
- fixed display line counter latch (fixes Sex Bomb Bunny shaking screen) |
| 42 |
- fixed border color changes at the wrong position (last part of Utopia) |
| 43 |
- updated machine/extension configurations of: |
| 44 |
- Yamaha YIS-503 |
| 45 |
- Yamaha FD-03, Sony HB-701FD: add missing singlesided tag |
| 46 |
|
| 47 |
New or improved emulator features: |
| 48 |
- GUI: |
| 49 |
- added Quick Setup Editor window, that allows you to quickly create or |
| 50 |
change your setup |
| 51 |
- added a "color blind" theme |
| 52 |
- added a pitch estimate column to the audio viewer (hidden by default) |
| 53 |
- sort mappert types in the GUI alphabetically |
| 54 |
- added "recent machines" to the Machine menu |
| 55 |
- added slot map viewer |
| 56 |
- added I/O map viewer |
| 57 |
- in the Cartridge Slot window: add a link to Generation MSX where known |
| 58 |
- debugger (including its GUI): |
| 59 |
- allow to double-click a symbol in the Symbol Manager to jump to it in the |
| 60 |
disassembly view |
| 61 |
- allow to double-click an instruction with address to jump to that address |
| 62 |
in the disassembly view |
| 63 |
- fixed unstable layout of bitmap viewer when screenmodes change (split) |
| 64 |
- allow to specify a segment number for symbol files |
| 65 |
- tile viewer: allow override of the color table |
| 66 |
- added Raster Beam Viewer, which shows the currently in-progress raster |
| 67 |
based screen, with coordinates, CRT fade, and position of the beam |
| 68 |
- with command engine busy overlay |
| 69 |
- added debug Tracer (console and GUI), with timeline plotting of events in |
| 70 |
Trace Viewer |
| 71 |
- integration of Raster Beam Viewer and Tracer: show trace events on raster |
| 72 |
- rewrote `vdpcmdtrace` in Tcl now using the Raster Beam Viewer |
| 73 |
- added `cpu_trace` Tcl command which sets up traces that can be viewed in |
| 74 |
the Trace Viewer |
| 75 |
- bitmap viewer: show y=[0..1023] again |
| 76 |
- sprite viewer: fix sprite attributes section height when zoomed |
| 77 |
- added a profiler that uses the new Trace Viewer, see the `symboltracer` Tcl |
| 78 |
command |
| 79 |
- added option to export the ASCII view of the generic debuggable |
| 80 |
editor/viewer |
| 81 |
- instead of showing corrupted video, a problem with shaders will now be a |
| 82 |
fatal error |
| 83 |
- fixed issues with non-ASCII paths by forcing UTF-8 paths on Windows |
| 84 |
- improved support for .ttc font files for the GUI |
| 85 |
- fixed bug where full-width characters could not be displayed correctly in the |
| 86 |
console input line |
| 87 |
- added pop-up menus for tab completion, making it easier to complete items |
| 88 |
like paths with non-ASCII characters |
| 89 |
- fixed bug with loading savestates with devices containing spaces in the name |
| 90 |
- fixed bug in CPU loadstate code (showed on Spectravideo SVI-328 for instance) |
| 91 |
- release cursor grab when openMSX is paused |
| 92 |
- fixed illegal slot specification as was in the CIEL Expert-Turbo machine for |
| 93 |
years |
| 94 |
- fixed crash in HQ resampler when running at very low speeds |
| 95 |
- improved UI responsiveness when paused/breaked |
| 96 |
- fixed the pause_on_lost_focus setting which broke since openMSX 20.0 |
| 97 |
- fixed crash when having built against sdl2-compat |
| 98 |
- added UnapiNet: an MSX-UNAPI TCP/IP bridge device. A synthetic device on I/O |
| 99 |
ports 0x28/0x29 that implements the MSX-UNAPI TCP/IP UNAPI functions (DNS, |
| 100 |
TCP, UDP, ICMP echo) by bridging to the host's BSD sockets. Needs a specific |
| 101 |
UNAPINET.ROM driver on the MSX-side |
| 102 |
- keyboard fixes: |
| 103 |
- fixed the kbd_numkeypad_enter_key setting and add POSITIONAL mode support |
| 104 |
- fixed wrong auto-toggle CODE/KANA lock when the key is manually pressed |
| 105 |
- ignore the Grave key event for Japanese host keyboard layouts to avoid |
| 106 |
hanging keys |
| 107 |
- fixed mouse speed scaling, depending on the host display size (including |
| 108 |
HighDPI) and MSX screen resolution |
| 109 |
- allow SD cards and SCSI disks also to be manipulated by disk manipulator |
| 110 |
- fixed several bugs in the cashandler script (to use CAS files directly) |
| 111 |
- added 'rs232-raw' pluggable that connects to host RS-232C port |
| 112 |
- added emulation of the MSXPi device |
| 113 |
- restored functionality to query which host joysticks are connected from Tcl |
| 114 |
- fixed saving a setup with a '/' in the (machine) name, like "Philips VG |
| 115 |
8235/39" and similar issues with saving a screenshot/savestate/replay |
| 116 |
- added a Maze of Galious password extractor, to easily save passwords in text |
| 117 |
files and type them in later with type_from_file |
| 118 |
- dir-as-disk: |
| 119 |
- added support for 40-track 180kB disk drives (e.g. Talent/AVT DPF-550) |
| 120 |
- fixed writing files back to host filesystem on no-op data-sector writes |
| 121 |
- huge updates on the ROM database, including a simplified file format and |
| 122 |
support for Sega SG-1000 and ColecoVision ROMs |
| 123 |
|
| 124 |
Build system, packaging, documentation: |
| 125 |
- required GNU compiler is now at least g++-13 |
| 126 |
- at least macOS 13.3 is required to run openMSX |
| 127 |
- Android build is totally broken, and will require a lot of effort and help to |
| 128 |
get back up, which is not planned by us. |
| 129 |
- 3rd party updates of SDL (2.32.10), Dear ImGui (1.92.9WIP) |
| 130 |
- macOS builds are now "notarized" |
| 131 |
- several fixes on the manual, e.g. debug subcommands and stale examples |
| 132 |
|
| 133 |
...and of course the usual various bug fixes and performance improvements. |
| 134 |
|
| 135 |
In "doc/manual/index.html" you can find a set of HTML manuals for openMSX. |
| 136 |
Make sure to read this if you haven't used openMSX before, but also to learn |
| 137 |
more about the new and changed features. |
| 138 |
|
| 139 |
CPU and graphics performance varies a lot, depending on the openMSX settings |
| 140 |
and the MSX hardware and software you're emulating. Some things run fine on a |
| 141 |
200 MHz machine, others are slow on a 2 GHz machine. For performance tuning |
| 142 |
tips, see the Setup Guide. |
| 143 |
|
| 144 |
openMSX is confirmed to run on the following operating systems: Linux, Windows, |
| 145 |
macOS, FreeBSD, OpenBSD and NetBSD; on x86, x86-64, PPC, ARM, MIPS and Sparc |
| 146 |
CPUs. Running on other operating systems (wherever SDL and OpenGL 2 runs) or |
| 147 |
CPUs should be possible, but may require some modifications to the build |
| 148 |
system. If you are compiling on a new platform, please share your experiences |
| 149 |
(see below for contact info), so we can make openMSX more portable. |
| 150 |
|
| 151 |
openMSX Home Page: |
| 152 |
https://openmsx.org/ |
| 153 |
Project page on GitHub: |
| 154 |
https://github.com/openMSX |
| 155 |
Contact options: |
| 156 |
- Talk to us on #openmsx on libera.chat or via Discord using the invite |
| 157 |
https://discord.gg/JV56gzh2qG. |
| 158 |
- Use the forum on https://www.msx.org/forum/semi-msx-talk/openmsx |
| 159 |
- File a ticket on https://github.com/openMSX/openMSX/issues |
| 160 |
|
| 161 |
Thanks to all contributors for their feedback, support, bug reports, testing, |
| 162 |
coding and other help! |
| 163 |
|
| 164 |
Have fun with your emulated MSX! |
| 165 |
the openMSX developers |