OXYGENHUB
◆ main openmsx / doc / release-history.txt
136.2 KiB · Plain Text · last changed chore(): initial commit 1 month ago source blame history raw
e8555c89 Andy McCall 1
Release History
2
===============
3
4
This is an overview of the changes that were incorporated into past releases.
5
6
openMSX 21.0 (2025-09-26)
7
-------------------------
8
9
This release has many improvements on the new GUI introduced in openMSX 20.0
10
(especially the debugger) and several other smaller features. It also
11
introduces the "setups" concept, which enables you to define an MSX setup (e.g.
12
a Philips VG 8020 with an external disk drive and a joystick, data recorder and
13
printer connected). These can be created, loaded, and automatically started.
14
They can also be saved automatically when you exit.
15
16
Furthermore, flash chip emulation has become a lot more accurate, thanks to
17
Laurens Holst.
18
19
Special thanks to all the contributors of this release who are not in the core
20
team! Keep those pull requests coming!
21
22
Here's the list with all highlights and details:
23
24
MSX device support:
25
- allow to set the position of the tape in a tape image in the tape deck
26
- fixed Spectravideo SVI-707 boot to basic
27
- updated MegaFlashROM SCC+ SD bank registers to 9-bit (was also updated in the
28
  real hardware)
29
- added emulation of DalSoRi R2 (OPL4 cartridge), which has 4MB of sample RAM
30
  and a flash ROM
31
- fixed a very long standing issue in the OPL4 4-operator FM mode, introduced
32
  in 2008
33
- added emulation of the Yamanooto mapper (without HOME/DEL boot keys)
34
- added emulation of the Wonder Kid mapper
35
- fixed missing VDP I/O delay of T9769 on IN instructions
36
- fixed the border sizes on MSX1
37
- V9990:
38
  - fixed timing of the IEHM flag
39
  - fixed the timing of the LINE command
40
- V99x8:
41
  - minor fixes in the BD bit in S#2 and clipping at the top/bottom border for
42
    the LINE command
43
- AMD flash chip emulation:
44
  - changed AM29F040 to B variant and AM29F016 to D variant, these are the only
45
    chips that are actually available and these have extra features
46
  - correct CFI command address mask to 11 bits
47
  - fixed: auto select sector protect flag requires A6 to be low
48
  - fixed: S29GL064S returns 0xFFFF when accessing auto select through CFI
49
  - implemented ready/busy# pin
50
  - base status dataPolling on value written by CPU
51
  - mask fast program address to page size
52
  - check sector of buffer program data’s address: the PA (program address)
53
    must lie within the SA (sector address)
54
  - implemented erase and program timing
55
  - implemented error on bit raise during program
56
  - added support for erase and program suspend/resume
57
- fixed the (relative) PSG volume for the Hamaraja Night mapper and improved
58
  (?) it for all other mappers/devices that include a PSG and another sound
59
  device
60
- fixed the MegaFlashROM SCC+ to always allow SCC access in any Konami mode
61
- added new machines/extensions, thanks to:
62
  - Peter Hanraets: Sanyo MPC-1, Sanyo MPC-11
63
  - Jipe: French Philips VG 8235 and Philips NMS 8245
64
  - Jungsi: German Philips VG 8235/02
65
  - Others: Computer Mates Disk Interface, Spanish Philips NMS 8245
66
- updated machine/extension configurations of:
67
  - Sony HB-F1XDJ, Sony HB-F1XV, National CF-2000
68
69
New or improved emulator features:
70
- GUI:
71
  - throttle GUI messages to avoid hangups if too many are generated
72
  - added tape motor control to the Tape Deck window
73
  - show savestates and replays ordered by time (newest first) and display
74
    their date/time
75
  - improve individual channel settings window (table headers, layout)
76
  - add recent items for machine selector
77
  - the OSD icon (LEDs, etc.) window can now be resized to use multiple rows
78
  - you can now also reset the MSX after removing a cartridge/extension from
79
    the Cartridge Slot window
80
  - improve menu bar behaviour in full screen mode on Windows
81
  - fixed underscore not properly visible in console text
82
  - make items shown in status bar configurable
83
  - show the mapper type in the status bar (if applicable)
84
  - move items from the "Settings -> Misc" menu into the "Settings -> GUI" menu
85
  - do not show an info message about a screenshot when saving states to avoid
86
    confusion
87
  - fixed slowness in cheat finder
88
  - remember open/close status of chips in the audio channel viewer
89
  - when changing hard disk image, ask user to confirm the power cycle
90
  - allow to change view only mode with a new context menu on the reverse bar
91
  - make ellipsis usage in the menus consistent and according to guidelines
92
  - added MSX-MUSIC viewer window that shows all details of the chip live
93
  - better support for non-Western fonts: all glyphs in a font are now
94
    available to the user interface
95
  - allow to hide machines and extensions that are not working, to avoid
96
    cluttered lists
97
  - some minor improvements in the layout of the Media windows, including an
98
    eject button for the Tape Deck window
99
  - redesigned the sound chip settings window to a vertical layout
100
  - fixed screenshot remaining visible on GUI when savestate is deleted
101
  - added Grab Input setting to Settings -> Input
102
- Debugger (including its GUI):
103
  - highlight known symbols in memory hex view
104
  - added support for loading symbol files generated by WLA-DX and Z80ASM from
105
    Z88DK
106
  - added context menu with 'Show in Disassembly' entry to addresses in
107
    breakpoints window.
108
  - added tile data info in the tile-viewer as hover pop-up
109
  - fixed crash in debuggable editor when clicking in the datatype dropdown
110
    list in the data-preview pane
111
  - take sprite magnification into account for bounding box display in sprite
112
    viewer
113
  - allow to open multiple bitmap/tile/sprite and disassembly viewers
114
  - show the display page number in the bitmap viewer instead of a 0-1023 range
115
    Y-coordinate
116
  - added visualization of VDP block commands in the bitmap viewer
117
  - extend segment number debug view to larger than 8-bit, for now only used
118
    for KonamiUltimateCollection, Yamanooto and ASCII16-X mappers
119
  - added "debug breakpoint" subcommand for listing, creating, configuring and
120
    removing breakpoints and similarly "debug watchpoint" and "debug
121
    condition" subcommands
122
  - allow to enable and disable existing breakpoints/watchpoints/conditions,
123
    without internally removing/re-adding them
124
  - use the palette matching the used VDP in the palette viewers
125
  - fixed HOME/END keys in debuggable editors
126
  - don't take keyboard focus in debuggable editor (it stole the focus when
127
    starting up with one still open)
128
  - added the missing "copy code view" function: you can copy code from the
129
    disassembly view to the clipboard, like in the external debugger
130
  - added raster beam view also to the character viewer
131
  - added hover with sprite pattern, attribute and color-attribute addresses to
132
    the sprite viewer
133
  - added export function for all debuggable editors (to clipboard or file)
134
  - highlight changes in register/flag/debuggable editor/slot views - this was
135
    still missing compared to the separate debugger
136
  - improved keyboard navigation on the disassembly window
137
  - added breakpoint session management
138
  - added a context menu to the character viewer to copy pattern and color data
139
    to the clipboard
140
  - added a context menu to the sprite viewer to copy pattern data to the
141
    clipboard
142
  - fixed disassembly syntax of "DD CB" instructions: parentheses were missing
143
  - fixed a crash when doing a debug write to "tracked" RAM
144
  - added Link IX / IY preset options in debuggable editor
145
  - fixed crash when user selects page 3 of screen 8 in a specific way
146
  - added 'debug watchexpr' command
147
  - fixed slot info for superexpanded SVI-328
148
  - dramatically improved the speed of reading blocks from 'slotted memory'
149
- do not persist freq_lock setting to avoid experiments to "overclock" a
150
  machine to spill over to use on other machines
151
- do not automatically rewind a tape when resetting the MSX and only perform
152
  auto run at the start of the tape
153
- allow speed settings smaller than 1 (change to float value). Note: this
154
  breaks updates from openMSX to the Catapult speed slider and this will not be
155
  fixed (as we have stopped updating Catapult).
156
- added support for 512-pixel wide modes in the 'hq' and 'ScaleNx' scalers (was
157
  not supported before on the SDLGL-PP renderer)
158
- fixed pointer_hide_delay setting that got broken in 20.0
159
- fixed bug that using the GUI could interrupt the replay (introduced in 20.0)
160
- added support for TSX tape images
161
- added a basic game shuffler Tcl script
162
- fixed changing scale factor when openMSX is paused
163
- fixed incorrect resetting of the machine time when resetting the machine
164
- fixed several Space Manbow trainers
165
- several small improvements/workarounds for Japanese keyboards in POSITIONAL
166
  mode
167
- fixed key up detection in CHARACTER mode (when the keycode is not provided)
168
- enhanced the keyboard tracing, with the hope that it helps to fix keyboard
169
  issues in an upcoming release
170
- added a Tcl script that replaces sdcdb (SDCC debugger)
171
- when both a LaserDisc and a cassette tape are present, auto run the cassette
172
  tape. Use case: Mystery Disc
173
- added a programmable device that directly connects to Tcl scripts
174
- if a file is not found, show where openMSX was looking for it
175
- added setups concept: support on console, command line, GUI. Also obsoletes
176
  setting the default machine in the machine selector
177
- fixed "osd info -mousecoord" when main-window doesn't have focus (this is
178
  used in several OSD scripts)
179
- allow raw screenshots to be saved with "auto" size
180
- auto run cassettes: make use of the tape loading instruction given in the
181
  filename, if it can't be derived from the contents (WAV files typically)
182
- fixed POSITIONAL keyboard mapping for SVI machines
183
- added a new setting to enable stretch-to-fit on full screen mode:
184
  full_stretch
185
- removed 'hqlite' scaler, as it doesn't add any value over 'hq'
186
- removed 'fast' resampler, as the quality is very low and the better ones are
187
  fine in terms of speed on contemporary hardware
188
- removed OSD based raster beam viewer (use the bitmap/character viewer
189
  instead)
190
- removed OSD based FPS indicator (use the status bar instead)
191
- removed OSD info panel (use the status bar instead)
192
- removed OSD VU meters (use the audio channel viewer instead)
193
- removed deprecated -msxonly flag in the screenshot command
194
195
Build system, packaging, documentation:
196
- required GNU compiler is now at least g++-12
197
- required clang compiler is at least clang++-17
198
- required Visual Studio Compiler is at least 2022
199
- on macOS, at least Xcode 16.4 is required
200
- Android build is totally broken, and will require a lot of effort and help to
201
  get back up, which is not planned by us.
202
- Dingux support was removed
203
- 3rd party updates of SDL (2.30.7), Tcl (8.6.15), libPNG (1.6.44), FreeType
204
  (2.13.3), zlib (1.3.1), Dear ImGui (1.92.0)
205
- allow building against Tcl 9
206
- quite a large update of the manual (mostly to include the new GUI)
207
- added standalone xsa2dsk tool
208
209
210
openMSX 20.0 (2024-09-22)
211
-------------------------
212
213
This is a major release, in which we introduce the new Graphical User
214
Interface, replacing the OSD menu. A faster and more powerful debugger is now
215
included in openMSX itself. Configuration for MSX joystick/JoyMega has been
216
improved drastically using the new GUI.
217
As of now, a system with OpenGL 2 support is required to run openMSX.
218
219
220
The GUI
221
^^^^^^^
222
We already had two separate GUI applications:
223
- openMSX Catapult, a tool to control common functionality of openMSX, in a
224
  limited way.
225
- openMSX Debugger, a great and helpful tool, but never officially released and
226
  packaged.
227
Keeping the GUI separate from the emulation core seemed like a good idea at
228
first. Keeping the state of both applications in sync turned out to be a hard
229
problem, however. Functions that seemed easy, were in fact very hard to
230
implement in this structure.
231
In this release we integrated the GUI directly in openMSX itself. All
232
information is now guaranteed in sync and updated real-time (which would have
233
been very hard in the old structure).
234
As this is the first release with the new GUI, not everything will be perfect
235
straight away. Feedback or help to improve things further will be highly
236
appreciated. The Catapult and openMSX Debugger applications remain available
237
for the time being. We will (try to) keep them working, but they won't receive
238
any new development anymore - from us anyway. When keeping them working becomes
239
too much of a burden, we will abandon these applications altogether.
240
241
Joystick emulation
242
^^^^^^^^^^^^^^^^^^
243
Another big change is the joystick emulation. There are now fixed joystick and
244
JoyMega (MegaDrive controller) pluggables (2 for each), which can also be
245
configured via the GUI and also support keyboard inputs, so they also replace
246
the old keyjoystick devices. This gives optimal flexibility for configuring how
247
you want to control MSX controllers.
248
On top of that, it is now possible to plug and unplug host controllers at
249
run-time.
250
251
Rendering
252
^^^^^^^^^
253
Rendering has also undergone a big change. We removed the "SDL" renderer, as
254
the GUI requires an accelerated backend, for which we use OpenGL 2, which was
255
already required for the (already default and now only) SDLGL-PP renderer.
256
We also removed 1x scaling, so the minimum is now 2x. Video recording and
257
screenshots on the 320x240 resolution are still possible, though. All of this
258
allowed us to simplify the code a lot, making it easier to add new features and
259
maintain the code.
260
261
Other important changes
262
^^^^^^^^^^^^^^^^^^^^^^^
263
As for any custom key bindings you might have: we renamed some keys to match the SDL
264
library names instead of inventing our own. Old names are still recognized, but
265
be careful if you also run older openMSX versions, as openMSX will use the new
266
names and the old openMSX will not recognize them. Examples are: PRINT ->
267
PrintScreen, META -> GUI.
268
269
Special thanks to all the contributors of this release who are not in the core
270
team! Keep these pull requests coming!
271
272
Here's the list with all highlights and details:
273
274
MSX device support:
275
- OPL4: fixed detail in YMF262 register mirroring
276
- turboR PCM:
277
  - fixed sample frequency to 15700Hz (not 15750Hz as found in some
278
    documentation)
279
  - implement sample buffer (bit 0 on port 0xA5) to improve sound quality
280
- flash ROMs: added a lot of accuracy to its emulation
281
- WD2793 and TC8566AF FDC's: fixed several details
282
- Konami mapper: added missing mirroring
283
- improvements on I8254 mode 3 used in some RS-232C interfaces
284
- added support for the concept 16-bit NEO mappers, which may be used by
285
  someone in the future. If this doesn't happen, support will be dropped again
286
- added support for the ASCII16-X mapper which will be used by some upcoming
287
  games
288
- fixed mapper of Mitsubishi ML-TS2 modem software
289
- added support for Circuit Designer RD dongle (thanks Sandy Pleyte!)
290
- added new machines/extensions, thanks to:
291
  - Peter Hanraets and Arjen Zeilemaker: Hitachi MPF-310H
292
  - Peter Hanraets: Hitachi MB-H70
293
  - bsittler: USA version of Yamaha CX5M
294
  - Takamichi Suzukawa: National CF-SM003
295
  - Tristan Zondag: German Spectravideo SVI-738
296
  - Oliver Klink: French Canon V-20
297
  - Patrick: Yeno DPC-64
298
  - DamnedAngel: Hitachi MB-H21
299
  - Peter Hanraets, Takamichi Suzukawa, Arjen Zeilemaker and Benoit Delvaux:
300
    Sony HB-T600
301
  - Others: Philips VU-0040, General Paxon PCT-55, Sanyo MPC-64, OPL3 Cartridge
302
    with Moonsound compatible port mapping
303
304
New or improved emulator features:
305
- removed SDL renderer
306
- added new GUI:
307
  - main menu bar with these menu items:
308
    - Machine
309
      - Select MSX machine
310
      - Firmware switch
311
      - Pause emulator
312
      - Reset MSX
313
      - Power on/off
314
      - Test MSX hardware (much faster than in Catapult)
315
    - Media
316
      - Cartridge slots with ROM cartridges or extensions
317
      - Disk drives
318
      - Tape deck
319
      - Hard disk
320
      - CD-ROM
321
      - Laserdisc
322
    - Connectors
323
      - joystick ports, printer ports, MIDI ports, etc.
324
    - Save state
325
      - Load/Save state
326
      - Load/Save replay
327
      - Reverse/replay settings
328
    - Tools
329
      - Virtual keyboard
330
      - Copy/paste
331
      - Capture audio/video/screenshot
332
      - Disk Manipulator
333
      - Trainer
334
      - Cheat Finder
335
      - SCC viewer
336
      - Audio channel viewer
337
      - OSD Toys
338
    - Settings
339
      - Video
340
      - Sound
341
      - Speed
342
      - Input
343
        - Configure MSX joysticks
344
      - GUI
345
        - Configure GUI shortcuts
346
      - Misc
347
        - Configure OSD icons, show status bar, ...
348
    - Debugger
349
      - Toolbar
350
      - Disassembly view
351
      - CPU registers
352
      - CPU flags
353
      - Slots
354
      - Stack
355
      - Breakpoints
356
      - Symbol Manager
357
      - Watch expressions
358
      - Bitmap viewer
359
      - Tile viewer
360
      - Sprite viewer
361
      - VDP register viewer
362
      - Palette
363
      - Hex editor
364
    - Help
365
      - Links to manuals
366
      - About
367
  - Reverse bar
368
  - OSD icons
369
  - Status bar
370
  - Console
371
  - Messages
372
  - Drag and drop
373
  - Shortcuts
374
  - Separate pop-out windows
375
  - Windows can be docked on other windows or in a tab widget
376
  - 3 styles: Dark (default), Light, Classic
377
  - configurable font and font size. Default: DejaVu
378
- OSD menu:
379
  - removed in favour of new GUI
380
- only warn once for unsupported size in Konami mappers
381
- suppress warning messages during reversing
382
- fully configurable MSX controller mapping for joysticks (msxjoystick1/2
383
  pluggables) and JoyMega devices (joymega1/2 pluggables) - see above
384
- low level debugger (scripting):
385
  - added support for symbol management
386
- allow to set a breakpoint (or any Tcl callback) when the VDP dot clock
387
  direction is written "wrongly"
388
- added VGM recording for OPL3
389
- added minimal support for unplugging and replugging host controllers
390
- added support for RS232Net: connect MSX RS-232C interfaces to the local
391
  network
392
- removed several OSD scripts which have been replaced by the GUI, sometimes
393
  almost 1 to 1:
394
  - reverse bar
395
  - tile viewer
396
  - sprite viewer
397
  - palette editor
398
  - VDP register viewer
399
  - tabbed machine view
400
  - display_message
