De MSX is een homecomputer uit vroeger tijden, maar er zijn gelukkig nog steeds personen die zich bezighouden met de ontwikkeling van de MSX en met de verschillende emulators voor dit platform. De emulator openMSX draait op verschillende besturingssystemen, onder andere Linux, Mac OS X en Windows, en richt zich volgens de ontwikkelaars op perfectie van de spelervaring. Versie 0.8.2 is onlangs vrijgegeven met de volgende aankondiging:
openMSX 0.8.2 released
openMSX 0.8.2—Small Guy— mostly fixes loads of bugs and adds many smaller features and improvements. Together with openMSX an updated version of Catapult, our user-friendly GUI, was released. Here's the list with all highlights:
MSX device support:
New or improved emulator features:
- Bug fixes:
- (regression) sprite colors in screen 7/8 (visible in Ikari for instance)
- VDP emulation bug, which was visible in Psycho World's 3x3 power up matrix
- Y8950 (MSX-AUDIO) when using NOP Real Motion
- MoonSound FM 4op mode
- crash in YM2151 (in Yamaha CX5M)
- sample playing in Nettou Yakyuu
- several small issues in existing MSX machine configurations
- Accuracy improvements:
- MSX-MUSIC (YM2413 (Okazaki)): implemented SETTLE (or DUMP) phase
- MoonSound (YMF278): fixed x-tal frequency and some other details
- GFX9000: added basic support for set adjust registers
- Added support for several laserdisc features to be able to run the Lascommate Junior High School Mathematics LD's, including a dummy Lascom Kanji cartridge implementation
- Added emulation of the following mapper types:
- Baby Dinosaur Dooly
- Manbow 2 2nd release
- Best of Hamaraja Night
- Added emulation of memory based I/O for MSX RS-232C, making emulation of Sony HBI-232 possible
- Added Sony HB-F9S and Sony HB-G900P machine
- Added support for JoyMega: Mega Drive joy pad with 6 buttons
Build system, packaging, documentation:
- Video output:
- Faster laserdisc rendering
- Added horizontal stretch for SDL renderer (useful for Dingoo for instance). As horizontal stretching is enabled by default, the CPU usage of openMSX when using the SDL renderer will now be higher than before. Set horizontal_stretch to 320 to disable it and gain some performance (but have a less accurate aspect ratio of the screen).
- Sound generation:
- Sync sound to EmuTime (greatly improves sample playback in e.g. Real Motion and TRAX Player
- Added new sound driver based on libao
- Fixed sound quality of blip resampler
- MSX developer features:
- Added vdpcmdinprogress_callback setting, which can be used to trigger a script when a write to the VDP command engine registers is detected while there is still a VDP command in progress.
- Fixed memory usage issue when using step_back (e.g. via debugger)
- Greatly improved performance for step_back
- Fixed bug with watchpoints that triggered too late sometimes
- Command line options/support:
- Added recognition of .tcl extension as extra start up scripts
- Fixed recognition of OMR/OMS files which were re-gzipped
- Added command line option -replay to load and view a replay and also support dropping replays (OMR files) on openMSX to view them
- Added command line option -savestate to load a savestate and also support dropping savestates (OMS files) on openMSX to view them
- OSD menu improvements (mostly useful for hand held users):
- added connector submenu
- added support for running tapes
- added support for horizontal stretch setting
- Joystick support:
- Allow joystick axis motion events to be bound, as the manual promises
- Made real joystick support a bit more flexible: read all axes
- Channel recorder:
- Fixed record_channels command to record to the soundlogs directory
- Added option to record all channels of all sound chips with record_channels
- Platform specific improvements:
- Fix Caps lock behaviour on Mac OS X
- Add support for MIDI output to a virtual endpoint for Mac OS X
- Comfortable machine configurations:
- Added new fantasy machine: Boosted MSX2+ JP, based on Panasonic FS-A1WSX
- Added basic compiler to Boosted MSX2 EN
- Updated all scripts to make full use of Tcl 8.5 (and clean them up in the process) to improve performance
- Support in the hardware config XML format for using a single ROM image (i.e. a physical (EP)ROM dump) which is used by several devices
- Make PgUp/PgDn reverse step depend on the speed setting
- Reverse bar now indicates recording (red) and replaying state
- The 'about' console command can now also be used to find settings
- Fixed 64k ROM mapper detection
And of course the usual various bug fixes.
- Upgraded Tcl dependency to Tcl 8.5
- Upgraded 3rd party libs
- Optional additional dependency on libao
- Added support for the Clang compiler
- Make our ARM inline asm routines compile in Thumb2 mode
- Moved Dingux port to OpenDingux: openMSX now only compiles for OpenDingux
- Added lto flavour to enable Link-Time Optimization
In "doc/manual/index.html" you can find a set of HTML manuals for openMSX. Make sure you read this if you haven't used openMSX before, but also to learn more about the new and changed features.
Known issues / caveats:
Thanks to all contributors for their feedback, support, bug reports, testing, coding and other help!
- Emulation is not perfect yet. See the bug tracker on sourceforge.net for known bugs.
- Until we reach version 1.0.0, file formats can change in an incompatible way without backwards compatibility. This happened between 0.4.0 and 0.5.0, for example. Keep this in mind if you create machine descriptions, ROM database entries etc. We do try to be backwards compatible for at least one release, though. Keep in mind that openMSX is still evolving at a considerable speed.
- openMSX is confirmed to run on the following operating systems: Linux, Windows, Mac OS X, FreeBSD, OpenBSD and NetBSD; on x86, x86-64, PPC, ARM, MIPS and Sparc CPU's. Running on other operating systems (wherever SDL runs) or CPU's should be possible, but may require some modifications to the build system. If you are compiling on a new platform, please share your experiences (see below for contact info), so we can make openMSX more portable.
- CPU and graphics performance varies a lot, depending on the openMSX settings and the MSX hardware and software you're emulating. Some things run fine on a 200 MHz machine, others are slow on a 2 GHz machine. For performance tuning tips, see the Setup Guide.
Have fun with your emulated MSX!
the openMSX developers