1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236
|
Release Notes for openMSX 21.0 (2025-09-26)
===========================================
This release has many improvements on the new GUI introduced in openMSX 20.0
(especially the debugger) and several other smaller features. It also
introduces the "setups" concept, which enables you to define an MSX setup (e.g.
a Philips VG 8020 with an external disk drive and a joystick, data recorder and
printer connected). These can be created, loaded, and automatically started.
They can also be saved automatically when you exit.
Furthermore, flash chip emulation has become a lot more accurate, thanks to
Laurens Holst.
Special thanks to all the contributors of this release who are not in the core
team! Keep those pull requests coming!
Here's the list with all highlights and details:
MSX device support:
- allow to set the position of the tape in a tape image in the tape deck
- fixed Spectravideo SVI-707 boot to basic
- updated MegaFlashROM SCC+ SD bank registers to 9-bit (was also updated in the
real hardware)
- added emulation of DalSoRi R2 (OPL4 cartridge), which has 4MB of sample RAM
and a flash ROM
- fixed a very long standing issue in the OPL4 4-operator FM mode, introduced
in 2008
- added emulation of the Yamanooto mapper (without HOME/DEL boot keys)
- added emulation of the Wonder Kid mapper
- fixed missing VDP I/O delay of T9769 on IN instructions
- fixed the border sizes on MSX1
- V9990:
- fixed timing of the IEHM flag
- fixed the timing of the LINE command
- V99x8:
- minor fixes in the BD bit in S#2 and clipping at the top/bottom border for
the LINE command
- AMD flash chip emulation:
- changed AM29F040 to B variant and AM29F016 to D variant, these are the only
chips that are actually available and these have extra features
- correct CFI command address mask to 11 bits
- fixed: auto select sector protect flag requires A6 to be low
- fixed: S29GL064S returns 0xFFFF when accessing auto select through CFI
- implemented ready/busy# pin
- base status dataPolling on value written by CPU
- mask fast program address to page size
- check sector of buffer program data’s address: the PA (program address)
must lie within the SA (sector address)
- implemented erase and program timing
- implemented error on bit raise during program
- added support for erase and program suspend/resume
- fixed the (relative) PSG volume for the Hamaraja Night mapper and improved
(?) it for all other mappers/devices that include a PSG and another sound
device
- fixed the MegaFlashROM SCC+ to always allow SCC access in any Konami mode
- added new machines/extensions, thanks to:
- Peter Hanraets: Sanyo MPC-1, Sanyo MPC-11
- Jipe: French Philips VG 8235 and Philips NMS 8245
- Jungsi: German Philips VG 8235/02
- Others: Computer Mates Disk Interface, Spanish Philips NMS 8245
- updated machine/extension configurations of:
- Sony HB-F1XDJ, Sony HB-F1XV, National CF-2000
New or improved emulator features:
- GUI:
- throttle GUI messages to avoid hangups if too many are generated
- added tape motor control to the Tape Deck window
- show savestates and replays ordered by time (newest first) and display
their date/time
- improve individual channel settings window (table headers, layout)
- add recent items for machine selector
- the OSD icon (LEDs, etc.) window can now be resized to use multiple rows
- you can now also reset the MSX after removing a cartridge/extension from
the Cartridge Slot window
- improve menu bar behaviour in full screen mode on Windows
- fixed underscore not properly visible in console text
- make items shown in status bar configurable
- show the mapper type in the status bar (if applicable)
- move items from the "Settings -> Misc" menu into the "Settings -> GUI" menu
- do not show an info message about a screenshot when saving states to avoid
confusion
- fixed slowness in cheat finder
- remember open/close status of chips in the audio channel viewer
- when changing hard disk image, ask user to confirm the power cycle
- allow to change view only mode with a new context menu on the reverse bar
- make ellipsis usage in the menus consistent and according to guidelines
- added MSX-MUSIC viewer window that shows all details of the chip live
- better support for non-Western fonts: all glyphs in a font are now
available to the user interface
- allow to hide machines and extensions that are not working, to avoid
cluttered lists
- some minor improvements in the layout of the Media windows, including an
eject button for the Tape Deck window
- redesigned the sound chip settings window to a vertical layout
- fixed screenshot remaining visible on GUI when savestate is deleted
- added Grab Input setting to Settings -> Input
- Debugger (including its GUI):
- highlight known symbols in memory hex view
- added support for loading symbol files generated by WLA-DX and Z80ASM from
Z88DK
- added context menu with 'Show in Disassembly' entry to addresses in
breakpoints window.
- added tile data info in the tile-viewer as hover pop-up
- fixed crash in debuggable editor when clicking in the datatype dropdown
list in the data-preview pane
- take sprite magnification into account for bounding box display in sprite
viewer
- allow to open multiple bitmap/tile/sprite and disassembly viewers
- show the display page number in the bitmap viewer instead of a 0-1023 range
Y-coordinate
- added visualization of VDP block commands in the bitmap viewer
- extend segment number debug view to larger than 8-bit, for now only used
for KonamiUltimateCollection, Yamanooto and ASCII16-X mappers
- added "debug breakpoint" subcommand for listing, creating, configuring and
removing breakpoints and similarly "debug watchpoint" and "debug
condition" subcommands
- allow to enable and disable existing breakpoints/watchpoints/conditions,
without internally removing/re-adding them
- use the palette matching the used VDP in the palette viewers
- fixed HOME/END keys in debuggable editors
- don't take keyboard focus in debuggable editor (it stole the focus when
starting up with one still open)
- added the missing "copy code view" function: you can copy code from the
disassembly view to the clipboard, like in the external debugger
- added raster beam view also to the character viewer
- added hover with sprite pattern, attribute and color-attribute addresses to
the sprite viewer
- added export function for all debuggable editors (to clipboard or file)
- highlight changes in register/flag/debuggable editor/slot views - this was
still missing compared to the separate debugger
- improved keyboard navigation on the disassembly window
- added breakpoint session management
- added a context menu to the character viewer to copy pattern and color data
to the clipboard
- added a context menu to the sprite viewer to copy pattern data to the
clipboard
- fixed disassembly syntax of "DD CB" instructions: parentheses were missing
- fixed a crash when doing a debug write to "tracked" RAM
- added Link IX / IY preset options in debuggable editor
- fixed crash when user selects page 3 of screen 8 in a specific way
- added 'debug watchexpr' command
- fixed slot info for superexpanded SVI-328
- dramatically improved the speed of reading blocks from 'slotted memory'
- do not persist freq_lock setting to avoid experiments to "overclock" a
machine to spill over to use on other machines
- do not automatically rewind a tape when resetting the MSX and only perform
auto run at the start of the tape
- allow speed settings smaller than 1 (change to float value). Note: this
breaks updates from openMSX to the Catapult speed slider and this will not be
fixed (as we have stopped updating Catapult).
- added support for 512-pixel wide modes in the 'hq' and 'ScaleNx' scalers (was
not supported before on the SDLGL-PP renderer)
- fixed pointer_hide_delay setting that got broken in 20.0
- fixed bug that using the GUI could interrupt the replay (introduced in 20.0)
- added support for TSX tape images
- added a basic game shuffler Tcl script
- fixed changing scale factor when openMSX is paused
- fixed incorrect resetting of the machine time when resetting the machine
- fixed several Space Manbow trainers
- several small improvements/workarounds for Japanese keyboards in POSITIONAL
mode
- fixed key up detection in CHARACTER mode (when the keycode is not provided)
- enhanced the keyboard tracing, with the hope that it helps to fix keyboard
issues in an upcoming release
- added a Tcl script that replaces sdcdb (SDCC debugger)
- when both a LaserDisc and a cassette tape are present, auto run the cassette
tape. Use case: Mystery Disc
- added a programmable device that directly connects to Tcl scripts
- if a file is not found, show where openMSX was looking for it
- added setups concept: support on console, command line, GUI. Also obsoletes
setting the default machine in the machine selector
- fixed "osd info -mousecoord" when main-window doesn't have focus (this is
used in several OSD scripts)
- allow raw screenshots to be saved with "auto" size
- auto run cassettes: make use of the tape loading instruction given in the
filename, if it can't be derived from the contents (WAV files typically)
- fixed POSITIONAL keyboard mapping for SVI machines
- added a new setting to enable stretch-to-fit on full screen mode:
full_stretch
- removed 'hqlite' scaler, as it doesn't add any value over 'hq'
- removed 'fast' resampler, as the quality is very low and the better ones are
fine in terms of speed on contemporary hardware
- removed OSD based raster beam viewer (use the bitmap/character viewer
instead)
- removed OSD based FPS indicator (use the status bar instead)
- removed OSD info panel (use the status bar instead)
- removed OSD VU meters (use the audio channel viewer instead)
- removed deprecated -msxonly flag in the screenshot command
Build system, packaging, documentation:
- required GNU compiler is now at least g++-12
- required clang compiler is at least clang++-17
- required Visual Studio Compiler is at least 2022
- on macOS, at least Xcode 16.4 is required
- Android build is totally broken, and will require a lot of effort and help to
get back up, which is not planned by us.
- Dingux support was removed
- 3rd party updates of SDL (2.30.7), Tcl (8.6.15), libPNG (1.6.44), FreeType
(2.13.3), zlib (1.3.1), Dear ImGui (1.92.0)
- allow building against Tcl 9
- quite a large update of the manual (mostly to include the new GUI)
- added standalone xsa2dsk tool
...and of course the usual various bug fixes and performance improvements.
In "doc/manual/index.html" you can find a set of HTML manuals for openMSX.
Make sure to read this if you haven't used openMSX before, but also to learn
more about the new and changed features.
CPU and graphics performance varies a lot, depending on the openMSX settings
and the MSX hardware and software you're emulating. Some things run fine on a
200 MHz machine, others are slow on a 2 GHz machine. For performance tuning
tips, see the Setup Guide.
openMSX is confirmed to run on the following operating systems: Linux, Windows,
macOS, FreeBSD, OpenBSD and NetBSD; on x86, x86-64, PPC, ARM, MIPS and Sparc
CPUs. Running on other operating systems (wherever SDL and OpenGL 2 runs) or
CPUs should be possible, but may require some modifications to the build
system. If you are compiling on a new platform, please share your experiences
(see below for contact info), so we can make openMSX more portable.
openMSX Home Page:
https://openmsx.org/
Project page on GitHub:
https://github.com/openMSX
Contact options:
- Talk to us on #openmsx on libera.chat or via Discord using the invite
https://discord.gg/JV56gzh2qG.
- Use the forum on https://www.msx.org/forum/semi-msx-talk/openmsx
- File a ticket on https://github.com/openMSX/openMSX/issues
Thanks to all contributors for their feedback, support, bug reports, testing,
coding and other help!
Have fun with your emulated MSX!
the openMSX developers
|