401
  - quit menu
402
  - OSD keyboard
403
  - load_icons
404
- removed support for savestates with .xml.gz extension
405
- do not save SRAM to file if unmodified
406
- added support to run openMSX fully in headless mode
407
- allow to specify the device name of IDE devices in their config XML file
408
- base the Boosted MSX2 EN on the Philips NMS 8245 instead of 8250
409
- fixed crash when multiple debug-devices were used at once
410
- fixed possible crash on specific combination of watchpoints and replay
411
- fixed possible crash on no longer supported savestates:
412
  - we try to keep old savestates working. Nevertheless occasionally we do
413
    remove stuff. Loading an old savestate which contains such stuff used to
414
    crash, now we give a clean error message.
415
- fixes for load_settings command
416
417
Build system, packaging, documentation:
418
- added support for loongarch
419
- required GNU compiler is now at least g++-11
420
- required clang compiler is at least clang++-16
421
- required Visual Studio Compiler is at least 2022
422
- on macOS, at least Xcode 15.4 is required
423
- Android build is totally broken, and will require a lot of effort and help to
424
  get back up, which is not planned by us.
425
- 3rd party updates of SDL (2.30.1), SDL2_ttf (2.22.0), GLEW (2.2.0)
426
- added patch to add aarch64 support to libtheora 3rdparty build
427
- fixed link error in libvorbis for Xcode 15 on macOS
428
- avoid pkg-config build error with Clang 15 on macOS
429
- quite a large update of the manual (mostly to include the new GUI)
430
431
432
openMSX 19.1 (2023-08-30)
433
-------------------------
434
435
This is a bug fix release which fixes the following serious issues:
436
- broken LaserDisc support (OGV file format wasn't recognized)
437
- (potential) crash when using two V9990 devices in one machine
438
- saving of callback settings like invalid_psg_directions_callback
439
440
As a bonus two other noteworthy changes were made:
441
- added Hitachi MPF-310H floppy disk drive + interface extension (thanks to
442
  Peter Hanraets and Arjen Zeilemaker)
443
- added proper mirroring of Konami mapper types in areas 0-3FFFH and
444
  C000H-FFFFH
445
446
447
openMSX 19.0 (2023-07-25)
448
-------------------------
449
450
More bug fixes and smaller improvements. Large improvements on the OSD menu and
451
the diskmanipulator.
452
453
Special thanks to all the contributors of this release who are not in the core
454
team! Keep these pull requests coming!
455
456
This release will be the last one that supports systems without OpenGL 2 or
457
higher.
458
459
Here's the list with all highlights and details:
460
461
MSX device support:
462
- SCC+: clear RAM when powering off/on
463
- WD2793: fixed very rare corner case when writing CRC bytes
464
- V9990:
465
  - fixed corner case in interlaced screen rendering
466
  - fixed Bx mode cursor drawing
467
- R800: fixed behaviour with double prefix, as it acts like double NOP unlike
468
  Z80
469
- Carnivore 2: updated initial (out-of-the-box) flash content, with bootmenu
470
  2.52
471
- fixed NinjaTap emulation (at the cost of the PSG pin 6/7 behaviour)
472
- fixed formatting on Philips VY-0010 disk drives
473
- implemented (more) I/O port mirroring for S-1985 and S-3527 based machines
474
  for PSG, VDP, PPI, RTC, printer)
475
- implemented some weird behaviour of the printer port (implemented unused bits
476
  specification and status showing on all ports for some machines)
477
- added mapper for RetroHard MultiCart 31 in 1 cartridges
478
- added mapper for Al Alamiah 30-in-1 cartridges, thanks to a.o. hashem and
479
  tsjakoe
480
- added new machines/extensions, thanks to:
481
  - Peter Hanraets: Sony HB-11 and Sony HB-F701xx
482
  - alwro07: Polish Spectravideo SVI-738
483
  - Daniel Padilla: Victor HC-90A (WIP)
484
  - Takamichi Suzukawa: Nikko PC-70100 (hidden MSX) and Sanyo MPC-10mkII
485
  - Others: Sunrise IDE with Nextor ROM, Swedish Spectravideo SVI-738, Yamaha
486
    SKW-01 Word Processor
487
488
New or improved emulator features:
489
- VDP: fixed assertion failure when cmdtiming=broken
490
- many improvements on machine and extension descriptions
491
- OSD menu:
492
  - show machine type and region info in list of machines
493
  - show current machine in main menu title (as most actions operate on it)
494
  - show machine and extension information/details whilst selecting them,
495
    including whether it will work when selected
496
  - allow user to add/remove IPS patches for ROMs
497
  - fixed location of selection bar (was too high)
498
  - scroll menu items that do not fit horizontally to be able to read them
499
  - for long paths, only show the last part (instead of clipping after the
500
    first part)
501
  - minor aesthetic tweaks
502
  - don't show add/remove dialog for extensions if none are present and show
503
    the amount inserted in the menu
504
  - always show menu on top
505
- disk manipulator (many thanks to Laurens Holst!)
506
  - fixed import command
507
  - fixed newline issue in dir command
508
  - fixed possibly illegal date/time stamps when importing
509
  - fixed crash when exporting/listing by proper detection of end-of-directory
510
  - many other/smaller robustness fixes
511
  - added FAT16 support for dir, chdir, mkdir, import, export, create and
512
    format
513
  - both DOS1 and DOS2 bootsectors can be generated
514
  - added support for Nextor partitions
515
  - added support for Nextor FAT12 formatting
516
  - skip hidden directories when exporting
517
  - improved filtering on unsupported file name characters
518
  - convert MSX file names to UTF-8 both when reading from and writing to the
519
    host file system
520
  - added partition command to partition an existing disk
521
  - added support for Beer IDE 1.9 partitions
522
- cassetteplayer 'getpos' command now also works in recording mode
523
- fixed desyncs in replays when using mouse input
524
- make it possible for some devices to find out which ROM file they use
525
- make it possible to query the VDP type in Tcl
526
- fixed calculation of hash for e.g. hard disk images (unfortunately making it
527
  slower again)
528
- fixed SaI3xScaler
529
- fixed parsing of XML entities in e.g. replays, config files, etc. For example
530
  fixes replays that include a load command like BLOAD"CAS:",R
531
- fixed crash when video system cannot be initialized, show an error instead
532
- fixed crash when using the Dooly mapper with a too small ROM image
533
- added MIDI input support to ALSA (thanks to Cacodemon345!)
534
- callback procs can now be persistenty changed to a custom implementation
535
  (ivalid PSG direcitons, invalid PPI mode, di-halt, generic messages)
536
- added a way to cancel the type command (with -cancel option)
537
- added warnings on reads/writes to writeonly/readly registers (thanks to Pedro
538
  de Medeiros)
539
- fixed crash when toggling the 'VR' bit in the VDP
540
- fixed crash when making screenshot with SDL renderer
541
- added debuggables for VDP register and palette latch status (thanks to Pedro
542
  de Medeiros)
543
- expose VRAM write access status to Tcl (thanks to Pedro de Medeiros)
544
- added YM2151 recording to VGM recorder (thanks to sneep)
545
- fixed crash when required OpenGL version was not found
546
- added small delay to fix automatic typing of loading instruction for games
547
  like Elite
548
- fixed ar_fr keyboard mapping (ignoring right-to-left characters)
549
550
Build system, packaging, documentation:
551
- fixed compilation on some platforms (missing ctime include)
552
- required GNU compiler is now at least g++-10. Android build is totally
553
  broken, as its libc++ is missing a lot of things. Will probably be better
554
  with NDK 26.
555
- update build process for macOS, automatically sign code when Apple Developers
556
  ID is available
557
- 3rd party updates of SDL (2.26.4), Tcl (8.6.13) and libpng (1.6.39)
558
- added patch to add aarch64 support to libtheora 3rdparty build
559
560
561
openMSX 18.0 (2022-06-12)
562
-------------------------
563
564
Again a release with mostly bug fixes and smaller improvements. And of course a
565
little more blasphemy out there adding support for Sega SG-1000.
566
567
Special thanks to all the contributors of this release who are not in the core
568
team! Keep these pull requests coming!
569
570
Here's the list with all highlights and details:
571
572
MSX device support:
573
- V99x8:
574
  - fixed ugly looking top line when displaying interlacing
575
  - fixed rounding for 'blue' in YJK modes
576
  - fixed bug in VRAM access timing, in cases where VDP and CPU are
577
    simultaneously accessing VRAM, like in Maze of Galious Enhanced. This was
578
    mostly noticable when replaying a recorded replay.
579
- V9990:
580
  - fixed possible crash when switching display modes (seen in SymbOS)
581
  - fixed BMXL and BMLX commands in P1 in 4bpp modes
582
- R800: fixed flag behavior of block I/O instructions (only affect Z and N)
583
- OPL4:
584
  - fixed aliasing in high pitched notes introduced in 0.15.0
585
  - fixed missing reset of sample position when wave is changed during release
586
- Apply Z80 CMOS behaviours to all MSX-ENGINE machines (not only turboR)
587
- Implemented the known differences between OPM (YM2151, as used in Yamaha
588
  SFG-01) and OPP (YM2164, as used in Yamaha SFG-05)
589
- Fixed YM2151/YM2164 timer
590
- YM2413/OPLL (MSX-Music):
591
  - incorporated bug fixes in NukeYKT OPLL core from the upstream authors
592
  - emulate effects of too fast access to YM2413/OPLL when using the (default)
593
    NukeYKT core. Note: this only works when the speed setting is set to 100%.
594
- Fixed Sony HBI-55 emulation
595
- Fixed swapped red/blue colors in laserdisc with SDLGL-PP
596
- Added disk-changed bit in Sony FDC interface, required for HB-F500P for
597
  instance
598
- Added support for Talent TDC-600 external floppy disk drive
599
- Added support for Canon FDC connectionstyle
600
- More accurate TC8566AF emulation (turboR FDC)
601
- Implemented proper emulation of Konami EC-701, thanks to Albert Beevendorp
602
  and Takamichi Suzukawa
603
- Added initial support for Sega SG-1000 (and some preparations for SC-3000)
604
- Carnivore 2:
605
  - updated initial (out-of-the-box) flash content, with bootmenu 2.50
606
  - added 2nd PSG feature with configurable I/O ports (new in 2.50 firmware)
607
  - added user-defined ID and control port I/O (new in 2.50 firmware)
608
  - report firmware as version 2.50
609
  - fixed bug that prevented multiple Carnivore 2 cartridges inserted in a
610
    single machine
611
- Added 2nd PSG on I/O ports 0x10-0x12 for Boosted configs and also added an
612
  artificial 2nd PSG extension, for convenience, as alternative to using a
613
  MegaFlashROM SCC+ SD or Carnivore 2 cartridge for that feature.
614
- Use cleaned up disk ROMs in several configurations (without registers)
615
- Fixed several configs that had wrongly a memory mapper: Sony HB-F1XD,
616
  HB-F1XDmk2, Panasonic FS-A1mk2
617
- added new machines/extensions, thanks to:
618
  - Peter Hanraets: Philips VG 8235/39, Panasonic CF-2700 (UK), Casio MX-15,
619
    Mitsubishi ML-G30 model 1, Mitsubishi ML-G30 model 2, Sanyo MPC-25FS,
620
    Mitsubishi ML-8000, Daewoo DPC-200 (French), Sony HB-F1XDmk2, Sony HBD-20W,
621
    Panasonic FS-PW1
622
  - sergarbes: Sony HB-F700S
623
  - Meits/Peter Hanraets: Philips VG 8235/20, several VG 8235 improvements.
624
  - Ricardo Jurcyk Pinheiro: Yamaha AX200
625
  - NYYRIKKI: Swedish/Finnish localized Spectravideo machines
626
  - friguron: Spanish Philips NMS 8250
627
  - Others: Canon V-30F
628
629
New or improved emulator features:
630
- Huge clean ups and fixes of the unicodemaps (using Rebecca Bettencourt's
631
  mapping tables, which were released as part of Unicode) and other keyboard
632
  fixes/improvements (e.g. a French/Arabic unicodemap)
633
- Added MSX character to unicode (and vice versa) mapping, which is used in the
634
  get_screen script
635
- Fixed several bugs in save_msx_screen script (as seen in Yupipati)
636
- Fixed bug in DirAsDSK which could lead to corruption
637
- Fixed DirAsDSK on MSX systems that require a disk-change signal to notice
638
  changes
639
- OSD menu:
640
  - fixed tape deck OSD menu when there are spaces in the path
641
  - added menu option to change host to MSX joystick mapping
642
- Added script that can show where the raster beam is on the screen
643
- Added script that shows sprite locations and information on the OSD
644
- Also display hours in the reverse bar
645
- Fixed crash when using "record_channels cassetteplayer" with resampler=blip
646
- Don't remove once-breakpoints if condition fails
647
- Added internal events on breakpoint/watchpoint/condition/probe add/remove
648
  (unused so far, but may help debugger development)
649
- Allow multiple errors/warnings to be displayed on OSD
650
- Large update of the ROM database
651
652
Build system, packaging, documentation:
653
- C++ code is based on C++20 and thus requires a compiler supporting it, e.g.
654
  g++ 9 or later (10 is recommended and will be necessary for the next release)
655
  or Visual Studio 2022 or later
656
- Updated catch2 to 2.13.7
657
- 3rd party updates of SDL (2.0.20), FreeType (2.11.1), Tcl (8.6.12), libogg
658
  (1.3.5) and libvorbis (1.3.7)
659
- Fixed FreeBSD run time crash at startup
660
661
662
openMSX 17.0 (2021-05-18)
663
-------------------------
664
665
A release with mostly bug fixes and smaller improvements. Most notable may be
666
the usability improvements of the OSD menu.
667
668
Special thanks to all the contributors of this release who are not in the core
669
team! Keep these pull requests coming!
670
671
Here's the list with all highlights and details:
672
673
MSX device support:
674
- V99x8:
675
  - fixed timing of VDP settings getting applied. This fixes the screensplit in
676
    Psycho World, Hydefos, Space Manbow and the Woei demo, and probably more.
677
    Many thanks to Grauw for figuring out the real problem.
678
  - fixed that sprites are not disabled instantly, but on the next line
679
- Carnivore 2:
680
  - updated initial (out-of-the-box) flash content, with bootmenu 2.40
681
  - added support for firmware version readout (now hardcoded on 2.30)
682
  - added support for SLM_cfg register
683
  - added reading from SCC, which also works on real hardware
684
- V9990: fix location of bitmap cursor
685
- fixed OPL4 12-bit sample decoding
686
- fixed stereo settings of Daewoo CPC-400(S)
687
- fixed loading/saving of flash content for ReproCartridgeV1/V2 mappers
688
- fixed bugs in RTC (thanks to KdL and HRA!) regarding leap-year and
689
  days-in-the-month
690
- added support for proper mapper registers readout on S1985 systems without
691
  mapper and with an external mapper that is larger than 512kB
692
- added support for Zemina 25-in-1 mapper (thanks to BiFi and Hashem)
693
- added new machines, thanks to:
694
  - Peter Hanraets: Victor HC-7, (partial) Hitachi MB-H2, Sanyo PHC-23J, Sanyo
695
    PHC-23 (old), Sanyo PHC-SPC, Sanyo PHC-30N, Sanyo PHC-33 (without built in
696
    tape drive features), Sanyo PHC-77, Sony HB-75, Sony HB-F700F, Sony
697
    HB-F500 (v1 and v2), AVT DPC-200, Mitsubishi ML-G10, Hitachi MB-H50
698
    (without LEDs), Yamaha SX-100, Philips NMS 8250/19
699
  - Arjen Zeilemaker and others: Toshiba HX-33 and HX-34 (except for the COPY
700
    button and special hardware for that)
701
  - Danilo Angel: Sanyo MPC-3
702
  - others: Sony HB-75D, Sanyo PHC-28P
703
- added new extensions: Popolon Sound Cartridge (with configurable size)
704
705
New or improved emulator features:
706
- by default also map the D-pad of a controller to the MSX joystick directions
707
- fixed artifacts on 3x scaling with 512 wide MSX modes on SDLGL-PP
708
- optimized file pool more, especially when alternative ROMs are to be found
709
- more accurate resampling, without rounding errors
710
- fixed possible crash when Tcl callbacks switch the active machine, e.g. using
711
  step_back in watchpoints
712
- fixed autorun of tapes/laserdiscs interrupting the replay
713
- fixed OMR replays with auto-run type command
714
- faster switching to/from fullscreen, without changing the videosource
715
- fixed laserdiscplayer eject command still showing the file inserted
716
- make number of columns for showdebuggable configurable
717
- fixed broken color_matrix setting (a.k.a. monitor_type)
718
- fixed drawing of OSD progress info (e.g. while calculating hashes)
719
- improved performance of calculating hashes of HDD images, especially when
720
  they're on a network drive
721
- on Windows, make openmsx.exe a GUI application to avoid the separate extra
722
  text output window
723
- added support for automatic internal conversion of SVI CAS files to WAV
724
- added support for autoruncassettes for SVI CAS files
725
- fixed autoruncassettes on some models like Yamaha AX150
726
- OSD menu:
727
  - menu button is now easy to disable with new osd_menu_button setting
728
  - removed useless frameskip controls
729
  - added full speed when loading control
730
  - tweaked special options in lists like [eject]
731
  - fixed navigating to file pools for disks
732
  - show media slot content the same way for all media
733
  - represent all media slots as slots, more similar to real hardware. You can
734
    now put both ROM cartridges and extensions in cartridge slots via the same
735
    menu
736
  - show I/O only extensions as such, as they will not take a physical slot in
737
    openMSX
738
  - allow searching also on _ and - characters in lists
739
  - show display names of what is in a media slot
740
  - show ROM info of just inserted ROM, not of the most likely running ROM
741
  - show also MSX slot number in list of cartridge slots
742
  - fixed handling of multiple identical extensions
743
  - display a message if a cartridge is removed
744
  - display the slot behind extensions in the Extension -> Remove menu
745
  - added Monitor type setting to the Video Settings menu
746
  - added OSD icon set setting to the Misc Settings menu
747
748
Build system, packaging, documentation:
749
- better support for macOS < 10.13, using HFS+J DMG format
750
- target macOS 10.13
751
- build support for 64-bit RISC-V
752
- SDLGL-PP renderer requirements are now relaxed to only OpenGL 2.1 again (was
753
  3.3 in openMSX 16.0)
