123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- Release Notes for openMSX 16.0 (2020-08-25)
- ===========================================
- A major release in which we finally migrated to SDL2 and Tcl 8.6. And we moved
- to a simpler versioning scheme, stripping off that 0. prefix now :) Other than
- that, there are loads and loads of improvements. Some often requested ones are
- copy/paste functionality and drag and drop support. But we also added a super
- accurate YM2413 emulation (originally written by NukeYKT), fixed MIDI-in/out
- support on Windows, a new keyboard mode, much improved OSD menu, etc. See below
- for the details.
- Special thanks to all the contributors of this release who are not in the core
- team! Keep these pull requests coming!
- Here's the list with all highlights and details:
- MSX device support:
- - V9990:
- - added EOR feature in V9990 bitmap cursor rendering
- - fixed crash in overscan modes with deflicker filter
- - fixed YJK/YUV rendering (was broken 8 years ago...)
- - fixed BMLX command
- - fixed drawing of second cursor (in some cases)
- - added synchronization for the CE IRQ
- - fixed sprite rendering algorithm on P modes
- - fixed background rendering in P2
- - fixed crash when using V9990 B4 mode with SDL renderer and scale_factor 3
- - V99x8:
- - fixed that set adjust has no influence on maximum horizontal interrupt line
- - fixed right border on V9958 horizontal scroll
- - implemented "Cadari" bit
- - fixed sprite collision detection with color 0 sprites
- - fixed behaviour of TP bit in sprite mode 1
- - PSG:
- - fixed that PSG registers of turboR do not mirror
- - fixed behaviour of wrong PSG port configuration (input ports output 0xFF)
- - it is now possible to specify whether a machine ignores PSG port
- directions; this helps to only show the warning on machines that may
- actually get damaged by these PSG bits
- - fixed noise level 0 ("sound6,0")
- - fixed behaviour details of ADPCM of MSX-AUDIO
- - fixed VDP I/O wait cycles of T9769: only apply to Z80
- - fixed initial RAM pattern of ColecoVision to 0x00, which fixes The Heist
- - fixed register mirroring of Yamaha SFG modules
- - improved loading bad quality WAV cassette images using cubic interpolation
- - added very accurate (but also slower) NukeYKT YM2413 core (now also the
- default)
- - added emulation of 256kB hangul font ROM of the Daewoo CPC-400S
- - added emulation of mappers Repro Cartridge mapper (v1 and v2) and Matra
- Compilation (e.g. Konami Compilation 1 and 2)
- - fixed keyboard type of CIEL Expert Turbo
- - fixed RAM size of Daewoo DPC-180
- - added mapper type for RBSC Flash cartridges with KonamiSCC mapper
- - added new machines: Yamaha AX500 (thanks Hashem Khalifa), Toshiba HX-20E
- (thanks Isaac Santaolalla), Yamaha YIS-503, YIS-503II, CX5F, YIS-604/128,
- Sony HB-G900D (thanks Peter Hanraets), Yamaha AX150 (thanks Pedro Gimeno),
- Olympia PHC-2 (thanks Patrick)
- - added new extensions: Yamaha FD-03 (thanks Arjen) and FD-05 disk drive,
- Toshiba HX-F101PE disk drive, ROM Hunter Mk2 (thanks BiFi, Takamichi), Sony
- HBI-J1 (thanks Sandy), JVC MSX MIDI (thanks gflores)
- New or improved emulator features:
- - F11 now toggles fullscreen mode on PC, to be consistent with other
- applications such as web browsers; mute is now under F12
- - fixed crash in ColecoVision when e.g. ALT+SPACE was pressed
- - fixed crash when ejecting tape during cassette loading
- - fixed MIDI-in/out support on Windows
- - fixed possible crashes when using reverse
- - added drag and drop support of files on the openMSX window. Supports ROM
- files, disk images (and folders), cassette images, LaserDisc images,
- savestates, replays, text files, Tcl scripts.
- - added copy/paste functionality: with CTRL+Win+V (Cmd+V on Mac) or the middle
- mouse button, the clipboard text will be pasted into the MSX and with
- CTRL+Win+C (Cmd+C on Mac), the current MSX text screen will be copied to the
- clipboard
- - added paste functionality to the console (CTRL+V/Cmd+V on Mac)
- - several other small console improvements:
- - for macOS: Home/End moves to top/end of history, Cmd+Left/Right moves
- cursor to start/end of the line
- - move cursor per word with Alt+Left/Right
- - clear console with Ctrl+L and Cmd+K on macOS
- - Alt+BackSpace: delete backwards up to the start of the word
- - Alt+D (Alt+Del on macOS): delete util the end of the word
- - added new POSITIONAL keyboard mapping mode, which is a much improved version
- of the KEY mode. Use when CHARACTER mode isn't working properly for you
- - added file extensions to OSD menu and command line (e.g.
- .fd1/.fd2/.fd?/.1/.2)
- - OSD menu:
- - when browsing for a media (ROM, disk, etc.) the menu now starts with the
- currently selected item. Makes it much easier to set disk B of a game, for
- instance.
- - implemented quick search in lists with alphanumeric keys. Type the name you
- expect and the cursor will find items starting with the typed characters.
- - fixed filtering out symlinked configurations from the machine/extension
- lists
- - go to the top of a list with HOME or CTRL+LEFT. Go to the end by pressing
- UP after that, as the lists wrap around :)
- - now all cartridge slots and disk drives can be controlled from OSD
- - show on/off instead of true/false for boolean settings
- - added keyboard mapping mode setting to OSD menu
- - added setting to control vsync. Default is now enabled
- - added new settings 'fastforward' and 'fastforwardspeed' to offer a way to go
- fast for a while (e.g. with the F9 button, which has now its binding changed
- to this) without going insanely fast.
- - With vsync enabled the maxframeskip will not have to be tweaked anymore to go
- faster than the host monitor frame rate. Fast forward just works as you would
- expect it
- - added new OSD icon set, which positions icons as far to the bottom as
- possible (set3)
- - use soft-fullscreen now, instead of changing display modes. This looks better
- on almost all modern monitors. As a consequence, a screenshot made on full
- screen will be larger and will probably show letter boxes at the sides.
- - huge updates to the Software DB:
- - many fixes
- - countless new entries for many ROM files you can find on the web
- - when using IPS patches, the patched ROM will be looked up in the Software DB
- - support host system function keys up to F24 now
- - improved error messages on console commands (e.g. wrong number of arguments,
- unknown options, wrong subcommands)
- - fixed cursor grabbing when going to and coming back from fullscreen
- - enable HighDPI support (at least fixes some issues on macOS)
- - fixed (removed) influence of user pressing modifier keys (CTRL/SHIFT/...)
- when text is typed into the MSX (e.g. with type command, auto cassette run,
- text pasting)
- - added -once flag to 'debug set_bp' (and related commands) to trigger once
- - several fixes to the unicode map files, so that pasting and CHARACTER
- keyboard mode works better (especially on Spanish MSX machines)
- - added a debug probe on the V99x8 command execution and with that made the
- vdp_busy script more accurate
- - worked around bug/limitation of MSX-BIOS when typing MSX characters 00-1F,
- which now works reliably
- - fixed crash when using a relative path with the -setting command line option
- - fixed 'kbd_code_kana_host_key' setting (did (sometimes?) not work anymore)
- - use Rebecca Bettencourt's officially proposed Unicode mapping of MSX character
- set
- - save_msx_screen script now also supports interlaced images
- - added '-command' command line option to execute the given command after
- starting
- - disable V99x8 specific debug writes on MSX1 VDP's
- - added an optional <exit-code>-parameter to the exit command
- - added script and MSX-DOS tool to give openMSX commands from within the
- emulated MSX (which is not enabled by default)
- - when recording to video with throttle off, save time by displaying as few
- frames as possible on the screen
- - now remember window position when the window is recreated (e.g. when changing
- renderers or coming back from full screen)
- - make it easier to handle non-specific input events in Tcl scripts
- - WARNING: backwards incompatible change to the 'machine_info device <device>'
- command. The result for ROM devices is now a dict (instead of a list) with at
- least one key-value pair, with key "type". For certain devices more key-value
- pairs are present, that were previously in list elements 1 to 3. Example to
- get the mapper type of device 'usas':
- dict get [machine_info device usas] "mappertype"
- And to get the device type (works for any device) of MyCoolDevice:
- dict get [machine_info device MyCoolDevice] "type"
- Build system, packaging, documentation:
- - migrated to SDL2 (2.0.12)
- - unfortunately, the Android port is for now broken, as we did not integrate it
- into our build system yet (and that's not easy). The C++ code does compile,
- and now requires NDK20 and API level 18 (Android 4.3)
- - updated all other 3rdparty libraries as well, like upgrading to Tcl 8.6
- - SDLGL-PP renderer now requires OpenGL 3.3, shaders are now in GLSL 3.30
- - support for pkg-config in the build system, e.g. to build FreeType
- - C++ code is based on C++17 and thus requires a compiler supporting it, e.g.
- g++ 7 or later or Visual Studio 2019 or later
- - fixed endianness on ppc64le
- - fixed compilation for big-endian CPUs with g++-9
- - migrated build system and all other Python scripts to Python 3, as Python 2
- is now officially dead
- - documentation is now in HTML5 instead of XHTML
- 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 you 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
- CPU's. Running on other operating systems (wherever SDL runs) or CPU's 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 irc.freenode.net.
- - 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
|