release-notes.txt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. Release Notes for openMSX 16.0 (2020-08-25)
  2. ===========================================
  3. A major release in which we finally migrated to SDL2 and Tcl 8.6. And we moved
  4. to a simpler versioning scheme, stripping off that 0. prefix now :) Other than
  5. that, there are loads and loads of improvements. Some often requested ones are
  6. copy/paste functionality and drag and drop support. But we also added a super
  7. accurate YM2413 emulation (originally written by NukeYKT), fixed MIDI-in/out
  8. support on Windows, a new keyboard mode, much improved OSD menu, etc. See below
  9. for the details.
  10. Special thanks to all the contributors of this release who are not in the core
  11. team! Keep these pull requests coming!
  12. Here's the list with all highlights and details:
  13. MSX device support:
  14. - V9990:
  15. - added EOR feature in V9990 bitmap cursor rendering
  16. - fixed crash in overscan modes with deflicker filter
  17. - fixed YJK/YUV rendering (was broken 8 years ago...)
  18. - fixed BMLX command
  19. - fixed drawing of second cursor (in some cases)
  20. - added synchronization for the CE IRQ
  21. - fixed sprite rendering algorithm on P modes
  22. - fixed background rendering in P2
  23. - fixed crash when using V9990 B4 mode with SDL renderer and scale_factor 3
  24. - V99x8:
  25. - fixed that set adjust has no influence on maximum horizontal interrupt line
  26. - fixed right border on V9958 horizontal scroll
  27. - implemented "Cadari" bit
  28. - fixed sprite collision detection with color 0 sprites
  29. - fixed behaviour of TP bit in sprite mode 1
  30. - PSG:
  31. - fixed that PSG registers of turboR do not mirror
  32. - fixed behaviour of wrong PSG port configuration (input ports output 0xFF)
  33. - it is now possible to specify whether a machine ignores PSG port
  34. directions; this helps to only show the warning on machines that may
  35. actually get damaged by these PSG bits
  36. - fixed noise level 0 ("sound6,0")
  37. - fixed behaviour details of ADPCM of MSX-AUDIO
  38. - fixed VDP I/O wait cycles of T9769: only apply to Z80
  39. - fixed initial RAM pattern of ColecoVision to 0x00, which fixes The Heist
  40. - fixed register mirroring of Yamaha SFG modules
  41. - improved loading bad quality WAV cassette images using cubic interpolation
  42. - added very accurate (but also slower) NukeYKT YM2413 core (now also the
  43. default)
  44. - added emulation of 256kB hangul font ROM of the Daewoo CPC-400S
  45. - added emulation of mappers Repro Cartridge mapper (v1 and v2) and Matra
  46. Compilation (e.g. Konami Compilation 1 and 2)
  47. - fixed keyboard type of CIEL Expert Turbo
  48. - fixed RAM size of Daewoo DPC-180
  49. - added mapper type for RBSC Flash cartridges with KonamiSCC mapper
  50. - added new machines: Yamaha AX500 (thanks Hashem Khalifa), Toshiba HX-20E
  51. (thanks Isaac Santaolalla), Yamaha YIS-503, YIS-503II, CX5F, YIS-604/128,
  52. Sony HB-G900D (thanks Peter Hanraets), Yamaha AX150 (thanks Pedro Gimeno),
  53. Olympia PHC-2 (thanks Patrick)
  54. - added new extensions: Yamaha FD-03 (thanks Arjen) and FD-05 disk drive,
  55. Toshiba HX-F101PE disk drive, ROM Hunter Mk2 (thanks BiFi, Takamichi), Sony
  56. HBI-J1 (thanks Sandy), JVC MSX MIDI (thanks gflores)
  57. New or improved emulator features:
  58. - F11 now toggles fullscreen mode on PC, to be consistent with other
  59. applications such as web browsers; mute is now under F12
  60. - fixed crash in ColecoVision when e.g. ALT+SPACE was pressed
  61. - fixed crash when ejecting tape during cassette loading
  62. - fixed MIDI-in/out support on Windows
  63. - fixed possible crashes when using reverse
  64. - added drag and drop support of files on the openMSX window. Supports ROM
  65. files, disk images (and folders), cassette images, LaserDisc images,
  66. savestates, replays, text files, Tcl scripts.
  67. - added copy/paste functionality: with CTRL+Win+V (Cmd+V on Mac) or the middle
  68. mouse button, the clipboard text will be pasted into the MSX and with
  69. CTRL+Win+C (Cmd+C on Mac), the current MSX text screen will be copied to the
  70. clipboard
  71. - added paste functionality to the console (CTRL+V/Cmd+V on Mac)
  72. - several other small console improvements:
  73. - for macOS: Home/End moves to top/end of history, Cmd+Left/Right moves
  74. cursor to start/end of the line
  75. - move cursor per word with Alt+Left/Right
  76. - clear console with Ctrl+L and Cmd+K on macOS
  77. - Alt+BackSpace: delete backwards up to the start of the word
  78. - Alt+D (Alt+Del on macOS): delete util the end of the word
  79. - added new POSITIONAL keyboard mapping mode, which is a much improved version
  80. of the KEY mode. Use when CHARACTER mode isn't working properly for you
  81. - added file extensions to OSD menu and command line (e.g.
  82. .fd1/.fd2/.fd?/.1/.2)
  83. - OSD menu:
  84. - when browsing for a media (ROM, disk, etc.) the menu now starts with the
  85. currently selected item. Makes it much easier to set disk B of a game, for
  86. instance.
  87. - implemented quick search in lists with alphanumeric keys. Type the name you
  88. expect and the cursor will find items starting with the typed characters.
  89. - fixed filtering out symlinked configurations from the machine/extension
  90. lists
  91. - go to the top of a list with HOME or CTRL+LEFT. Go to the end by pressing
  92. UP after that, as the lists wrap around :)
  93. - now all cartridge slots and disk drives can be controlled from OSD
  94. - show on/off instead of true/false for boolean settings
  95. - added keyboard mapping mode setting to OSD menu
  96. - added setting to control vsync. Default is now enabled
  97. - added new settings 'fastforward' and 'fastforwardspeed' to offer a way to go
  98. fast for a while (e.g. with the F9 button, which has now its binding changed
  99. to this) without going insanely fast.
  100. - With vsync enabled the maxframeskip will not have to be tweaked anymore to go
  101. faster than the host monitor frame rate. Fast forward just works as you would
  102. expect it
  103. - added new OSD icon set, which positions icons as far to the bottom as
  104. possible (set3)
  105. - use soft-fullscreen now, instead of changing display modes. This looks better
  106. on almost all modern monitors. As a consequence, a screenshot made on full
  107. screen will be larger and will probably show letter boxes at the sides.
  108. - huge updates to the Software DB:
  109. - many fixes
  110. - countless new entries for many ROM files you can find on the web
  111. - when using IPS patches, the patched ROM will be looked up in the Software DB
  112. - support host system function keys up to F24 now
  113. - improved error messages on console commands (e.g. wrong number of arguments,
  114. unknown options, wrong subcommands)
  115. - fixed cursor grabbing when going to and coming back from fullscreen
  116. - enable HighDPI support (at least fixes some issues on macOS)
  117. - fixed (removed) influence of user pressing modifier keys (CTRL/SHIFT/...)
  118. when text is typed into the MSX (e.g. with type command, auto cassette run,
  119. text pasting)
  120. - added -once flag to 'debug set_bp' (and related commands) to trigger once
  121. - several fixes to the unicode map files, so that pasting and CHARACTER
  122. keyboard mode works better (especially on Spanish MSX machines)
  123. - added a debug probe on the V99x8 command execution and with that made the
  124. vdp_busy script more accurate
  125. - worked around bug/limitation of MSX-BIOS when typing MSX characters 00-1F,
  126. which now works reliably
  127. - fixed crash when using a relative path with the -setting command line option
  128. - fixed 'kbd_code_kana_host_key' setting (did (sometimes?) not work anymore)
  129. - use Rebecca Bettencourt's officially proposed Unicode mapping of MSX character
  130. set
  131. - save_msx_screen script now also supports interlaced images
  132. - added '-command' command line option to execute the given command after
  133. starting
  134. - disable V99x8 specific debug writes on MSX1 VDP's
  135. - added an optional <exit-code>-parameter to the exit command
  136. - added script and MSX-DOS tool to give openMSX commands from within the
  137. emulated MSX (which is not enabled by default)
  138. - when recording to video with throttle off, save time by displaying as few
  139. frames as possible on the screen
  140. - now remember window position when the window is recreated (e.g. when changing
  141. renderers or coming back from full screen)
  142. - make it easier to handle non-specific input events in Tcl scripts
  143. - WARNING: backwards incompatible change to the 'machine_info device <device>'
  144. command. The result for ROM devices is now a dict (instead of a list) with at
  145. least one key-value pair, with key "type". For certain devices more key-value
  146. pairs are present, that were previously in list elements 1 to 3. Example to
  147. get the mapper type of device 'usas':
  148. dict get [machine_info device usas] "mappertype"
  149. And to get the device type (works for any device) of MyCoolDevice:
  150. dict get [machine_info device MyCoolDevice] "type"
  151. Build system, packaging, documentation:
  152. - migrated to SDL2 (2.0.12)
  153. - unfortunately, the Android port is for now broken, as we did not integrate it
  154. into our build system yet (and that's not easy). The C++ code does compile,
  155. and now requires NDK20 and API level 18 (Android 4.3)
  156. - updated all other 3rdparty libraries as well, like upgrading to Tcl 8.6
  157. - SDLGL-PP renderer now requires OpenGL 3.3, shaders are now in GLSL 3.30
  158. - support for pkg-config in the build system, e.g. to build FreeType
  159. - C++ code is based on C++17 and thus requires a compiler supporting it, e.g.
  160. g++ 7 or later or Visual Studio 2019 or later
  161. - fixed endianness on ppc64le
  162. - fixed compilation for big-endian CPUs with g++-9
  163. - migrated build system and all other Python scripts to Python 3, as Python 2
  164. is now officially dead
  165. - documentation is now in HTML5 instead of XHTML
  166. And of course the usual various bug fixes and performance improvements.
  167. In "doc/manual/index.html" you can find a set of HTML manuals for openMSX.
  168. Make sure you read this if you haven't used openMSX before, but also to learn
  169. more about the new and changed features.
  170. CPU and graphics performance varies a lot, depending on the openMSX settings
  171. and the MSX hardware and software you're emulating. Some things run fine on a
  172. 200 MHz machine, others are slow on a 2 GHz machine. For performance tuning
  173. tips, see the Setup Guide.
  174. openMSX is confirmed to run on the following operating systems: Linux, Windows,
  175. macOS, FreeBSD, OpenBSD and NetBSD; on x86, x86-64, PPC, ARM, MIPS and Sparc
  176. CPU's. Running on other operating systems (wherever SDL runs) or CPU's should
  177. be possible, but may require some modifications to the build system. If you are
  178. compiling on a new platform, please share your experiences (see below for
  179. contact info), so we can make openMSX more portable.
  180. openMSX Home Page:
  181. https://openmsx.org/
  182. Project page on GitHub:
  183. https://github.com/openMSX
  184. Contact options:
  185. - Talk to us on #openmsx on irc.freenode.net.
  186. - Use the forum on https://www.msx.org/forum/semi-msx-talk/openmsx
  187. - File a ticket on https://github.com/openMSX/openMSX/issues
  188. Thanks to all contributors for their feedback, support, bug reports, testing,
  189. coding and other help!
  190. Have fun with your emulated MSX!
  191. the openMSX developers