754
- fixed building without SDL joystick support
755
- C++ code is based on C++17 and thus requires a compiler supporting it, e.g.
756
  g++ 8 or later or Visual Studio 2019 or later
757
- 3rd party updates of Tcl (8.6.10) and libpng (1.6.37)
758
759
openMSX 16.0 (2020-08-25)
760
-------------------------
761
762
A major release in which we finally migrated to SDL2 and Tcl 8.6. And we moved
763
to a simpler versioning scheme, stripping off that 0. prefix now :) Other than
764
that, there are loads and loads of improvements. Some often requested ones are
765
copy/paste functionality and drag and drop support. But we also added a super
766
accurate YM2413 emulation (originally written by NukeYKT), fixed MIDI-in/out
767
support on Windows, a new keyboard mode, much improved OSD menu, etc. See below
768
for the details.
769
770
Special thanks to all the contributors of this release who are not in the core
771
team! Keep these pull requests coming!
772
773
Here's the list with all highlights and details:
774
775
MSX device support:
776
- V9990:
777
  - added EOR feature in V9990 bitmap cursor rendering
778
  - fixed crash in overscan modes with deflicker filter
779
  - fixed YJK/YUV rendering (was broken 8 years ago...)
780
  - fixed BMLX command
781
  - fixed drawing of second cursor (in some cases)
782
  - added synchronization for the CE IRQ
783
  - fixed sprite rendering algorithm on P modes
784
  - fixed background rendering in P2
785
  - fixed crash when using V9990 B4 mode with SDL renderer and scale_factor 3
786
- V99x8:
787
  - fixed that set adjust has no influence on maximum horizontal interrupt line
788
  - fixed right border on V9958 horizontal scroll
789
  - implemented "Cadari" bit
790
  - fixed sprite collision detection with color 0 sprites
791
  - fixed behaviour of TP bit in sprite mode 1
792
- PSG:
793
  - fixed that PSG registers of turboR do not mirror
794
  - fixed behaviour of wrong PSG port configuration (input ports output 0xFF)
795
  - it is now possible to specify whether a machine ignores PSG port
796
    directions; this helps to only show the warning on machines that may
797
    actually get damaged by these PSG bits
798
  - fixed noise level 0 ("sound6,0")
799
- fixed behaviour details of ADPCM of MSX-AUDIO
800
- fixed VDP I/O wait cycles of T9769: only apply to Z80
801
- fixed initial RAM pattern of ColecoVision to 0x00, which fixes The Heist
802
- fixed register mirroring of Yamaha SFG modules
803
- improved loading bad quality WAV cassette images using cubic interpolation
804
- added very accurate (but also slower) NukeYKT YM2413 core (now also the
805
  default)
806
- added emulation of 256kB hangul font ROM of the Daewoo CPC-400S
807
- added emulation of mappers Repro Cartridge mapper (v1 and v2) and Matra
808
  Compilation (e.g. Konami Compilation 1 and 2)
809
- fixed keyboard type of CIEL Expert Turbo
810
- fixed RAM size of Daewoo DPC-180
811
- added mapper type for RBSC Flash cartridges with KonamiSCC mapper
812
- added new machines: Yamaha AX500 (thanks Hashem Khalifa), Toshiba HX-20E
813
  (thanks Isaac Santaolalla), Yamaha YIS-503, YIS-503II, CX5F, YIS-604/128,
814
  Sony HB-G900D (thanks Peter Hanraets), Yamaha AX150 (thanks Pedro Gimeno),
815
  Olympia PHC-2 (thanks Patrick)
816
- added new extensions: Yamaha FD-03 (thanks Arjen) and FD-05 disk drive,
817
  Toshiba HX-F101PE disk drive, ROM Hunter Mk2 (thanks BiFi, Takamichi), Sony
818
  HBI-J1 (thanks Sandy), JVC MSX MIDI (thanks gflores)
819
820
New or improved emulator features:
821
- F11 now toggles fullscreen mode on PC, to be consistent with other
822
  applications such as web browsers; mute is now under F12
823
- fixed crash in ColecoVision when e.g. ALT+SPACE was pressed
824
- fixed crash when ejecting tape during cassette loading
825
- fixed MIDI-in/out support on Windows
826
- fixed possible crashes when using reverse
827
- added drag and drop support of files on the openMSX window. Supports ROM
828
  files, disk images (and folders), cassette images, LaserDisc images,
829
  savestates, replays, text files, Tcl scripts.
830
- added copy/paste functionality: with CTRL+Win+V (Cmd+V on Mac) or the middle
831
  mouse button, the clipboard text will be pasted into the MSX and with
832
  CTRL+Win+C (Cmd+C on Mac), the current MSX text screen will be copied to the
833
  clipboard
834
- added paste functionality to the console (CTRL+V/Cmd+V on Mac)
835
- several other small console improvements:
836
  - for macOS: Home/End moves to top/end of history, Cmd+Left/Right moves
837
    cursor to start/end of the line
838
  - move cursor per word with Alt+Left/Right
839
  - clear console with Ctrl+L and Cmd+K on macOS
840
  - Alt+BackSpace: delete backwards up to the start of the word
841
  - Alt+D (Alt+Del on macOS): delete util the end of the word
842
- added new POSITIONAL keyboard mapping mode, which is a much improved version
843
  of the KEY mode. Use when CHARACTER mode isn't working properly for you
844
- added file extensions to OSD menu and command line (e.g.
845
  .fd1/.fd2/.fd?/.1/.2)
846
- OSD menu:
847
  - when browsing for a media (ROM, disk, etc.) the menu now starts with the
848
    currently selected item. Makes it much easier to set disk B of a game, for
849
    instance.
850
  - implemented quick search in lists with alphanumeric keys. Type the name you
851
    expect and the cursor will find items starting with the typed characters.
852
  - fixed filtering out symlinked configurations from the machine/extension
853
    lists
854
  - go to the top of a list with HOME or CTRL+LEFT. Go to the end by pressing
855
    UP after that, as the lists wrap around :)
856
  - now all cartridge slots and disk drives can be controlled from OSD
857
  - show on/off instead of true/false for boolean settings
858
  - added keyboard mapping mode setting to OSD menu
859
- added setting to control vsync. Default is now enabled
860
- added new settings 'fastforward' and 'fastforwardspeed' to offer a way to go
861
  fast for a while (e.g. with the F9 button, which has now its binding changed
862
  to this) without going insanely fast.
863
- With vsync enabled the maxframeskip will not have to be tweaked anymore to go
864
  faster than the host monitor frame rate. Fast forward just works as you would
865
  expect it
866
- added new OSD icon set, which positions icons as far to the bottom as
867
  possible (set3)
868
- use soft-fullscreen now, instead of changing display modes. This looks better
869
  on almost all modern monitors. As a consequence, a screenshot made on full
870
  screen will be larger and will probably show letter boxes at the sides.
871
- huge updates to the Software DB:
872
  - many fixes
873
  - countless new entries for many ROM files you can find on the web
874
- when using IPS patches, the patched ROM will be looked up in the Software DB
875
- support host system function keys up to F24 now
876
- improved error messages on console commands (e.g. wrong number of arguments,
877
  unknown options, wrong subcommands)
878
- fixed cursor grabbing when going to and coming back from fullscreen
879
- enable HighDPI support (at least fixes some issues on macOS)
880
- fixed (removed) influence of user pressing modifier keys (CTRL/SHIFT/...)
881
  when text is typed into the MSX (e.g. with type command, auto cassette run,
882
  text pasting)
883
- added -once flag to 'debug set_bp' (and related commands) to trigger once
884
- several fixes to the unicode map files, so that pasting and CHARACTER
885
  keyboard mode works better (especially on Spanish MSX machines)
886
- added a debug probe on the V99x8 command execution and with that made the
887
  vdp_busy script more accurate
888
- worked around bug/limitation of MSX-BIOS when typing MSX characters 00-1F,
889
  which now works reliably
890
- fixed crash when using a relative path with the -setting command line option
891
- fixed 'kbd_code_kana_host_key' setting (did (sometimes?) not work anymore)
892
- use Rebecca Bettencourt's officially proposed Unicode mapping of MSX character
893
  set
894
- save_msx_screen script now also supports interlaced images
895
- added '-command' command line option to execute the given command after
896
  starting
897
- disable V99x8 specific debug writes on MSX1 VDP's
898
- added an optional <exit-code>-parameter to the exit command
899
- added script and MSX-DOS tool to give openMSX commands from within the
900
  emulated MSX (which is not enabled by default)
901
- when recording to video with throttle off, save time by displaying as few
902
  frames as possible on the screen
903
- now remember window position when the window is recreated (e.g. when changing
904
  renderers or coming back from full screen)
905
- make it easier to handle non-specific input events in Tcl scripts
906
- WARNING: backwards incompatible change to the 'machine_info device <device>'
907
  command. The result for ROM devices is now a dict (instead of a list) with at
908
  least one key-value pair, with key "type". For certain devices more key-value
909
  pairs are present, that were previously in list elements 1 to 3. Example to
910
  get the mapper type of device 'usas':
911
  dict get [machine_info device usas] "mappertype"
912
  And to get the device type (works for any device) of MyCoolDevice:
913
  dict get [machine_info device MyCoolDevice] "type"
914
915
Build system, packaging, documentation:
916
- migrated to SDL2 (2.0.12)
917
- unfortunately, the Android port is for now broken, as we did not integrate it
918
  into our build system yet (and that's not easy). The C++ code does compile,
919
  and now requires NDK20 and API level 18 (Android 4.3)
920
- updated all other 3rdparty libraries as well, like upgrading to Tcl 8.6
921
- SDLGL-PP renderer now requires OpenGL 3.3, shaders are now in GLSL 3.30
922
- support for pkg-config in the build system, e.g. to build FreeType
923
- C++ code is based on C++17 and thus requires a compiler supporting it, e.g.
924
  g++ 7 or later or Visual Studio 2019 or later
925
- fixed endianness on ppc64le
926
- fixed compilation for big-endian CPUs with g++-9
927
- migrated build system and all other Python scripts to Python 3, as Python 2
928
  is now officially dead
929
- documentation is now in HTML5 instead of XHTML
930
931
openMSX 0.15.0 (2018-12-08)
932
---------------------------
933
934
Again a release, because we did quite a lot, so it's due! Major new stuff is
935
support for ColecoVision (including Super Game Module and MegaCart mapper),
936
Musical Memory Mapper and Carnivore 2. And we have fixed a lot of long-standing
937
OPL4 emulation issues, thanks to Valley Bell. Furthermore, we overhauled the
938
Android port, but you'll mostly notice the scale factor 2 there. And several
939
other (sometimes very long standing) issues were fixed.
940
941
Here's the list with all highlights and details:
942
943
MSX device support:
944
- fixed 16 year old bug regarding sprites behaviour as shown in Ash Guine 3
945
- fixed National CF-3300: it has a 2DD disk drive, not 1DD
946
- fixed V9958 commands in non-bitmap modes
947
- allow non-standard cartridge slots to be used as normal cartridge slots,
948
  consistently
949
- fixed VDP type of National FS-1300
950
- fixed a bug in the turboR mapper
951
- fixed a bug regarding VIBrato in the YM2413 (Okazaki core)
952
- fixed CAPS lock on SVI 318/328
953
- fixed Canon V-20 configurations
954
- fixed Sanyo MPC-25FD configuration
955
- added support for 2 mapper read back bits, used in Panasonic MSX2+ machines
956
- added emulation of the SN76489 DCSG sound chip
957
- added emulation of the Musical Memory Mapper
958
- added emulation of ColecoVision, ColecoVision Super Game Module
959
- added emulation of the MegaCart mapper, used in some new homebrew
960
  ColecoVision games (mostly MSX ports)
961
- added emulation of the Carnivore 2 cartridge
962
- improved emulation of OPL4 (wave part) considerably, thanks to Valley Bell
963
- added emulation of bizarre I/O port mirroring of Philips Music Module (thanks
964
  to Grauw and L. Oliveira for doing the research)
965
- implemented Y8950 status register bit 0
966
- fixed exact formula for noise generation on AY8910 (PSG)
967
- made memory mapper ports readable on MegaFlashROM SCC+ SD, conforming to the
968
  latest version of this cartridge
969
- added new machines: Sony HB-G900AP (thanks to Louthrax), Eurohard/Radofin
970
  Dragon MSX (thanks to MAME), Yamaha CX7/128 and CX7M/128 (thanks to Peter
971
  Hanraets), Al Alamiah Sakhr AX230, Sanyo MPC-2, Yamaha CX11 (thanks to
972
  Tabajara Labs) and Toshiba HX-32 (thanks to Jorge Janaite Neto)
973
- added new extensions: Musical Memory Mapper, Carnivore 2 and SN76489 (on the
974
  same I/O port as PlaySoniq)
975
976
New or improved emulator features:
977
- fixed some crashes when using very high Z80 frequencies
978
- improved tab-completion to initially hide internal procs, until you specify
979
  the namespace
980
- many updates to the software database
981
- many updates to the VGM recorder script, thanks to Niek. Use 'help vgm_rec'
982
  to find out about the new subcommands. Sample RAM content is now logged even
983
  when starting recording after the sample kit is loaded, actual data recording
984
  starts automatically when data is sent to the chip, the proper OPL4 init data
985
  is automatically written to the VGM file, and many more things.
986
- changed default machine symlinks to JP machines (for applicable systems)
987
- many robustness fixes against bad XML config files
988
- added videosource setting to OSD menu, GFX9000 is getting more popular
989
- fixed reverse bug in GFX9000
990
- performance improvements: several fixes to improve start-up time
991
- added support for DCSG in the music keyboard and vu meters script
992
- changed events about unplugging to an empty plug-event
993
- changed fixed scale factor from 1 to 2 on Android
994
- added OSD menu button to open the main menu for Android, as (most?) modern
995
  Android devices do not have a menu button anymore
996
- OSD menu: fixed issue of getting stuck in an unreadable directory when
997
  browsing for a file (e.g. on Android)
998
- added scrollbar when showing lists in OSD menu, as a visual cue on the length
999
  of a list; the scrollbar cannot be dragged
1000
- fixed crash in hq/hqlite scalers in interlace modes
1001
- fixed frame skipping when doing 'debug continue'
1002
- fixed function keys not working anymore when console is open on macOS
1003
- exposed tile viewer widget to the console (try "about tile")
1004
1005
Build system, packaging, documentation:
1006
- upgraded C-BIOS to release 0.29a: default to 60Hz generic international
1007
  config
1008
- to load older savestates, added all C-BIOS ROMs shipped with openMSX 0.7.0
1009
  and later for your convenience
1010
- put several pieces of code under unit-test with the Catch2 framework
1011
- added svicpm2dmk utility so disk images from the web can be converted to a
1012
  suitable DMK file for use with the SVI-707 drive with CP/M ROM
1013
- reworked complete Android port build. Now uses NDK 18b and recent version of
1014
  commandergenius Android SDL port and all other 3rd party libraries are built
1015
  by the openMSX build system. Minimum required Android version is now 4.1.
1016
- removed all hand-made ARM and 32-bit x86 assembly code
1017
- fixed version information of application on macOS
1018
- added workaround for FreeType no longer installing its config script
1019
- enabled retina support on macOS
1020
- advise people to compile with Xcode 9.4.1 on macOS, not Xcode 10 (see issue
1021
  #1126)
1022
1023
openMSX 0.14.0 (2017-08-03)
1024
---------------------------
1025
1026
This release is another mix of some new features and additions and a lot of
1027
smaller fixes and improvements. This release adds support for Konami Ultimate
1028
Collection and basic emulation for the Spectravideo SVI-318 and SVI-328 pre-MSX
1029
computers, increases FDC accuracy in such a way that we think all copy
1030
protections (captured in a DMK file) should now run in openMSX. Moreover, we
1031
now put the SDLGL-PP renderer as the default, so let us know how that works for
1032
you. You can of course always set the old default setting for your system if
1033
you don't like SDLGL-PP. But then we would really like to know why... We also
1034
removed the Windows DirectX sound driver, as it was buggy and caused a lot of
1035
complaints. And finally, we added a button in the top left corner to easily
1036
invoke the OSD menu.
1037
1038
Here's the list with all highlights and details:
1039
1040
MSX device support:
1041
- fixed VDP type of Sony HB-501P
1042
- fixed a bug that caused hangups on some machines when resetting during the
1043
  logo animation
1044
- fixed ROM block debuggable for Sunrise IDE
1045
- improved accuracy of WD2793 FDC and disk drive emulation
1046
- added support for Spectravideo SVI-318 and SVI-328 pre-MSX computers:
1047
  - most SVI support was implemented by Tomas Karlsson. With NYYRIKKI's help
1048
    we fixed most last details
1049
  - added in Contrib a tool to convert SVI disk images to DMK so they can be
1050
    used in openMSX
1051
  - added SVI support to several scripts (thanks to NYYRIKKI): cashandler,
1052
    type_via_keybuf, listing
1053
  - note the following limitations:
1054
    - only WAV images are supported for cassettes. The stereo feature
1055
      (music/sound on the other channel) is not supported.
1056
    - only DMK disk images can be used
1057
    - nothing is done to prevent the user to mix MSX and SVI hardware/software.
1058
      This will not work, of course. As we are not SVI enthusiasts ourselves,
1059
      we rely on contributions from others for the SVI support.
1060
- added accurate M1 cycle emulation
1061
- added support for ASCII8 mapper with 32kB SRAM
1062
- added initial support for the ASCII paddle input device (paddle 1 and 2 only)
1063
- added new machines: Bawareth Perfect MSX1, Al Alamiah AX370 (thanks to
1064
  alshamaa), and as already mentioned: Spectravideo SVI-318, SVI-328 and a
1065
  superexpanded SVI-328.
1066
- added new extensions: Konami Ultimate Collection, ASCII Japanese MSX-Write,
1067
  ASCII Japanese MSX-Write II and Tecall TM220 MSX-RAMFILE
1068
1069
New or improved emulator features:
1070
- performance improvements:
1071
  - reverse feature
1072
  - hq resampler
1073
- fixed issue with remote connections on Mac OS X/FreeBSD
1074
- changed default sound driver on Windows to SDL, because the DirectX sound
1075
  driver has been removed
1076
- fixed creation of new HD images
1077
- changed the default renderer to SDLGL-PP
1078
- (probably!) fixed stability of MIDI-in on Windows. Unfortunately we didn't
1079
  find someone to help us test this properly
1080
- also improved stability on external connections in general
1081
- allow to specify initial content for flash ROMs. This way it is possible to
1082
  use MegaFlashROMSCC+SD like how the actual hardware is also shipped:
1083
  preflashed.
1084
- several improvements on the listing command (thanks to NYYRIKKI)
1085
- added automatic file numbering for record_channels
1086
- added a tron script (thanks to NYYRIKKI)
1087
- added script that records to a new AVI file if the framerate changes (thanks
1088
  to BiFi and FiXato for their initial version)
1089
- added mapper selection to OSD menu for unknown ROMs
1090
- automatically pad ROM files if they are not a multiple of the block size,
1091
  instead of refusing to run that ROM
1092
- added OSD button to invoke OSD menu in the top left corner
1093
- added VGM recorder script (by Niek Vlessert) to help you record MSX songs
1094
  into VGM files, supporting PSG, MSX-MUSIC, MSX-AUDIO, OPL4 and SCC
1095
1096
Build system, packaging, documentation:
1097
- migrated from SDL threads to C++11 threads
1098
- removed support for Maemo5
1099
- moved Windows build to Visual Studio 2017
1100
- upgraded C-BIOS to release 0.28
1101
1102
openMSX 0.13.0 (2016-07-31)
1103
---------------------------
1104
1105
This again was meant to be (mostly) a bug fix release, but again it also has
1106
some nice additions and improvements to enjoy. Important improvements are much
1107
better support for VDP I/O delay in turbo machines (fixing graphics issues due
1108
to too fast VDP access there), more accurate MSX1 color palette, progress
1109
reporting for long operations and ALSA MIDI-out support for Linux. This is also
1110
one of the first releases that drops support for older platforms: Windows XP,
1111
Dingoo A320 (but introducing support for GCW Zero) and non-64-bit MacOSX. If
1112
you still want to run openMSX on these, you'll be stuck on using a previous
1113
release or start maintaining these platforms yourself.
1114
1115
Here's the list with all highlights and details:
1116
1117
MSX device support:
1118
- fixed bug in ASCII-8 mapper of MegaFlashROM SCC+ (SD)
1119
- fixed bug in border drawing in text mode with YJK/YAE bits
1120
- fixed bug in LMMC VDP command that appeared in Baltak Rampage greetings part
1121
- fixed bug in YMF278 (OPL4 wave part) preventing samples to be played sometimes
1122
- improved R800 timing for the CALL instruction
1123
- added missing hardware VDP delay in turbo mode of MSX2+ machines
1124
- improved accuracy and completeness of the Matsushita switched I/O ports
1125
  device:
1126
  - added bits on turbo status and presence
1127
  - added the device to the Sanyo MSX2+ machines (without SRAM and turbo)
1128
  - removed fixed VDP I/O delay (because it is linked to the T9769 engine)
1129
- added support for the different fixed VDP I/O delays of the different T9769
1130
  engines and added these to the configuration files of the machine that have
1131
  these (as far as that is known)
1132
- added support for Epson Chakkari Copy, thanks to Rudolf Lechleitner and
1133
  Enrico Barbisan
1134
- added 2MB MegaRAM extension (thanks to Mauricio Braga)
1135
- added MIDI Interface 3 extension (cart that implements turboR GT internal
1136
  MIDI without BIOS ROM)
1137
- added support for mapper of Japanese MSX Write
1138
- added support for Spectravideo SVI-707 disk drive
1139
- added support for the V9990 POINT VDP command
1140
- added support for more realistic TMS VDP pallettes: it's now possible to
1141
  specify the saturation for the Pb and Pr channel (this is dependent on the
1142
  analog electronics in the MSX video circuit) which affects the palette. E.g.
1143
  all machines with TMS9x2x have a brighter palette now, as they should.
1144
- added weird color palette of the Fujitsu FM-X RGB output (3 bit RGB)
1145
- added a high-resolution timer extension: a cartridge with a 32-bit counter
1146
  that counts at 3.57 MHz. Useful for debugging and reverse engineering. Only
1147
  one such real cartridge exists :)
1148
- added new machines: Aucnet NIA-2001 MSXturboR (thanks to PiterPunk/NYYRIKKI),
1149
  Frael BRUC_100 version 1 and 2 (thanks to RJP, FRS, et al), Pioneer UC-V102
1150
  (thanks to PiterPunk), Victor HC-80 (thanks to Daniele), Toshiba HX-23F and
1151
  HX-23 (thanks to FRS)
1152
- added new extension: Sanyo MRS-001 RS-232C cartridge (thanks to mtn)
1153
1154
New or improved emulator features:
1155
- fixed bug in parsing remote command XML (causing e.g. ROM names with special
1156
  characters not to get communicated to openMSX correctly from Catapult)
1157
- fixed crash in 'reverse goback'
1158
- fixed inserting a slotexpander in a specific slot
1159
- fixed slowness issue when taking screenshots frame by frame
1160
- fixed support of files larger than 2GB (e.g. hard disk images) on Windows
1161
- fixed VDP status flag when using cmdtiming broking (infinitely fast VDP
1162
  commands)
1163
- fixed excessive delay on 'reverse goto' with ram watch enabled
1164
- OSD menu:
1165
  - fixed (un)plugging (connectors)/pluggables with spaces in their name
1166
  - fixed loading savestate with more than one . in its filename
1167
  - support up to 2 hard disk images (just like ROMs and disk drives)
1168
- fixed bug that cassette image was removed when doing reverse goto 0
1169
- fixed save_msx_screen for 2nd page of screen 7-12 (thanks to FRS)
1170
- improved robustness of DirAsDisk
1171
- added progress update reporting when doing operations that take a lot of time
1172
  (like calculating a hash of a large file or doing a large step in a replay)
1173
- fixed unintended extra calculation of hash for hard disk images when
1174
  reversing
1175
- made joystickN_deadzone setting's numbering consistent with joystickN_config;
1176
  both are now 0-based
1177
- added debuggable for printer port, containing strobe and data byte
1178
- added experimental support for ALSA MIDI out (Linux): now it's much easier to
1179
  connect MSX MIDI out devices to a soft synth or other application on Linux
1180
- improved support for UNC paths on Windows (network drives)
1181
- added a script to speed up the type command: type_via_keybuf (thanks to
1182
  NYYRIKKI for the initial version). Default type implementation can now be
1183
  tuned with the new default_type_proc setting.
1184
1185
Build system, packaging, documentation:
1186
- to compile with gcc you now need gcc 4.8 or higher
1187
- updated Visual Studio projects to Visual Studio 2015
1188
- dropped support for Windows XP, because it seems Visual Studio 2015 has bugs
1189
  in supporting it
1190
- dropped support for Dingoo A320, because its toolchain is now so outdated
1191
  that it can't compile the openMSX source code any longer
1192
- added build, packaging and documentation support for GCW Zero
1193
- dropped support for universal binaries on Mac OS X, as all supported Mac OS X
1194
  versions require x86-64 CPU's
1195
- updated Tcl to 8.5.18
1196
- updated libpng to 1.6.20
1197
- now optionally link to libasound on Linux (for the ALSA MIDI support)
1198
- added debug flag to build system that shows which commands are executed:
1199
  make V=1
1200
- improved description on how to use MegaFlashROM SCC+ SD
1201
1202
openMSX 0.12.0 (2015-09-12)
1203
---------------------------
1204
1205
This was going to be (mostly) a bug fix release. But at the end we also got
1206
inspired by Grauw to add a lot of MIDI devices. And, reviewing what we changed
1207
the last 10 months, we saw that we also got loads of help from several people
1208
to add many new machine configurations and added some fun stuff like Sensor Kid
1209
and (experimental) Beer IDE emulation. On the emulator features category we
1210
give you stuff like triplesize video recording, some TAS enhancements and a
1211
callback for too fast VRAM access.
1212
So, enjoy this 'various features and bug fixes' release!
1213
1214
Here's the list with all highlights and details:
1215
1216
MSX device support:
1217
- fixed (S)RAM writing on turboR
1218
- fixed border color in screen 11/12
1219
- fixed some details of SD card emulation (found with FUZIX)
1220
- fixed clipping bug in sprite-mode-1 drawing
1221
- fixed crash in openMSX when using the AVT DPF-550 extension
1222
- fixed support of 8kB RS-232C ROMs (which is the only correct size!)
1223
- fixed emulation of joystick mode of the mouse
1224
- fixed broken MegaFlashROM SCC+ (introduced with openMSX 0.11.0)
1225
- improved trackball movement emulation so that JoyTest can also detect it like
1226
  on real hardware
1227
- fixed touchpad joystick pins (fixing detection in JoyTest)
1228
- tweaked volumes of SFG-01/05 against the PSG
1229
- added Panasonic FS-A1WSX/WX variant ot the MSX-MUSIC mapper
1230
- added proper YM2148 emulation (MIDI in/out for Yamaha SFG modules)
1231
- added proper MC6850 emulation (MIDI in/out for Philips Music Module)
1232
- added emulation of FAC MIDI Interface
1233
- added emulation of Sensor Kid, ported from yayaMSX2SK, which is based on
1234
  Mr. Takeda's Common Source Code Project
1235
- added emulation of BeerIDE (experimental)
1236
- added many new machines: Canon V-25 (thanks to Rudi Westerhof), Canon V-8,
1237
  Fenner/Samsung SPC-800, Hitachi MB-H1, Toshiba HX-10D (thanks to Ricardo
1238
  Jurcyk Pinheiro), Canon V-10, Canon V-20 (JP), Spectravideo SVI-728 (ES),
1239
  Mitsubishi ML-TS2 (partly, it's still work-in-progress), Sony HB-101 (JP),
1240
  Sony HB-201 (JP), Sanyo MPC-6, Mitsubishi ML-F120 and ML-F110 and Hitachi
1241
  MB-H3 (thanks to Werner Kai) and Yamaha AX350IIF (thanks to Rudolf Gutlich)
1242
1243
New or improved emulator features:
1244
- added "too_fast_vram_access_callback": you can now run a Tcl script when the
1245
  running MSX software accesses VRAM too fast, e.g. break to debug
1246
- added display of 'movie length' in TAS mode. This is the length of your
1247
  'movie' if you upload it to tasvideos.org
1248
- added -triplesize to video recorder: allows creation of video files in
1249
  960x720 pixels, for which YouTube renders videos at 60 fps.
1250
- some fixes in keyboard mappings
1251
- fixed slow console when emulation speed is very low
1252
- add a snapshot 'near the end' to the OMR when saving it, allowing quicker
1253
  continuation of the replay after loading it
1254
- similarly, add snapshots when fast-forwarding to the target time, so they
1255
  can be used to jump back more quickly
1256
- show reverse bar in green when replaying in viewonly mode
1257
- added a converter from/to OMR to/from text, which allows you to more easily
1258
  edit the OMR outside of openMSX
1259
- improved implementation of 'auto-save' feature of replays: the setting will
1260
  now persist over openMSX sessions
1261
- added an OSD overlay for Metal Gear
1262
1263
Build system, packaging, documentation:
1264
- replace mingw32 build support with MinGW-w64 build support on Windows
1265
- updated our website and other URL's to point to http://openmsx.org/ or
1266
  GitHub
1267
1268
openMSX 0.11.0 (2014-11-08)
1269
---------------------------
1270
1271
This release brings you the following important new features: VDP access timing
1272
now also for MSX1 modes (corruption with too fast VRAM access will be visible
1273
now), implementation of most defailed differences between all used VDP chips
1274
and emulation of MegaFlashROM SCC+ SD.
1275
On top of that, there are some important (long standing) bug fixes, like the
1276
proper implementation of envelopes for MSX-AUDIO, fixing for example "Copy is
1277
Crime" by Impact.
1278
And last but not least, a lot of work was done under the bonnet, giving you
1279
even better performance and preparations for the future.
1280
1281
Here's the list with all highlights:
1282
1283
MSX device support:
1284
- VDP:
1285
  - implemented access timing also for character and text modes (both for MSX1
1286
    VDP's and V99x8): too fast VDP access will now cause corruption on openMSX
1287
    too
1288
  - added support for specific MSX1 VDP's (mostly thanks to hap for all the
1289
    research):
1290
    - the exact VDP type can now be specified in the config file
1291
    - differences between Toshiba T6950/T7937A, TMS99xx and TMS91xx MSX1 VDP's
1292
      are now emulated (except sprite cloning)
1293
    - updated many machine configs with the proper MSX1 VDP type (where known,
1294
      additions/corrections are welcome!)
1295
  - implemented that V99x8 does not support undocumented mixed modes
1296
  - fixed bug in 5/9th sprite detection status register
1297
  - added I/O port mirroring to machines of which we are certain it exists
1298
- MSX-AUDIO (Y8950) and related:
1299
  - fixed envelope for MSX-AUDIO (Y8950), the infamous legato-envelope bug is
1300
    now finally fixed!
1301
  - fixed handling of key-off for percussive tones
1302
  - fixed detection of Philips Music Module in Tetris II Special Edition
1303
- added emulation of MegaFlashROM SCC+ SD. Note: the implementation is such
1304
  that existing software works on it, but do not fully rely on it when
1305
  developing for this cartridge!
1306
- improved Sony HBI-55 emulation
1307
- fixed some details in several machine configurations
1308
- fixed KANA/CODE key not working in CHARACTER input mode
1309
- added the following machines: Daewoo CPC-51 Zemmix V, Daewoo CPC-300E,
1310
  Toshiba HX-51I, Yamaha YIS-503IIR, Toshiba FS-TM1, Sanyo MPC-10 (Wavy 10),
1311
  Yamaha CX5MII, Fujitsu FM-X (thanks to NYYRIKKI, Werner Kai, Maxim Vlasov and
1312
  Alex Krasivsky)
1313
- added the Casio KB-7 and KB-10 docking stations (note: these extensions only
1314
  work with the Casio PV-7 and MX-10 respectively; do not be worried
1315
  when they appear to be not working according to Catapult!)
1316
- added the MSX Acid Test machines, contributed by FRS
1317
- added the Gradiente CT-80E 80 column card extension, thanks to Maurício Braga
1318
1319
New or improved emulator features:
1320
- added de-flicker video filter via new 'deflicker' setting. Use this to remove
1321
  flickering in cases like the dvik demos where 105 colors are simulated on
1322
  MSX1 by alternating different native colors. It's disabled by default.
1323
- performance improvements:
1324
  - speed up execution of Tcl scripts
1325
  - many various other optimizations
1326
- fixed auto_enable_reverse (set/unset auto enabling reverse at startup)
1327
- rewrote most OpenGL 2 code to be more compatible with OpenGL ES
1328
- improved guessing of mapper type for 64kB ROMs
1329
- fixed a bug with watch_points affecting the execution flow
1330
- fixed corruption in XSA disk images
1331
- added NYYRIKKI's fast CAS loading/saving script, enable with setting the
1332
  'fast_cas_load_hack_enabled' setting to on
1333
- joysticks/controllers:
1334
  - added setting to configure dead zone for joysticks
1335
  - added support for joystick hats (can be used just like buttons)
1336
  - improved support in OSD menu (take deadzone into account)
1337
- added dir-as-disk support for the OSD menu
1338
- removed experimental libao sound driver
1339
- added support for R-ALT on Korean keyboard (thanks to Miso Kim)
1340
- TAS: added possibility to query the length of the current replay (defined as
1341
  the time stamp of the last input)
1342
1343
Build system, packaging, documentation:
1344
- even more use of C++11 features, when using gcc use 4.7 or higher
1345
- removed build dependency on libxml2
1346
- removed many/all unused features/libs from the build system
1347
- added support to cross compile with MinGW-w64 for (at least) 32 bit Windows
1348
  using Linux
1349
- cleaned up the stuff in the doc directory - you now get what we really wanted
1350
  you to get :)
1351
- changed packaging method to include stuff by default instead of exclude stuff
1352
  by default
1353
- fixed native compilation on mipsel
1354
- upgraded C-BIOS to release 0.27
1355
1356
openMSX 0.10.1 (2014-05-01)
1357
---------------------------
1358
1359
This release fixes mostly bugs we introduced with 0.10.0 or were already
1360
present for a bit longer... sorry for those, but most should be fixed now :)
1361
There are also some small but nice additions...
1362
1363
Here's the list with all highlights:
1364
1365
MSX device support:
1366
- fixed bug in YM2413 (FMPAC), that was audible in BPS Tetris
1367
- added Sharp/Epcom HB-4000 80 column cartridge extension
1368
1369
New or improved emulator features:
1370
- extended save_msx_screen script to take VDP(24) into acount
1371
- fixed crash on Visual Studio build when using wav files (e.g. in the
1372
  cassetteplayer)
1373
- fixed crash on 32-bit Visual Studio build when recording videos without
1374
  the -doublesize option
1375
- fixed crash on 32-bit Visual Studio build when using scale_factor 3 and SDL
1376
  renderer
1377
- fixed waves shown upside-down in the SCC Viewer OSD widget
1378
- fixed crash when loading a savestate that has JoyTap plugged in
1379
- performance improvements:
1380
  - several improvements that result in shorter start up time
1381
  - fixed reverse-performance when using hard disks
1382
- fixed handling of corrupt hardware configuration XML file
1383
- fixed crash when MSX with TC8566AF FDC (e.g. turboR) crashed
1384
- fixed possible hang up when reversing with harddisks
1385
- fixed Tcl error when changing horizontal stretch in OSD menu
1386
- fixed displaying of error messages on OSD
1387
- Mac OS X MIDI support:
1388
  - fixed MIDI output on Mac OS X (was not working for some applications)
1389
  - added support for running status
1390
  - added support for system realtime messages
1391
  - added support for MIDI in
1392
- fixed issues with on-screen-keyboard on Android 4.4
1393
- added default keybindings for controllers targeted at gaming
1394
- added mapping of B-control button to press CTRL or SHIFT in OSD keyboard
1395
- added fine grained control in which slots carts and extensions will end up
1396
- added support for single sided disk drives for dir-as-disk
1397
- added support for hard disk images to the OSD menu
1398
- added warning if ROM images with larger size than supported on real Konami
1399
  and Konami SCC mappers are used
1400
1401
Build system, packaging, documentation:
1402
- updated Windows build to Visual Studio 2013
1403
- made compilation faster by removing more than 250 unnecessary includes
1404
- even more use of C++11 features
1405
- upgraded Tcl to 8.5.15
1406
- added build support for 64-bit ARM
1407
- added 256x256 pixel openMSX logo image and use it e.g. for Mac OS X icon
1408
- fixed staticbindist build with more recent clang releases and for Mac OS 10.9
1409
  SDK
1410
- do not link against libraries in /usr/lib anymore on Mac OS X, only link
1411
  against frameworks. This enables to compile against the default SDK.
1412
1413
openMSX 0.10.0 (2014-01-05)
1414
---------------------------
1415
1416
This release adds many larger and smaller features, but most outstanding are:
1417
cycle accurate VDP command engine timing, an Android port, subdirectory support
1418
for dir-as-disk and Neos MA-20 support. These features meant a lot of work was
1419
done in practically all parts of the code (of which you can read the results in
1420
the complete list below), but at the same time we also freshened up much of the
1421
code using many of the new C++11 language features. All in all, it was time to
1422
release this stuff officially...
1423
1424
Here's the list with all highlights:
1425
1426
MSX device support:
1427
- accuracy improvements:
1428
  - improved TMS99X8/TMS9929 color palette
1429
  - improved V9990/GFX9000:
1430
    - VRAM reads go via 1-byte buffer
1431
    - VRAM read/write pointers only get updated when R#2 and R#5 get written
1432
    - fixed initial content of VRAM of GFX9000
1433
    - V9990 P1/P2 sprites that are disabled still count for the 16 sprite limit
1434
    - fixed roll behaviour of layer B in P1 mode
1435
  - turboR TC8566AF has other register memory mapping than other machines
1436
  - use correct Kanji font ROM for Victor HC-95A and removed S1985
1437
  - added cycle accurate VDP command engine timing (can be disabled with the
1438
    new too_fast_vram_access setting)
1439
  - fixes in YM2413 emulation (FMPAC)
1440
- added mapper support:
1441
  - MSXtra cartridge (a debugging tool released by PTC which has its own RAM)
1442
  - MultiROM Collection, designed by Manuel Pazos in 2006
1443
  - ASCII8 mapper with 2kB SRAM
1444
  - ASCII16 mapper with 8kB SRAM
1445
  - Super Swangi (a.k.a. Super Altered Beast)
1446
- added support for MSX touch pad
1447
- added mu-PACK extension, a MIDI module to upgrade a turboR ST to GT
1448
- added support for large hard disk images and LaserDisc images (>4GB)
1449
- added initial RAM patterns for Sony HB-F1XDJ and Sanyo PHC-23J
1450
- added support for Neos MA-20 Version Up Adapter (MSX1 to MSX2 converter),
1451
  insert both Neos_MA-20R and Neos_MA-20V extensions for this
1452
- fixed Toshiba MSX-AUDIO with no sample RAM
1453
- fixes in joystick, mouse and track ball emulation
1454
- minor fixes in Y8950 (MSX-AUDIO) and YMF262 (MoonSound)
1455
- added OPL3Cartridge2_mono and OPL3Cartridge2_stereo extensions
1456
- added Yamaha SFG-01 extension and replaced the SFG-05 with the SFG-01 in the
1457
  CX5M machine
1458
- added an experimental Boosted_MSXturboR with IDE machine config
1459
- added Casio PV-16, Casio P-7, Casio MX-10, Goldstar FC-80U and Sony HB-F1XV
1460
  machines and an experimental Zemmix Super V (Daewoo CPC-61) machine config
1461
1462
New or improved emulator features:
1463
- added subdirectory support for dir-as-disk
1464
- added configurable host to MSX joystick mapping, e.g. useful to bind the
1465
  crawl command (button A+B) in Metal Gear 2 to a single PC joystick button
1466
- added support for bash completion (useful for using openMSX on the bash
1467
  command line)
1468
- performance improvements:
1469
  - improved start-up performance (on Dingoo openMSX starts over 20% faster)
1470
  - reduced CPU overhead when enabling reverse
1471
  - further optimized CPU emulation
1472
  - sped up CAS loading (use 3744 baud instead of 2760 baud)
1473
  - reduce input latency (poll host events more often and remove delays)
1474
  - speed up reverse in combination with harddisk by using incremental hashing
1475
- reverse/TAS:
1476
  - added reverse subcommand to truncate the current replay
1477
  - show two decimals in the reverse bar time
1478
  - added setting to prevent the reversebar from fading out and made that the
1479
    behaviour in TAS mode
1480
  - added bookmarks feature to reverse bar
1481
  - added possibility to customize TAS key bindings in an external script
1482
  - added setting to auto save replays at intervals
1483
  - added command to reset the lag counter
1484
  - added commands to go to frame boundaries and advance/reverse to frame
1485
    boundaries
1486
  - show values of TAS widgets also in the middle of a frame
1487
- several improvements on the OSD menu:
1488
  - several improvements on the file browser
1489
  - better error handling
1490
  - only show media menu options that are relevant for the current machine
1491
    (e.g. do not show disk drives when the machine has none)
1492
  - added support for LaserDisc
1493
  - added a quit menu with confirmation
1494
  - added limitsprites setting
1495
  - added basic mouse/touch support, including:
1496
    - right click to close current menu
1497
    - support for scrollwheel of mouse to scroll in lists
1498
  - only show video options if they actually make sense
1499
  - added option to make current machine default (started when launching
1500
    openMSX)
1501
  - added resampler setting (for performance tuning)
1502
  - added detailed sound chip control (balance, volume, per channel mute)
1503
  - added possibility to browse to other drives on Windows
1504
  - added possibility to insert a new tape in the cassette player and made it
1505
    easy to browse to your newly created tapes
1506
  - added short cuts to browse to your file pools (if they contain stuff)
1507
  - added confirmation dialog before overwriting existing save states
1508
  - added feedback when executing actions like inserting disk, saving state
1509
- remove SSE and MMX assembly routines, only keep rewritten SSE2 routines
1510
- added interleaving with black frame for monitors with LightBoost support
1511
- added OSD widget that displays how busy the VDP is
1512
- enable grab on fullscreen (workaround for Mac issue)
1513
- added Cmd+I hotkey to press Insert key on Mac
1514
1515
Build system, packaging, documentation:
1516
- created Android port (available via Google Play)
1517
- migrated to git
1518
- updated Windows build to Visual Studio 2012 update 3
1519
- prepare for Visual Studio 2013 (next release will be built with it)
1520
- now a compiler which supports C++11 is required to compile openMSX, like g++
1521
  4.6, clang 3.0 or Microsoft Visual Studio 2012
1522
- integrated Dingoo packaging in the build system
1523
- better support for 64 bit systems (sizes, memory, etc.)
1524
- added document about details on VDP command engine timing
1525
- changed machine configurations from specific directories to just an XML file
1526
- removed the GP2X port
1527
- Mac support is now limited to Mac OS X 10.7 (so 64-bit only) and higher
1528
1529
openMSX 0.9.1 (2012-09-30)
1530
--------------------------
1531
1532
This release mostly fixes a bug in dir-as-disk that was introduced in openMSX
1533
0.9.0, when adding support for the DMK format and low level disk emulation. We
1534
not only fixed that bug, we rewrote dir-as-disk almost completely, making it a
1535
lot more robust.
1536
1537
Here's the list with all highlights:
1538
1539
MSX device support:
1540
- Accuracy improvements:
1541
  - improved some details on the laserdisc emulation
1542
  - improved timing of the VDP LINE command (thanks to NYYRIKKI for the ideas)
1543
- added Toshiba HX-21, Toshiba HX-22 and Toshiba HX-22I. The latter two have a
1544
  switchable RS-232C interface (use the new toshiba_rs232c_switch setting)
1545
1546
New or improved emulator features:
1547
- fixed crash with fast resampler and 8192 samples
1548
- dir-As-Disk:
1549
  - dir-as-disk works properly again and is now a lot more robust
1550
  - improve error reporting when something goes wrong
1551
- console support/scripts:
1552
  - added script to save current screen to file in MSX loadable format, thanks
1553
    to NYYRIKKI
1554
- performance improvements:
1555
  - improved console rendering speed (uses less CPU)
1556
  - improved Tcl integration
1557
  - speed up low level disk emulation
1558
  - optimized rendering of superimposed modes (Video9000, laserdisc)
1559
  - several other performance improvements
1560
1561
Build system, packaging, documentation:
1562
- Added build support for DragonFly BSD, thanks to John Marino
1563
1564
openMSX 0.9.0 (2012-08-12)
1565
--------------------------
1566
1567
This release improves a lot on accuracy of floppy support, especially by the
1568
introduction of support for the DMK format. This means it should be possible to
1569
run all MSX disk software without patching it.
1570
1571
Furthermore, our efforts to improve performance has some results: start up time
1572
has almost halved on a Dingoo A320!
1573
1574
Here's the list with all highlights:
1575
1576
MSX device support:
1577
- Bug fixes:
1578
  - overscan: 512x512 demo by NYYRIKKI and Don't Cock It Up by Matra now work
1579
  - cursor order in B-modes of GFX9000
1580
  - several small issues in existing MSX machine configurations
1581
  - broken border rendering on ARM CPU's
1582
  - 2nd drive detection on National machines
1583
  - detail in MSX-AUDIO that prevented proper detection in MSX-AUDIO BIOS 1.3
1584
- Accuracy improvements:
1585
  - much improved accuracy for Floppy Drive Controllers (mostly WD2793 and
1586
    alike)
1587
  - added support for delayed motor off for disk drives, as in real machines
1588
    implemented by the CXD1032 chip
1589
  - disk drive rotation is now correct
1590
  - added support for persistency of S1985 back-up RAM
1591
  - added support for specifying the initial content of RAM and VRAM. Fixing
1592
    this for the Philips MSX2's shows why Cas Cremers never noticed a bug in
1593
    Akin, causing white pixels on the screen
1594
- Added initial support for Video9000:
1595
  - new extension, which gives a new Video9000 videosource
1596
  - the Video9000 can display the GFX9000 output superimposed over the normal
1597
    VDP. Software which writes to I/O port 0x6F when a Video9000 is connected
1598
    will make sure the right video signal is displayed. This is now emulated.
1599
    So, use the video9000 extension instead of the gfx9000 extension to benefit
1600
    from Video 9000 aware MSX software!
1601
  - added video recording for Video9000 videosource
1602
- Added support for the FDC connection style of the Victor HC-9x
1603
- Added support for several floppy drive extensions: Sanyo MFD-001, Mitsubishi
1604
  ML-30DC/ML-30FD, Talent DPF-550, AVT DPF-550, Philips NMS 1200
1605
- Added Spanish Mitsubishi ML-G1, Spanish Mitsubishi ML-G3, Japanese Sony HB-10
1606
  and Talent TPC-310 machines
1607
1608
New or improved emulator features:
1609
- MSX developer features:
1610
  - more mappers now have a romblocks debuggable
1611
  - added several new procs for break point conditions: address_in_slot,
1612
    watch_in_slot
1613
  - you can now have breakpoints and watchpoints anywhere in a MegaROM
1614
  - previously hardcoded warnings for invalid PSG directions and di;halt
1615
    detection are now a Tcl callback, which means you can e.g. let openMSX go
1616
    into a break point when they occur, or disable them altogether
1617
  - save_debuggable can now also save part of a debuggable
1618
- Console support/scripts:
1619
  - added type command that can type from file and a special version with
1620
    offset to type passwords)
1621
  - added syntax highlighting for Tcl in the console
1622
  - show errors in the console in red
1623
  - implemented tab-completion for nested Tcl commands
1624
- OSD menu improvements:
1625
  - list of machines and extensions are now sorted alphabetically
1626
  - file lists are now filtered on extension case insensitively
1627
- Performance improvements:
1628
  - OSD
1629
  - start-up time
1630
  - several scripts (reverse bar a.o.)
1631
- Miscellaneous:
1632
  - guess_title script is now a lot better and is used to generate file names
1633
    if no file name was given (e.g. to screenshots)
1634
  - reverse bar has now even clearer colors to reflect recording (red) and
1635
    replaying state
1636
  - don't print an error when an initial CMOS/SRAM file isn't found
1637
  - enable auto-run for cassettes by default
1638
  - show an error message when using harddisk images larger than 2GB, because
1639
    that is currently not properly supported
1640
  - show progress on calculating SHA1 sum of large harddisk images
1641
  - additional files for ROMs (like samples for Playball) can now also be in
1642
    the same directory as the ROM file
1643
1644
Build system, packaging, documentation:
1645
- Upgraded 3rd party libraries
1646
- Removed support for PPC on Mac and added build support for clang, which is
1647
  also our new default compiler for Mac OS X
1648
- Added several utilities for DMK support: dumping tool, analyzing tool,
1649
  creation tool and conversion tools
1650
- First step in phasing out the roms/ directories: removed them (including
1651
  SHA1SUMS file which was redundant with the hardwareconfig.xml files) and new
1652
  configs do not use the path with roms/ anymore; use the systemroms pool
1653
  instead
1654
1655
openMSX 0.8.2 (2012-01-25)
1656
--------------------------
1657
1658
This is mostly a bug fix release with some small improvements.
1659
1660
Here's the list with all highlights:
1661
1662
MSX device support:
1663
- Bug fixes:
1664
  - (regression) sprite colors in screen 7/8 (visible in Ikari for instance)
1665
  - VDP emulation bug, which was visible in Psycho World's 3x3 power up matrix
1666
  - Y8950 (MSX-AUDIO) when using NOP Real Motion
1667
  - MoonSound FM 4op mode
1668
  - crash in YM2151 (in Yamaha CX5M)
1669
  - sample playing in Nettou Yakyuu
1670
  - several small issues in existing MSX machine configurations
1671
- Accuracy improvements:
1672
  - MSX-MUSIC (YM2413 (Okazaki)): implemented SETTLE (or DUMP) phase
1673
  - MoonSound (YMF278): fixed x-tal frequency and some other details
1674
  - GFX9000: added basic support for set adjust registers
1675
- Added support for several laserdisc features to be able to run the Lascommate
1676
  Junior High School Mathematics LD's, including a dummy Lascom Kanji cartridge
1677
  implementation
1678
- Added emulation of the following mapper types:
1679
  - Baby Dinosaur Dooly
1680
  - Manbow 2 2nd release
1681
  - Best of Hamaraja Night
1682
- Added emulation of memory based I/O for MSX RS-232C, making emulation of Sony
1683
  HBI-232 possible
1684
- Added Sony HB-F9S and Sony HB-G900P machine
1685
- Added support for JoyMega: Mega Drive joy pad with 6 buttons
1686
1687
New or improved emulator features:
1688
- Video output:
1689
  - Faster laserdisc rendering
1690
  - Added horizontal stretch for SDL renderer (useful for Dingoo for instance).
1691
    As horizontal stretching is enabled by default, the CPU usage of openMSX
1692
    when using the SDL renderer will now be higher than before. Set
1693
    horizontal_stretch to 320 to disable it and gain some performance (but have
1694
    a less accurate aspect ratio of the screen).
1695
- Sound generation:
1696
  - Sync sound to EmuTime (greatly improves sample playback in e.g. Real Motion
1697
    and TRAX Player
1698
  - Added new sound driver based on libao
1699
  - Fixed sound quality of blip resampler
1700
- MSX developer features:
1701
  - Added vdpcmdinprogress_callback setting, which can be used to trigger a
1702
    script when a write to the VDP command engine registers is detected while
1703
    there is still a VDP command in progress.
1704
  - Fixed memory usage issue when using step_back (e.g. via debugger)
1705
  - Greatly improved performance for step_back
1706
  - Fixed bug with watchpoints that triggered too late sometimes
1707
- Command line options/support:
1708
  - Added recognition of .tcl extension as extra start up scripts
1709
  - Fixed recognition of OMR/OMS files which were re-gzipped
1710
  - Added command line option -replay to load and view a replay and also
1711
    support dropping replays (OMR files) on openMSX to view them
1712
  - Added command line option -savestate to load a savestate and also support
1713
    dropping savestates (OMS files) on openMSX to view them
1714
- OSD menu improvements (mostly useful for hand held users):
1715
  - added connector submenu
1716
  - added support for running tapes
1717
  - added support for horizontal stretch setting
1718
- Joystick support:
1719
  - Allow joystick axis motion events to be bound, as the manual promises
1720
  - Made real joystick support a bit more flexible: read all axes
1721
- Channel recorder:
1722
  - Fixed record_channels command to record to the soundlogs directory
1723
  - Added option to record all channels of all sound chips with record_channels
1724
- Platform specific improvements:
1725
  - Fix Caps lock behaviour on Mac OS X
1726
  - Add support for MIDI output to a virtual endpoint for Mac OS X
1727
- Comfortable machine configurations:
1728
  - Added new fantasy machine: Boosted MSX2+ JP, based on Panasonic FS-A1WSX
1729
  - Added basic compiler to Boosted MSX2 EN
1730
- Miscellaneous:
1731
  - Updated all scripts to make full use of Tcl 8.5 (and clean them up in the
1732
    process) to improve performance
1733
  - Support in the hardware config XML format for using a single ROM image (i.e.
1734
    a physical (EP)ROM dump) which is used by several devices
1735
  - Make PgUp/PgDn reverse step depend on the speed setting
1736
  - Reverse bar now indicates recording (red) and replaying state
1737
  - The 'about' console command can now also be used to find settings
1738
  - Fixed 64k ROM mapper detection
1739
1740
Build system, packaging, documentation:
1741
- Upgraded Tcl dependency to Tcl 8.5
1742
- Upgraded 3rd party libs
1743
- Optional additional dependency on libao
1744
- Added support for the Clang compiler
1745
- Make our ARM inline asm routines compile in Thumb2 mode
1746
- Moved Dingux port to OpenDingux: openMSX now only compiles for OpenDingux
1747
- Added lto flavour to enable Link-Time Optimization
1748
1749
openMSX 0.8.1 (2011-03-12)
1750
--------------------------
1751
1752
This release builds on the previous one, in the sense that we worked out the
1753
features a little more. We added a lot of scripts to help you with Tool
1754
Assisted Speedruns (TAS), one of the reasons openMSX got officially approved as
1755
a TAS capable emulator on TASvideos.org. The reverse feature also got some
1756
updates while doing this.
1757
For the rest, this release does a lot of smaller fixes and additions, see the
1758
list below.
1759
1760
Here's the list with all highlights:
1761
1762
New or improved emulator features:
1763
- Quite complete support for TAS (see http://www.tasvideos.org/)
1764
  - TAS mode with many TAS widgets activated automatically
1765
  - extended tools: keyboard view per frame, frame reverse/advance, robust
1766
    frame counter, save slot mechanism, RAM watch, etc.
1767
- Updates on reverse (and related features):
1768
  - enabled by default now (except on Dingoo)
1769
  - changed (default) extensions of replays and savestates to OMR and OMS
1770
    respectively
1771
  - added a view only mode to the reverse feature (watch replays without
1772
    interrupting them)
1773
  - replays now usually contain multiple snapshots, so you can quickly jump
1774
    around in a just loaded replay (e.g. to the end!)
1775
  - huge performance improvements when loading replays/savestates
1776
  - added filepools to put your software files in; when loading a replay with a
1777
    file which is not available, openMSX will scan the filepools: default
1778
    location is share/software
1779
  - added hover with time indicator on reverse bar
1780
  - fixed bug when using DirAsDisk in combination with reverse
1781
  - added step_back function: while debugging step back one instruction
1782
- Added info topic to query VDP timing information
1783
- Fixed saving of replays, screenshots, etc., when the directory wasn't
1784
  available yet
1785
- Fixed bug in per-soundchip-channel audio recording
1786
- Fixed auto stereo recording for mbstereo-like configurations (was done in
1787
  mono)
1788
- OSD:
1789
  - Show warning/error messages that were previously only shown on
1790
    standard-output in an OSD text box
1791
  - Added gradients for rectangles to make the OSD look more polished
1792
  - Added border property to OSD rectangle
1793
- Added script to find cases of too fast VDP access (of which the consequences
1794
  are not emulated)
1795
- Added setting to disable sprites and option to make screenshot without
1796
  sprites (especially useful for map makers!)
1797
- Added script to record movies in multiple files, especially useful for
1798
  YouTube (record_chunks)
1799
- Replaced automatic printing of ROM info (from the software database) with a
1800
  command to get the info on demand (rom_info)
1801
- Automatically plug in real joysticks into the MSX
1802
- Several performance improvements to several toys scripts
1803
1804
MSX device support:
1805
- Fixed accuracy of mouse emulation
1806
- Fixed bug in sprite collision detection (sprites can't collide in the border)
1807
- Better support for keyboard of Brazilian MSX machines
1808
- Don't emulate Yes/No keys on machines that don't have them
1809
- Accuracy improvements:
1810
  - (minor) fixes in MSX-AUDIO, YM2413 (Okazaki) and R800 emulation
1811
- Added emulation of the Mega Flash ROM SCC+ and ASCII Japanese MSX-DOS2
1812
- Added emulation of seek delay, head-load and rotational delay on TC8566AF
1813
  based disk drives
1814
- Added Sony HB-F5 and CIEL Expert Turbo machine
1815
1816
Build system, packaging, documentation:
1817
- Updates of libraries used in the static builds
1818
- Windows binary built with Visual Studio 2010
1819
- Basic (experimental) support for cross compilation of Windows 32 bit binaries
1820
  from Linux (using MinGW)
1821
- Updated C-BIOS to 0.25, with support for various localized machines
1822
1823
openMSX 0.8.0 (2010-06-02)
1824
--------------------------
1825
1826
This release brings you two major new features: reverse and Laserdisc. Reverse
1827
is similar to what you can do in meisei: you can 'rewind' time with your finger
1828
tip, to correct game playing mistakes or inspect what caused a crash. Laserdisc
1829
is the Palcom system introduced by Pioneer in 1984: now you can play all the
1830
Palcom MSX Laserdisc games in openMSX!
1831
1832
For the rest we have mostly fixed smaller issues and added smaller features
1833
(see below). Here's the list with all highlights:
1834
1835
New or improved emulator features:
1836
- Added reverse: go back in time to correct mistakes or replay your actions
1837
  (use PgUp and PgDn to control, enable visualization of this feature with this
1838
  console command: set auto_enable_reverse gui). For more information on usage,
1839
  please see the (links in the) FAQ of the manual.
1840
- Debugging:
1841
  - added information on last address/value written which triggered watch point
1842
  - added several new debuggables: keymatrix, joystick ports, romblock
1843
- Windows unicode fixes
1844
- Added possibility to link to Generation MSX from within scripts
1845
- Various internal code cleanups
1846
- Better SDLGL-PP TV scaler, sensitive to scanline setting
1847
- Many speed and code size optimizations, developed in the context for the
1848
  Dingoo port
1849
- Renamed "update" command to "openmsx_update" to avoid conflicts with the
1850
  native Tcl command
1851
- Various tweaks to OSD menu: new colors (thanks Wolf), save states show date,
1852
  toys menu, ...
1853
- Added new icon skin especially made for handhelds
1854
- Added OSD virtual keyboard (only international QWERTY layout for now) for
1855
  devices without keyboard
1856
- Added OSD mouse support, you can now easily create drag and drop of MSX
1857
  objects, for instance
1858
- New scripts that demonstrate the OSD framework:
1859
  - experimental OSD script for tabbed MSXing (controllable from OSD menu)
1860
  - music keyboard (visualize notes of sound chips)
1861
  - SCC editor (edit SCC wave forms)
1862
- Experimental (still primitive) support for TAS (http://tasvideos.org/)
1863
1864
MSX device support:
1865
- Added emulation of Palcom Laserdisc games on the Pioneer PX-7/PX-V60 (note:
1866
  not visible in screenshots and video recording yet)
1867
- Added support for balance per channel, including support for the "stereo"
1868
  effect of the FM Stereo PAK and the stereo PSG of the Pioneer PX-7
1869
- Added new mapper: Arc
1870
- Accuracy improvements:
1871
  - minor fixes in V99x8, V9990, YM2413 and YMF278 emulation
1872
- Added emulation of the trackball (thanks n_n)
1873
1874
Build system, packaging, documentation:
1875
- Added platform/CPU support for: PA-RISC, Dingoo, SuperH, Nokia N900/Maemo,
1876
  MacOSX 10.6 / 64-bit, GNU/kFreeBSD, Atmel AVR32
1877
- For Laserdisc support (which is optional), added dependency on libogg,
1878
  libvorbis and libtheora
1879
- Removed dependency on SDL_image
1880
1881
1882
openMSX 0.7.2 (2009-06-30)
1883
--------------------------
1884
1885
This is a quick fix for the 0.7.1 release. Due to a small bug in a Tcl script,
1886
openMSX wasn't able to load savestates with paths that contain spaces, which is
1887
the most common case on standard Windows installations. 0.7.2 fixes that.
1888
1889
openMSX 0.7.1 (2009-06-28)
1890
--------------------------
1891
1892
This release comes mostly with good news for Windows users: we have a brand new
1893
installer with binaries which have been created in a brand new way, using
1894
Microsoft Visual C++ 2008. This means smaller binaries and also support for
1895
64-bit Windows operating systems. Also, several long standing problems have
1896
been fixed in the Windows release of openMSX. E.g., it now includes full
1897
support for unicode!
1898
1899
For the rest we have mostly fixed smaller issues (see below) and added some
1900
cool demonstrations of what one can do with the combination of (Tcl) scripting,
1901
the debug command and the OSD.
1902
1903
New or improved emulator features:
1904
- Removed buggy SDLGL renderer (instead use SDLGL-PP)
1905
- Debugging:
1906
  - implemented step_out
1907
  - implemented skip_instruction
1908
  - implemented general debug conditions (not bound to addresses anymore, but
1909
    note: this is very CPU intensive!)
1910
- Speed optimizations in the CPU emulation
1911
- Console now uses TrueType fonts, and can display localized text now (as long
1912
  as the characters are in the used font), in other words: it supports unicode
1913
- Optimizations in ZMBV encoding cause openMSX video recordings to become
1914
  smaller and the encoding to be faster
1915
- As is default in fMSX, it is now possible to automatically pause openMSX when
1916
  the mouse pointer leaves the openMSX window (not enabled by default)
1917
- Added icons in the OSD for 'pause', 'full throttle', 'debug break' and 'mute'
1918
  status
1919
- Added several improvements on the OSD, regarding features, bug fixes and speed
1920
- Fixed some long standing bugs on Windows:
1921
  - ALT-SPACE no longer pops up a context window
1922
  - Unicode is now fully supported (e.g, no more problems with localized
1923
    versions of Windows). Note: this means openMSX requires Windows 2000 or
1924
    higher as of this release.
1925
  - socket communication (e.g. with the openMSX debugger) is secure now. This
1926
    does mean that older builds of the openMSX debugger will not work anymore
1927
    with this openMSX release, you need an updated build!
1928
- Added the possibility to include OSD elements in screenshots, which are now
1929
  no longer included by default (e.g. typing screenshot in the console no longer
1930
  shows the console in the screenshot)
1931
- Added some scripts that demonstrate the OSD framework:
1932
  - vu_meters: shows graphical VU meters for each channel of each sound chip in
1933
    the currently emulated MSX
1934
  - scc_viewer: shows current waveform and volume of the SCC channels
1935
  - mog_overlay: help and extra information when playing The Maze of Galious
1936
  - info_panel: a general information panel, similar to the DIGIblue v2 theme
1937
    of blueMSX
1938
1939
MSX device support:
1940
- Several new machines were added, e.g. Sony HB-F700P, Panasonic CF-2700
1941
  (German), Talent DPC-200 (Argentinian), Yamaha CX5M, Sanyo PHC-28L, Sanyo
1942
  PHC-28S, Yamaha YIS-503F, Sanyo MPC-25FD (thanks jltursan)
1943
- Added Sharp HB-3600 dual disk drive
1944
- Accuracy improvements:
1945
  - Added difference between AY8910 and YM2149 PSG's when reading registers
1946
  - Z80: added 'ld a,i' quirk
1947
  - V99x8:
1948
    - implemented sprite collision coordinate status registers
1949
    - fixed detail of LINE command (fixing one problem in Syntax Infinity)
1950
    - implemented VR bit (fixing another problem in Syntax Infinity)
1951
  - Added a memory mirror device to properly emulate the Sony HB-10P
1952
- Fixed sound quality regression in YM2413 emulation
1953
- Fixed very long standing bug in vblank interrupt timing, resolving many
1954
  problems like the Zanac title screen, Adonis music speed, Galaga slowdowns,
1955
  Penguin Adventure start up, ...
1956
- Added emulation of Nowind (mostly useful for Nowind firmware developers)
1957
- Added emulation of the Arkanoid pad, using the mouse
1958
1959
Build system, packaging, documentation:
1960
- Build support for Microsoft Visual C++ on Windows. As a result, we have
1961
  smaller binaries for Win32 and we now also have support for 64-bit Windows.
1962
- New installer based on WiX on Windows
1963
- Added a super-opt flavour which does the most aggressive optimizations. This
1964
  includes using "computed gotos" in the CPU code (which speeds it up by
1965
  roughly 10%), but may need 1GB of RAM at compile time.
1966
- Added support for Hurd operating systems (tested on Debian GNU/Hurd)
1967
- Converted (most of) the build system to Python, so that it is a lot better
1968
  maintainable and the Visual C++ build can also make use of it. Python (> 2.4
1969
  but < 3.0) is now required to compile openMSX.
1970
1971
openMSX 0.7.0 (2009-01-07)
1972
--------------------------
1973
1974
This release contains several exciting new features, clearing some long standing
1975
feature requests! The most important one of all is that we have implemented save
1976
states! It took us a while to think of a way to implement it without having some
1977
disadvantages you could have with some other emulators. The biggest one is
1978
backwards compatibility. Our system is designed in such way that it is able to
1979
cope with older save states in future releases. So, you don't have to be afraid
1980
to upgrade to a new version of openMSX: your save states will remain usable!
1981
1982
Another big feature is the heavily improved keyboard support. In previous
1983
releases it was always a bit of an annoyance to work with emulated MSX machines
1984
which have a different keyboard layout than your host computer. E.g. using an
1985
MSX turboR, which has a Japanese keyboard, on a PC with a US-English keyboard
1986
was very annoying, as the characters that appear on the screen do not match the
1987
ones you typed on your PC keyboard. This problem has now been solved and you can
1988
use any combination of host computer keyboard and emulated MSX machine, without
1989
getting the wrong characters on the MSX screen.
1990
1991
Full transparent dir-as-disk support has also been a long standing feature
1992
request. Well, it's here! Dir-as-disk now behaves as you might expect: any
1993
change on either the host or the MSX side is reflected on the other side
1994
immediately. This could help a lot for cross-platform development.
1995
1996
Before we give you the list with details, we want to thank hap, the author of
1997
meisei, for helping us out with some of the features below; you might recognize
1998
them from his recent meisei releases.
1999
2000
New or improved emulator features:
2001
- Save states (keyboard short cuts: ALT-F7 or Cmd+R to quick-load and
2002
  ALT-F8 or Cmd-S to quick-save your state):
2003
  - Exchangeable between different host machines, OSes, platforms
2004
  - Designed to be forwards-compatible, i.e. they will work with future openMSX
2005
    releases
2006
  - As a side effect it is now possible to have multiple emulated MSX machines
2007
    in memory (comparable with tabbed browsing)
2008
- Fully automatic host-MSX keyboard mapping (enabled by default), support for
2009
  MSX keyboards of type: de, es, fr, gb, int, jp_ansi, jp_jis, kr, proto_fr
2010
  (e.g. French Philips VG 8010), proto_int (Philips VG 8010), ru
2011
- Fully transparent dir as disk (by default)
2012
- Debugging:
2013
  - It's now possible to break on changes of the IRQ lines: the global Z80 IRQ
2014
    input but also specific per-device IRQ outputs ("debug probe" command)
2015
  - Made more devices 'debuggable'
2016
  - Simplified usage of the 'debug device'
2017
- Recording movies in higher resolution: 640x480 using the "-doublesize" option
2018
- Major speed optimizations:
2019
  - Z80 and R800 emulation
2020
  - V99x8: command-engine, bitmap and sprite rendering
2021
  - SCC, YM2413, AY8910 and sound mixing in general
2022
  - rewrote some critical routines in x86 or ARM assembly
2023
  As a result most MSX1 and MSX2 software now runs realtime on a ARM9 200MHz
2024
  CPU, which you can find e.g. in a GP2X handheld console.
2025
- Screenshots can now be made of the MSX screen only (using the "-msxonly"
2026
  option)
2027
- Added an On-Screen-Display (OSD) framework, which will be useful to control
2028
  openMSX in full screen mode and especially on hand held machines like the
2029
  GP2X. There is already a proof-of-concept OSD available, which can be
2030
  accessed by pressing the MENU (or Cmd+O) key. Note that this is still an
2031
  experimental feature! Feedback is most welcome, of course.
2032
- Amount of horizontal stretch can be tweaked by the user (horizontal_stretch
2033
  setting)
2034
2035
MSX device support:
2036
- Support for new mapper types: Nettou Yakyuu (with sample ROM, for Moero!!
2037
  Nettou Yakyuu '88), MatraInk (for Ink), Manbow2 (for Manbow 2),
2038
  MegaFlashRomScc (for new MegaFlashROM SCC extension)
2039
- Several new machines were added, e.g. Philips VG 8000, Philips VG 8010 (also
2040
  French version), Philips VG 8020/19, Sony HB-10P, Sony HB-20P, Sony HB-55P
2041
- Added Brazilian OPL3 Cartridge
2042
- Major accuracy improvements:
2043
  - turboR: extra wait cycle when accessing VDP
2044
  - Z80:
2045
    - more accurate IRQ timing
2046
    - fixed some undocumented flag behaviour (not caught by zexall)
2047
    - implemented differences between turboR-Z80 and normal Z80 (SCF and CCF)
2048
  - R800:
2049
    - more accurate timing (correct page break behaviour)
2050
    - more accurate flags (rexall passes now)
2051
  - SCC:
2052
    - fixes in rotation mode
2053
    - corrected power-on state
2054
  - V99x8:
2055
    - implemented VRAM remapping (register R#1, bit7)
2056
    - implemented blink in bitmap mode
2057
  - V9990:
2058
    - much improved command timing
2059
    - bug fixes in command handling
2060
    - fixed vertical scroll details (in combination with screen splits)
2061
  - MSX-AUDIO: various fixes for the different MSX-AUDIO variants
2062
  - PSG: emulate joystick input pin 6/7 mask quirk
2063
  - more accurate 'HarryFox' and 'CrossBlaim' mapper types
2064
2065
Build system, packaging, documentation:
2066
- Mostly updated support for building a statically linked executable on Windows.
2067
2068
openMSX 0.6.3 (2007-12-09)
2069
--------------------------
2070
2071
This release contains several new features and improvements related to sound.
2072
All sound chips are emulated at their native frequency and resampled using
2073
advanced resampling techniques to the desired output frequency (typically
2074
44.1 kHz). The advanced resamplers improve the sound quality a lot, because
2075
they are free of aliasing distortions.
2076
2077
There are three resamplers you can choose from: "fast", which produces
2078
approximately the same results as previous openMSX releases, "blip", which
2079
produces better sound and is still quite fast and "hq", which produces the best
2080
sound but takes a lot of CPU power. Since the quality difference between "blip"
2081
and "hq" is very small and the speed difference quite large, "blip" is the
2082
recommended resampler and the new default. Many thanks to Blargg, the author of
2083
Blip_Buffer, not only for the code but also for explaining the principles
2084
behind it.
2085
2086
More sound related improvements include stereo balance settings for each sound
2087
chip and the ability to record individual channels of sound chips. For PSG we
2088
even introduced some sound effects: vibrato and detune can be enabled to get a
2089
fatter sound. Try this in Penguin Adventure!
2090
2091
Thanks to the blueMSX Team, we were able to quickly bring some new features:
2092
emulation of the VLM5030, the sample chip used in the unreleased Konami game
2093
Keyboard Master and emulation of the synthesis part of the Yamaha SFG-05 sound
2094
module (keyboard and MIDI support is still missing).
2095
2096
Also on the non-sound department, the code of the blueMSX Team enabled us to
2097
add some new features: Gouda SCSI, MEGA-SCSI, ESE RAM, ESE SCC and WAVE SCSI.
2098
Note that the SCSI emulation is still experimental, so make sure you don't use
2099
it to store data of which you don't have recent backups.
2100
2101
Last but not least: a lock-up bug was removed from the Windows version, which
2102
could occur on dual core and hyperthreading CPU's.
2103
2104
New or improved emulator features:
2105
- SDLGL-PP renderer (OpenGL 2.0) can now do RGBTriplet scaling in hardware.
2106
- Several resampling algorithms now available: hq, blip and fast; the first two
2107
  eliminate aliasing.
2108
- Channels of sound chips can be individually recorded and muted.
2109
- Sound chips now have a stereo balance setting instead of a mode (left, right,
2110
  mono). Because of this, the <sounddevice>_mode settings have been replaced by
2111
  <sounddevice>_balance settings.
2112
- PSG sound effects: vibrato and detune.
2113
  You can use the new "psg_profile" command to select known good combinations,
2114
  or experiment wiht the PSG_vibrato_percent, PSG_vibrato_frequency,
2115
  PSG_detune_percent and PSG_detune_frequency settings directly.
2116
  Thanks to Wolf for the idea and his feedback on experiments.
2117
- Several small optimizations, mostly in SDLGL-PP renderer and CPU emulation.
2118
2119
MSX device support:
2120
- Partial support for Yamaha SFG-05 (only the YM2151, no keyboard and MIDI).
2121
- Support for the VLM5030 in Konami's Keyboard Master.
2122
- Improved accuracy in SCC emulation.
2123
- Support for ESE devices: MEGA SCSI, ESE RAM, ESE SCC, WAVE-SCSI.
2124
- Support for Gouda/Novaxis SCSI.
2125
- Support for password cartridge.
2126
- Support for the Super Lode Runner mapper.
2127
- Real support for the Halnote mapper. Thanks to the blueMSX team.
2128
2129
Build system, packaging, documentation:
2130
- Added support for building a statically linked executable on Windows.
2131
- Added support for building a backwards compatible executable on Mac OS X
2132
  10.5 (Leopard). Thanks to BouKiCHi.
2133
- Added support for DESTDIR, which should help packagers.
2134
2135
openMSX 0.6.2 (2007-04-15)
2136
--------------------------
2137
2138
This release contains several new features and many bug fixes and optimizations.
2139
2140
The main new feature is the addition of the video recorder. It enables you to
2141
record videos, including sound, of what you are doing with your emulated MSX.
2142
Thanks to the DosBox Team for their great ZMBV lossless video codec.
2143
2144
The most noticeable speed optimizations are in the rendering: the SDLGL-PP
2145
renderer can be up to 50% faster and the SDL renderer is about 6% faster. If
2146
you were having problems with speed, give this release a try.
2147
2148
The trainers that are shipped with openMSX are now a lot more user friendly. It
2149
is possible to enable or disable individual cheats of a trained game.
2150
2151
Bug fixes in the PSG and SCC, as well as a new way of sample rate conversion,
2152
result in the PSG and SCC sounding very much like the real MSX now.
2153
2154
New or improved emulator features:
2155
- Video recording and improved sound recording (stutterless).
2156
- SDLGL-PP renderer (OpenGL 2.0) can do hq and hqlite scaling in hardware.
2157
- More usable trainers.
2158
- Extended hot keys: you can now bind any host event to a TCL command, which
2159
  means you can e.g. let openMSX push the MSX F1 key if you press a certain
2160
  button on your PC game pad.
2161
- Event recording and replaying (experimental for now: only available at
2162
  command line, recorded session starts when openMSX starts).
2163
- Debugger now supports watchpoint regions.
2164
2165
MSX device support:
2166
- V9990 enhancements: deinterlace, cursor Y position in overscan mode, huge
2167
  speed optimizations for P modes.
2168
- SCC sound quality improvements (no more aliasing).
2169
- Support for the Playball mapper (and samples).
2170
- Fixed mirroring of some FDC registers and diskROMs.
2171
- Dot matrix graphical printer emulation added (thanks to the blueMSX Team).
2172
- Cassetteplayer recognizes end of tape and stops.
2173
- Small bug fixes in various devices: MSX-Audio, V9990, VDP, SCC, PSG, TC8566AF.
2174
- Various speed optimizations: VDP command engine, Z80, video rendering, V9990,
2175
  debugger response time in break mode.
2176
- Added a few Arabic MSX machines, but note that they have not been verified
2177
  to be correct.
2178
2179
Build system, packaging, documentation:
2180
- Added support for building an application folder on Mac OS X.
2181
- Added support for building a universal binary for Mac OS X.
2182
- HTML-ized the Console Command Reference and the diskmanipulator documentation.
2183
  There is now also linking to these new manuals, which improved the usefulness
2184
  of them a lot.
2185
- Added a text document about how developers can control openMSX from their own
2186
  application: doc/openmsx-control-xml.txt.
2187
2188
openMSX 0.6.1 (2006-07-30)
2189
--------------------------
2190
2191
This release includes major internal changes, although many are not visible
2192
from the outside.
2193
2194
It is now possible to switch from one MSX machine to another while openMSX is
2195
running. This will reset the MSX of course.
2196
2197
Also, it is possible to insert or remove cartridges (extensions or game ROMs)
2198
while openMSX is running. This does not reset the MSX, but the MSX system was
2199
not designed to support insertion or removal of cartridges while the machine is
2200
on. Although doing so will not damage openMSX (unlike a real MSX), it is
2201
possible the MSX will hang if hardware is removed that was being used, or that
2202
newly inserted hardware will not function properly until you reset the MSX.
2203
2204
A new advanced video renderer was added: SDLGL-PP. This renderer requires
2205
OpenGL 2.0 and uses pixel shaders to postprocess the image. For new video cards,
2206
this is a very efficient way of scaling the image. For old video cards, please
2207
stick to the SDL or SDLGL renderer. Not all scalers are implemented yet:
2208
"simple" and "ScaleNx" work, as well as the new "TV" scaler, which is exclusive
2209
to SDLGL-PP.
2210
2211
New or improved emulator features:
2212
- Run-time switching of machines:
2213
    change:        set machine <machine name>
2214
    query:         set machine
2215
- Run-time switching of extensions:
2216
    insert:        ext <extension name>
2217
    remove:        remove_extension <extension name>
2218
    query:         list_extensions
2219
- Run-time switching of ROMs:
2220
    insert/change: carta <file name>
2221
    remove:        carta -eject
2222
    query:         carta
2223
- New command "hda" to change the IDE harddisk ("hdb" for second drive etc).
2224
  This is allowed only when the power is off, for the safety of your data.
2225
- SDLGL-PP renderer (OpenGL-2.0), with the following exclusive features:
2226
  * scale factor 4
2227
  * TV scaler: brighter pixels are drawn bigger
2228
  * 3D monitor effect: (arcade look)
2229
    set display_deform 3D
2230
  * horizontal stretch: (MSX aspect ratio)
2231
    set display_deform horizontal_stretch
2232
- Monochrome monitor effect:
2233
    monitor_type <name>
2234
- Video noise effect:
2235
    set noise <amount>
2236
  Low amounts of noise (for example 2.5) can make the video look better, high
2237
  amounts are just a gimmick.
2238
- Brightness and contrast control: "set brightness <amount>" and "set contrast
2239
  <amount>", where 0 is neutral.
2240
  A small decrease in contrast will make the noise look better.
2241
- Preload disk image: avoids repeated spin-ups when loading from PC CD-ROM.
2242
- TCL procedures can now have a help text and TAB completion.
2243
  We also added help and completion to the TCL scripts that ship with openMSX.
2244
- New console command "about" which searches for commands (built-in or TCL
2245
  scripts) that seem to be about the given keyword. Useful if you forgot the
2246
  exact name of a command.
2247
- Watchpoints for I/O port and memory access:
2248
    debug set_watchpoint <type> <address> [<condition>] [<command>]
2249
    debug remove_watchpoint <id>
2250
    debug list_watchpoints
2251
  Where type is one of "read_io", "write_io", "read_mem" or "write_mem".
2252
  Address is in range 0..255 for I/O ports and 0..65535 for memory.
2253
  Condition and command are the similar to the "set_bp" command.
2254
- Detection of DI/HALT (hanging MSX).
2255
- Detection of Undefined Memory Reads (UMRs).
2256
  When memory is read that was never written to, a TCL procedure is called.
2257
  You can make your own, or use the included procedure named "umrcallback":
2258
    set umr_callback umrcallback
2259
  This is "valgrind" for MSX ;)
2260
2261
MSX device support:
2262
- IDE CD-ROM support: the "ide" extension now contains a CD-ROM drive in
2263
  addition to a harddisk. You can insert ISO images with the "cda" command,
2264
  or "cdb" for the second CD-ROM etc. There is no support yet for audio tracks.
2265
  Note that you have to run IDECDEX in the emulated MSX before you can use
2266
  CD-ROMs; you can download it from Sunrise (http://www.msx.ch/sunformsx/).
2267
- Support for V9938 with only 16 kB VRAM, as used in the SVI-738.
2268
- Major V9990 improvements.
2269
- Minor sound differences between two different PSG types (AY8910 and YM2149).
2270
- Added Ninja-tap, a joystick port expander.
2271
- Added DDX-3.0, a port-based external floppy interface.
2272
- Small bugfixes in various devices: VDP, RTC, FMPAC, MegaRAM, IDE.
2273
2274
Build system, packaging, documentation:
2275
- OpenGL support now depends on GLEW (http://glew.sourceforge.net/).
2276
  GLEW is a library which allows us to conveniently use of GL extensions.
2277
- Build fixes for Intel Macs.
2278
2279
openMSX 0.6.0 (2006-01-21)
2280
--------------------------
2281
2282
After a long time, a fresh release which brings a lot of internal improvements
2283
and some long standing new features as well.
2284
2285
The biggest change for the user is the fact that we removed the SDLLo renderer
2286
and that we split the scalers into a separate "scale_factor" (controls the
2287
zoom) and "scale_algorithm" (controls the look) setting. A factor of 1 replaces
2288
the SDLLo render and as a bonus we also added a factor of 3! The latter also
2289
makes more exotic scalers possible, like the new RGBTriplet one, which tries to
2290
emulate a low res Trinitron (Aperture Grille) monitor. Also, the existing
2291
scaler algorithms have been implemented for scale_factor 3. Note that currently
2292
the GL renderer only supports scale_factor 2; if you want the new scale
2293
factors, use the SDL renderer.
2294
2295
Mac OS X Tiger users will be happy to know that this release will compile
2296
cleanly on their systems, because openMSX can be compiled with GCC 4.x now.
2297
Also some problems specific to big endian CPU's (like the Power PC in most
2298
Macs) were fixed.
2299
2300
In the sound department we made big quality improvement for DAC devices, like
2301
the turboR PCM and the Konami DAC which can be found in the Hai no Majutsushi
2302
and Synthesizer products.
2303
2304
Note that in this release several incompatible changes to openMSX commands were
2305
made. First of all, the cassetteplayer subcommands have changed, because we
2306
added the possibility to save to cassette now as well. To learn the new
2307
subcommands, use "help cassetteplayer". Also the keyjoystick settings are
2308
incompatibly changed, which means your old bindings will be lost. Finally the
2309
already mentioned renderer and scaler settings have changed, so you will have
2310
to re-select your favourite scaler.
2311
2312
New or improved emulator features:
2313
- Printer logger and SRAM are flushed at regular intervals now, so if openMSX
2314
  or your PC crashes, it is less likely you will lose data.
2315
- Settings that have their default value are not saved anymore, which will make
2316
  future upgrades easier (new defaults are automatically picked up).
2317
- Added support for a second keyjoystick.
2318
- More extensive debugging, including conditional break points.
2319
- Apart from communication via stdio, communication via sockets is now enabled.
2320
  This means you can connect to openMSX at run time! This will be used by a
2321
  debugger that is in development.
2322
- V9990: speed improvements, enabled scalers, scanline and blur.
2323
- Reorganisation of renderers and scalers (including new ones), see above.
2324
- Screenshot command has a -prefix option, useful in combination with the new
2325
  "guess_title" script: give meaningful names to your screenshot.
2326
- New "fullspeedwhenloading" setting. When enabled, openMSX automatically
2327
  switches to maximum speed when the MSX is loading from disk or tape.
2328
- New "autoruncassettes" setting. When enabled and you specify a CAS image on
2329
  the command line or in Catapult, openMSX will automatically type the required
2330
  loading instruction in MSX-BASIC.
2331
- Finally implemented a work around for the CAPS LOCK problem.
2332
2333
MSX device support:
2334
- Internal CAS to WAV conversion produces now 5520 baud WAVs, for faster
2335
  loading.
2336
- Implemented saving to cassette (see above).
2337
- Implementation of SCREEN6 border and background stripes.
2338
- Implemented support for 192 kB VRAM (now default in the Boosted_MSX2_EN
2339
  machine).
2340
- Implemented support for ADVRAM: use extension "advram-p" for machines in which
2341
  slot 0 is not expanded (most MSXes) and use extension "advram-s" for machines
2342
  in which slot 0 is expanded (such as turbo Rs).
2343
- Sound quality improvement of DAC devices (see above).
2344
- Implemented TurboR hardware pause and hardware PCM mute.
2345
- Implemented "magic key" joystickport dongle.
2346
2347
Build system, packaging, documentation:
2348
- Compile fixes for GCC 4.x.
2349
- Support for FreeBSD 6.
2350
2351
openMSX 0.5.2 (2005-06-09)
2352
--------------------------
2353
2354
This release is mainly a bug fix release with only a few new features, but a lot
2355
of quality improvements, mainly related to audio. We reworked the YM2413 engine
2356
by Okazaki, bringing the openMSX fork up to date with the latest release of
2357
MSXplug. We also fixed an bug in the SCC emulation, which screwed up some sound
2358
effects. Other fixes include MSX-AUDIO sample RAM access and the timer accuracy
2359
of OPL4 and MSX-AUDIO. Finally, we also added a DirectSound driver for Windows.
2360
2361
A new sound related feature is the sound logger. It writes the sound played by
2362
openMSX to an uncompressed WAV file. The current version logs exactly what is
2363
sent to the sound driver, including any inaccuracies caused by realtime
2364
synchronization. We are planning a logger that is not timing sensitive to
2365
appear in a future openMSX release. For usage instructions, see section 7.3 of
2366
the openMSX User's Manual.
2367
2368
A last new (but still a bit experimental) feature is the disk manipulator. This
2369
is a new built in toolkit to transfer files from the host OS to the MSX disks
2370
(disk images and hard disk images with partitions are all supported) and vice
2371
versa. You can also use it to create new (hard) disk images and format them. A
2372
complete description is in doc/using-diskmanipulator.txt.
2373
2374
New or improved emulator features:
2375
- New scaler: HQ2xLite. This is a scaler that is almost as good as HQ2x, but
2376
  uses a lot less CPU.
2377
- Added DirectSound driver for Windows, which solves the problems some people
2378
  had with SDL on Windows. It also runs at a lower latency than the SDL driver.
2379
  Many thanks to Daniel Vik for helping with DirectSound. To switch between the
2380
  DirectSound and SDL sound drivers, use the new "sound_driver" setting.
2381
- Improved debugger, with some new (TCL based) commands like disasm, step_in,
2382
  step_over and run_to.
2383
- Extended IPS patch support, it should now support all IPS files.
2384
- Updated ROM database.
2385
- Added trainers.tcl: hundreds of game trainers. Use trainer_[TAB] in the
2386
  console to switch on the trainer for the game you want.
2387
- Added a cheat finder script: create your own game trainers. For an
2388
  explanation how to use it, see this openMSX forum post:
2389
    http://forum.openmsx.org/viewtopic.php?t=34
2390
- Use revamped console background and font as default. If you're upgrading from
2391
  an older openMSX version and want to use this new background and font, you
2392
  can either remove your settings.xml file or type the following lines in the
2393
  openMSX console:
2394
    set consolebackground skins/ConsoleBackgroundGrey.png
2395
    set consolefont skins/ConsoleFontRaveLShaded.png
2396
- New icon, made by Eric Boon.
2397
2398
MSX device support:
2399
- Updated Okazaki YM2413 core (now the default).
2400
- Added pixel accurate rendering to V9990 emulation. Note that the timing may
2401
  still be quite incorrect.
2402
- Improved timing on turbo R machines. For example, speed difference between
2403
  R800-ROM and R800-DRAM mode is now emulated.
2404
- Various IDE fixes from Adriano Camargo Rodrigues da Cunha.
2405
2406
Build system, packaging, documentation:
2407
- Compile fixes for GCC 4.x.
2408
- Added experimental build support for Sparc, DEC Alpha, ARM, HP PA-RISC, IA-64,
2409
  Motorola 680x0, MIPS and IBM S/390. Except for Sparc these are all untested.
2410
- openMSX is now relocatable on Mac OS X, which means you can move the
2411
  installation directory around.
2412
- Our Debian packages are now uploaded to the Debian archive, soon after
2413
  release.
2414
- Updated C-BIOS to 0.21.
2415
2416
openMSX 0.5.1 (2005-03-05)
2417
--------------------------
2418
2419
This release includes a redesign of the ROM database XML file. This new format
2420
is supported by both blueMSX and openMSX; other emulators are welcome to adopt
2421
it as well. The old "romdb.xml" file is still supported, but will disappear in
2422
the future. The new "softwaredb.xml" file is generated from a central SQL
2423
database, using information from the old blueMSX and openMSX ROM databases. The
2424
new database design is prepared to support disks in addition to ROMs.
2425
2426
Another major new feature is emulation of the Sunrise GFX9000. We have been
2427
working on this for quite some time already, but in this release you can see the
2428
first usable results. Do note that the emulation is still far from complete,
2429
fast or bug free. But we thought you might appreciate it already in its current
2430
shape. To use it, start openMSX with the "gfx9000" extension selected. You can
2431
switch between the MSX VDP and the GFX9000 picture with the "videosource"
2432
setting. Note that right now, only the SDLHi and SDLLo renderers are able to
2433
render the GFX9000 picture.
2434
2435
Also new are the OSD (on-screen display) LEDs. Catapult users have had LEDs for
2436
some time, but now if you use openMSX from the console or full screen you can
2437
also see the status of the LEDs. OSD LEDs are configurable via TCL scripts.
2438
2439
New or improved emulator features:
2440
- A new mixer implementation improves the sound quality of PCM and PSG samples
2441
  a lot.
2442
- The "samples" and "frequency" settings can now be changed at run time.
2443
- Various speed ups, especially for low end machines due to better frame skip.
2444
- You can now use IPS patches to modify disk and ROM images as openMSX loads
2445
  them into memory, without changing the images files.
2446
- Extensions inside ZIP files are now used to guess the right file type.
2447
- Many improvements for Mac OS X, including bug fixes and more Mac-like key
2448
  bindings. When upgrading from openMSX 0.5.0, you can remove your
2449
  ~/.openMSX/share/settings.xml to get new the key bindings.
2450
- New "escape_grab" command: escapes from "grabinput" once.
2451
- Debugging: enabled "cputrace" setting for normal builds as well.
2452
2453
MSX device support:
2454
- Fixed turboR DRAM support. Programs that use this, like TRCAS, work now.
2455
- Fixed booting of SVI-738 CP/M disks.
2456
- Timing improvements of the WD2793 FDC. Fixes a few games that rely on it.
2457
- The 13 bit MSX-AUDIO DAC actually works now (used in modplayer).
2458
- Added MegaRAM Disk, thanks to Adriano da Cunha.
2459
- Improved Sony HBI-55, thanks to Daniel Vik.
2460
- Fixes in Tetris II Special Edition dongle.
2461
- Added separate machine configuration for Philips VG 8020/20.
2462
- Added MSX-AUDIO 2 extension. This is an Y8950 on alternative I/O ports.
2463
- Added FM Stereo PAK extension.
2464
2465
Build system, packaging, documentation:
2466
- We now provide Debian packages, shortly after the source release.
2467
- Added build support for OpenBSD and NetBSD.
2468
- Updated C-BIOS to 0.20.
2469
2470
openMSX 0.5.0 (2004-10-18)
2471
--------------------------
2472
2473
This release includes a complete redesign of the hardware configuration XML
2474
files. Also many devices were renamed. I/O ports are now specified in the
2475
hardware configuration instead of hardcoded. Configurations in the old format
2476
are no longer supported.
2477
If you copied the configurations that came with openMSX 0.4.0 to a different
2478
location (for example, ~/.openMSX/share), replace them by the configurations
2479
shipped with 0.5.0.
2480
The Python script share/scripts/convert_hardwareconfig.py can be used to
2481
convert your custom-made configurations. It may not convert every detail
2482
correctly, but it will save you a lot of time compared to manually converting
2483
configurations.
2484
2485
The new ROM pools feature makes installing system ROMs easier. A ROM pool is a
2486
directory where openMSX looks for system ROMs. The new hardware configuration
2487
XML files contain the SHA1 sums of the required system ROMs, so openMSX can
2488
find the right ROMs in the ROM pool automatically. The default ROM pool is the
2489
directory share/systemroms.
2490
2491
Settings, including key bindings and user directories, can now be saved. By
2492
default, settings are automatically saved when openMSX exits. If you don't want
2493
that, do "set save_settings_on_exit false" and save manually with the new
2494
"save_settings" console command. It is also possible to save settings to
2495
separate files, so you can keep multiple, independent configurations.
2496
2497
Old configuration options were converted to settings:
2498
- machine: the default machine (needs openMSX restart)
2499
- frequency: the sound mixer frequency (needs openMSX restart)
2500
- samples: the size of the sound mixing buffer (needs openMSX restart)
2501
- user_directories: directories that are searched for data files
2502
The new setting "save_settings_on_exit" controls auto-saving of settings.
2503
Finally, we renamed "frontswitch" to "firmwareswitch".
2504
2505
Changes in the video system:
2506
- Use of MMX to speed up video scaling considerably (mainly simple scaler).
2507
- Big speed up of scanline effect.
2508
- Enabled blur effect in the SDLHi renderer (simple scaler).
2509
- Scale2x and hq2x scalers now also work in hi-res modes (screen 6 and 7).
2510
- Made pixel accuracy the default.
2511
- Removed 8bpp support (which never worked before).
2512
- Fixed crash when making screenshot in 16bpp.
2513
2514
New or improved emulator features:
2515
- Added channel mode 'off' to mute individual sound devices.
2516
- Added meta data of machines in config files.
2517
  Some of this information is shown in the window title bar.
2518
- New "iomap" command lists the I/O ports and the devices connected to them.
2519
- Added a debugger interface to all (S)RAM.
2520
- Improvements in the 'type' command, thanks to Albert Beevendorp and Arnold
2521
  Metselaar (welcome to the club, Arnold!).
2522
- Release key presses when the console becomes active.
2523
- Improved geometry detection of disk images; MSX1Mania disks work now.
2524
- Fixed crash in Win32 when dir-as-disk is used with files with weird dates.
2525
2526
MSX device support:
2527
- MoonSound fixes.
2528
- Added slotexpander extension: use it to change one primary slot into four
2529
  secondary slots.
2530
- 8 kB BASIC ROMs now work correctly and are auto detected as well.
2531
- Added simple DC filter for cassette images.
2532
  .wav files created by MicroWAVer should work now.
2533
- Fixes for TC8566AF FDC (used in turbo R), thanks to Daniel Vik:
2534
  improved timing (fixes Gazzel intro) and added format command.
2535
- Force PSG portA to be input port. This fixes joystick and mouse reading in
2536
  games that write illegal values to the PSG (Match Maniac and others).
2537
- Emulation of the Tetris II Special Edition dongle (plugs into joystick port).
2538
- Fixed high-frequency reads of low-frequency clocks (such as RTC).
2539
  Thanks to Daniel Vik for spotting this problem.
2540
- Many bugs were fixed, including long-standing bugs such as a VDP bug causing
2541
  glitches in Andorogynus and CPU bugs causing glitches in Pennant Race and
2542
  Fony Demo Disk 1.
2543
2544
Build system, packaging, documentation:
2545
- Separated OS and CPU in the build system.
2546
- Build support for x86-64 (Athlon64).
2547
- Fixed bug: new TCL was not detected by running "make probe" again.
2548
- Added openMSX FAQ to documentation.
2549
2550
openMSX 0.4.0 (2004-05-28)
2551
--------------------------
2552
2553
- Finalised the control protocol, making a fully-featured Catapult possible.
2554
- Implemented TCL as central scripting language (including console).
2555
  Consequences:
2556
  * AutoCommands in settings.xml have been replaced by init.tcl file
2557
  * "restoredefault" command replaced by TCL's "unset"
2558
  * "alias" is deprecated, use TCL's "proc"
2559
  * "decr" is deprecated, use TCL's native "incr" with negative argument
2560
  * "quit" is replaced by TCL's "exit"
2561
  * old "info" is replaced by "openmsx_info"; "info" is a TCL command
2562
  * Some cool TCL scripts added, e.g. multi-screenshot (make 'movies'),
2563
    save_debuggable, vramdump (replacing old console command)
2564
- New build system which replaces the GNU auto* tools.
2565
  It is more efficient, has cleaner output and is easier to maintain.
2566
  You can still use the traditional "configure ; make ; make install" steps.
2567
  For details, read doc/manual/compile.html.
2568
- Added support for compiling on FreeBSD 4 and 5.
2569
  Thanks to ag0ny, Jorito and Reikan.
2570
  Also updated support for Mac OS X, thanks to Jalu.
2571
- New frameskip/sync algorithm: tries to skip as little frames as possible to
2572
  keep the right speed; maximum and minimum number of skipped frames can be set
2573
  with the minframeskip and maxframeskip settings.
2574
  The new algorithm can deal much better with the situation where another
2575
  process or the OS claims the CPU for a while. As a result, animation and
2576
  music play more fluent and openMSX feels faster.
2577
- Better CPU timing (Z80 and R800), and also for R800 specifically:
2578
  * implemented CAS/RAS optimization
2579
  * implemented refresh delay
2580
  * IO operations take 3 cycles
2581
- CPU frequency is not fixed anymore:
2582
  * frequency can be unlocked and modified from the console
2583
  * "6MHz mode" of Panasonic MSX2+ machines is now supported
2584
- Fixes in TurboR FDC: FDD LED, disk change signal, drive detection, empty
2585
  drive behaviour ("Disk offline"). Thanks to Tetsuo Honda.
2586
- Finalized internal mapper for Panasonic FS-A1FM and added support for its
2587
  "frontswitch" for the firmware.
2588
- RS232 interface in Sony_HB-G900P has 2kb RAM.
2589
- Sony HBI-55 datacartridge now fully implemented.
2590
- Added proper support for Koei and Wizardry mappers (with SRAM).
2591
  Thanks to dvik (blueMSX author) for the info.
2592
- Added about 14 new machines.
2593
- Volumes are all in a 0-100 range now.
2594
- Added master_volume setting.
2595
- Several optimisations in rendering.
2596
- Fixed sprites in overscan.
2597
- Added basic frames-per-second indicator.
2598
- Scaled up icon to 32x32; fixes icon on Win32.
2599
- Using SHIFT and PageUp/PageDown you can scroll whole pages in the console
2600
- New "type" command: use to enter text into the MSX keyboard buffer (not
2601
  finalized yet)
2602
- Added a debugger interface to more devices: SCC, MSX AUDIO, MSX AUDIO
2603
  sampleRAM, MoonSound, MSX MUSIC, memory mapper, PSG. Also extended CPU
2604
  debuggable: IM can now be read at position 26, IFF1 and IFF2 can be read as
2605
  bit 0 and 1 on position 27
2606
- New debug interface commands: "read_block", "write_block", "after break" and
2607
  "after frame".
2608
2609
openMSX 0.3.4 (2004-01-16)
2610
--------------------------
2611
2612
This new release brings you the following improvements:
2613
- Several fixes in VDP emulation; more games and demos work correctly.
2614
- Added scalers for SDLHi. A scaler is an image filter which enlarges the
2615
  MSX screen to PC resolution. The following scalers are implemented:
2616
  * simple (original)
2617
  * 2xSaI
2618
  * Scale2x
2619
  * hq2x
2620
  Use "set scaler <name>" to select a scaler.
2621
- Scanlines now work in SDLHi (previously, they only worked in SDLGL).
2622
- Per-pixel alpha blending for console on SDLHi/SDLLo.
2623
  This makes anti-aliased console fonts look better.
2624
- Rendering fixes in Win32:
2625
  * Fixed slowdowns in fullscreen mode.
2626
  * Fixed console flickering.
2627
- Switched to Jarek Burczynski's YM2413 core (MSX-MUSIC).
2628
- Added high-pass IIR filter to mixer to avoid audio clipping.
2629
- Added I/O device multiplexing: you can now safely insert an FMPAC in
2630
  an MSX turbo R, for example.
2631
- Added screenshot feature.
2632
  Default key bindings changed to put this under PrtScr.
2633
  F12 toggles full screen now, while Quit is not mapped anymore, by default.
2634
- Added Ren-Sha Turbo (autofire) emulation: "set renshaturbo <speed>".
2635
- Added emulation of the MSX turbo R pause key.
2636
- Added LED status of disk drives.
2637
- Fixed harddisk image creation: automatically create or enlarge hd-image
2638
  when the specified file doesn't exist or is too small.
2639
- New console commands:
2640
  * after: execute command after a certain time
2641
  * alias/unalias: put long commands under a named alias
2642
  * incr and decr: increase or decrease integer settings
2643
    (useful when bound to a key, see "bind" command)
2644
- Added a 'boosted' MSX2 configuration: a fantasy machine with lots of
2645
  internal hardware. More of these will be added in future releases.
2646
  The current configuration is still experimental; feedback is welcome.
2647
- Added alternative build system ("alternative.mk"), which is more flexible
2648
  and easier to maintain than the old system which uses GNU's auto* tools
2649
  ("configure" and friends). The alternative system will replace the auto*
2650
  system in the future, so please test it on your machine and report any
2651
  problems. You can use it with "make -f alternative.mk" to compile and
2652
  "make -f alternative.mk install" to install.
2653
- Added support for Intel's ICC 8.0 compiler (only in alternative.mk).
2654
- Added experimental support for Mac OS X (only in alternative.mk).
2655
  Thanks to Jan Lukens (Jalu) for testing/debugging this.
2656
- Dropped support for GCC 2.95 (please upgrade to GCC 3.x).
2657
- Added the ability to control openMSX from an external process (launcher,
2658
  debugger) using an XML-based control protocol. This is an experimental
2659
  feature; the control protocol will change incompatibly in the next
2660
  release.
2661
  For an example client implementation, see Contrib/openmsx-control.cc.
2662
  We're working on a new openMSX Catapult which uses this protocol.
2663
- New features for external control clients:
2664
  * renderer "none", which displays nothing.
2665
  * "power" setting: enable or disable power to the MSX machine.
2666
  * "restoredefault" command: restores a setting to the value specified in
2667
    settings.xml.
2668
  * "info" command: gets info such as lists of pluggables, renderers etc.
2669
  * "keymatrixup"/"keymatrixdown" commands: manipulate the keyboard matrix.
2670
- Added a debugger interface, accessible through the "debug" command.
2671
  The following devices currently support this interface: CPU, I/O ports,
2672
  memory, VDP and VRAM. Also it is possible to set breakpoints.
2673
- Small improvements in debug device.
2674
  The debug device is very useful for people developing MSX software in
2675
  openMSX; read the manual for details.
2676
- Added "vdpcmdtrace" setting: enable or disable VDP command tracing.
2677
2678
openMSX 0.3.3 (2003-09-26)
2679
--------------------------
2680
2681
This new release brings you the following improvements:
2682
- Windows specific code was merged into the main branch. We have an
2683
  "official" Win32 port that is part of this release.
2684
- New HTML manuals replace the HOWTO. These manuals will make it easier for
2685
  you to find the information you need. Also, the HTML layout looks better.
2686
  Due to time pressure, the manuals are a bit rough at places, we'll improve
2687
  them in the future.
2688
- New MSX devices:
2689
  * MSX-MIDI interface (turbo R).
2690
  * MSX-RS-232 support (8255 UART).
2691
  * PCM input (sampling) for turbo R via a .wav file.
2692
- Added a debug device: write data to special I/O ports and its get logged
2693
  to stdout or a file in a format you specify. Very useful if you develop
2694
  MSX assembly programs in openMSX.
2695
- Several improvements and fixes in the VDPCmdEngine; VDP emulation is even
2696
  more accurate now.
2697
- All read-only input files (ROM images, disk images, background pictures,
2698
  XML) can now be gzipped or zipped and will be transparently decompressed
2699
  by openMSX. Note that some games require write access to their disk in
2700
  order to run (for example, Seed of Dragon).
2701
- New dir-as-disk feature: a directory can be specified instead of a disk
2702
  image and the contents (up to 720K) will show up as files on the MSX.
2703
  There is no support for subdirectories (as used by DOS2) yet. This feature
2704
  is still experimental, so please report problems if you encounter them.
2705
- Several cassette emulation updates and new features:
2706
  * Automatic .cas to .wav conversion in CassettePlayer.
2707
    (no patched ROM needed anymore to run .cas files)
2708
  * Cassette sounds are now audible.
2709
  * Tapes can be rewinded.
2710
  * Tapes can be forced to play.
2711
    (like unplugging the 'remote control' plug on a real machine)
2712
- A different keymap (e.g. for Japanese PC keyboards or to use Russian MSX
2713
  keyboards on a US English PC keyboard) can be used now, via settings.xml.
2714
- Keys for the key joystick are now configurable in settings.xml.
2715
- Added joystick emulation for mouse (a feature that the Philips SBC-3810
2716
  and Sony MOS-1 and similar mice have).
2717
- Various console updates:
2718
  * Tab completion behaves much more like the UNIX Bash shell now.
2719
  * Clearer error messages.
2720
  * More than one command is possible, use ';' to separate them.
2721
    Especially useful for binding several commands to a single keypress.
2722
- User-configurable channel settings for mono sound devices. You can set
2723
  them to left, right or mono mode at run time.
2724
- Many things are now user configurable via the console:
2725
  * .wav input file for PCM sampler
2726
  * log file for the printer logger
2727
  * output file for the MIDI out logger
2728
  * input file for the MIDI in reader
2729
  * input and output file for the RS232-tester
2730
- ROM database now uses SHA1 sums in stead of MD5 sums.
2731
- The MSX turbo R machine description uses a single 4MB ROM image, plus the
2732
  Kanji ROM. This is closer to how the real machine works.
2733
- Several machine and extension configurations added.
2734
- Fixed compilation on GCC 3.4-pre development version.
2735
2736
openMSX 0.3.2 (2003-06-09)
2737
--------------------------
2738
2739
- New feature: MoonSound support.
2740
  Original implementation taken from MAME, thanks to Jarek Burczynski
2741
  (FM code), R. Belmont and O. Galibert (wave code) for allowing us
2742
  to use their code in openMSX.
2743
  Improvements and bug fixes were done by Arjan Bakker and our team.
2744
- New MSX devices:
2745
  * MegaRAM
2746
  * PAC (Panasonic SW-M001)
2747
  * Support for 8 kB ROMs
2748
- New feature: grab input (try "set grabinput on").
2749
  When enabled, the native mouse cursor cannot escape from the openMSX
2750
  window anymore; makes using the mouse a lot easier in windowed mode.
2751
- New timer using the Linux Real Time Clock (RTC), which is more accurate
2752
  than the SDL timer. SDL timer is still available as a fallback.
2753
  Instructions to configure your system for using the RTC are in the HOWTO.
2754
- New effect in the SDLGL renderer: afterglow (try "set glow N").
2755
- User-configurable gamma correction (try "set gamma X").
2756
  Also the default value is less bright than the previous hard-coded value.
2757
- Screen accuracy works now (try "set accuracy screen").
2758
  It is fast, but very inaccurate.
2759
- Volume of sound devices can be adjusted at run time.
2760
- Various console updates:
2761
  * Commands can be on multiple lines.
2762
  * Search in command history.
2763
  * Command history is saved.
2764
  * Support in SDLHi/Lo for console font PNG images in indexed mode.
2765
    Previously, only images in RGB mode were supported.
2766
  * Console remains usable when openMSX is paused.
2767
- Several machine configurations added (thanks to Albert Beevendorp).
2768
- Several extension configurations added.
2769
- Cache coherency problem in SDLGL renderer fixed.
2770
  This bug caused garbled graphics in for example Ark-a-Noah and Dr Archie.
2771
- Fixed compilation on GCC 2.95.
2772
2773
openMSX 0.3.1 (2003-05-18)
2774
--------------------------
2775
2776
- Fixed compilation on GCC 3.3.
2777
- Fixed SDLGL renderer on XFree86 4.3.
2778
- New feature: configurable file-extentions.
2779
- Improved layout of help text (try "openmsx -h").
2780
- Many improvements to the console, including:
2781
  * Extended the console editing keys (left, right, del, bs, home, end etc).
2782
  * Added key repeat.
2783
  * Reset the scrollback when any key other than page up/down is used.
2784
  * Added resizing and moving to the console.
2785
  * SDL console characters are no longer blended (improved readability).
2786
  * SDL backgroundimage can be scaled and can have any pixel format.
2787
  * Fixed color of font on GLConsole overlayed on Text1 mode.
2788
- Emulation and event handling are now done in a single thread.
2789
  The previous multi-threaded solution was not very portable among platforms
2790
  or even different versions of the same platform.
2791
  As a bonus, the single thread model is simpler and more efficient.
2792
- Improved "make install".
2793
- Cleanups of the directory structure.