[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / emulators / openmsx

File: [cvs.NetBSD.org] / pkgsrc / emulators / openmsx / Makefile (download)

Revision 1.48, Fri Jul 6 03:33:17 2018 UTC (17 months, 1 week ago) by ryoon
Branch: MAIN
Changes since 1.47: +13 -7 lines

Update to 0.14.0

openMSX 0.14.0 (2017-08-03)

This release is another mix of some new features and additions and a lot of
smaller fixes and improvements. This release adds support for Konami Ultimate
Collection and basic emulation for the Spectravideo SVI-318 and SVI-328 pre-MSX
computers, increases FDC accuracy in such a way that we think all copy
protections (captured in a DMK file) should now run in openMSX. Moreover, we
now put the SDLGL-PP renderer as the default, so let us know how that works for
you. You can of course always set the old default setting for your system if
you don't like SDLGL-PP. But then we would really like to know why... We also
removed the Windows DirectX sound driver, as it was buggy and caused a lot of
complaints. And finally, we added a button in the top left corner to easily
invoke the OSD menu.

Here's the list with all highlights and details:

MSX device support:
- fixed VDP type of Sony HB-501P
- fixed a bug that caused hangups on some machines when resetting during the
  logo animation
- fixed ROM block debuggable for Sunrise IDE
- improved accuracy of WD2793 FDC and disk drive emulation
- added support for Spectravideo SVI-318 and SVI-328 pre-MSX computers:
  - most SVI support was implemented by Tomas Karlsson. With NYYRIKKI's help
    we fixed most last details
  - added in Contrib a tool to convert SVI disk images to DMK so they can be
    used in openMSX
  - added SVI support to several scripts (thanks to NYYRIKKI): cashandler,
    type_via_keybuf, listing
  - note the following limitations:
    - only WAV images are supported for cassettes. The stereo feature
      (music/sound on the other channel) is not supported.
    - only DMK disk images can be used
    - nothing is done to prevent the user to mix MSX and SVI hardware/software.
      This will not work, of course. As we are not SVI enthusiasts ourselves,
      we rely on contributions from others for the SVI support.
- added accurate M1 cycle emulation
- added support for ASCII8 mapper with 32kB SRAM
- added initial support for the ASCII paddle input device (paddle 1 and 2 only)
- added new machines: Bawareth Perfect MSX1, Al Alamiah AX370 (thanks to
  alshamaa), and as already mentioned: Spectravideo SVI-318, SVI-328 and a
  superexpanded SVI-328.
- added new extensions: Konami Ultimate Collection, ASCII Japanese MSX-Write,
  ASCII Japanese MSX-Write II and Tecall TM220 MSX-RAMFILE

New or improved emulator features:
- performance improvements:
  - reverse feature
  - hq resampler
- fixed issue with remote connections on Mac OS X/FreeBSD
- changed default sound driver on Windows to SDL, because the DirectX sound
  driver has been removed
- fixed creation of new HD images
- changed the default renderer to SDLGL-PP
- (probably!) fixed stability of MIDI-in on Windows. Unfortunately we didn't
  find someone to help us test this properly
- also improved stability on external connections in general
- allow to specify initial content for flash ROMs. This way it is possible to
  use MegaFlashROMSCC+SD like how the actual hardware is also shipped:
- several improvements on the listing command (thanks to NYYRIKKI)
- added automatic file numbering for record_channels
- added a tron script (thanks to NYYRIKKI)
- added script that records to a new AVI file if the framerate changes (thanks
  to BiFi and FiXato for their initial version)
- added mapper selection to OSD menu for unknown ROMs
- automatically pad ROM files if they are not a multiple of the block size,
  instead of refusing to run that ROM
- added OSD button to invoke OSD menu in the top left corner
- added VGM recorder script (by Niek Vlessert) to help you record MSX songs
  into VGM files, supporting PSG, MSX-MUSIC, MSX-AUDIO, OPL4 and SCC

Build system, packaging, documentation:
- migrated from SDL threads to C++11 threads
- removed support for Maemo5
- moved Windows build to Visual Studio 2017
- upgraded C-BIOS to release 0.28

openMSX 0.13.0 (2016-07-31)

This again was meant to be (mostly) a bug fix release, but again it also has
some nice additions and improvements to enjoy. Important improvements are much
better support for VDP I/O delay in turbo machines (fixing graphics issues due
to too fast VDP access there), more accurate MSX1 color palette, progress
reporting for long operations and ALSA MIDI-out support for Linux. This is also
one of the first releases that drops support for older platforms: Windows XP,
Dingoo A320 (but introducing support for GCW Zero) and non-64-bit MacOSX. If
you still want to run openMSX on these, you'll be stuck on using a previous
release or start maintaining these platforms yourself.

Here's the list with all highlights and details:

MSX device support:
- fixed bug in ASCII-8 mapper of MegaFlashROM SCC+ (SD)
- fixed bug in border drawing in text mode with YJK/YAE bits
- fixed bug in LMMC VDP command that appeared in Baltak Rampage greetings part
- fixed bug in YMF278 (OPL4 wave part) preventing samples to be played sometimes
- improved R800 timing for the CALL instruction
- added missing hardware VDP delay in turbo mode of MSX2+ machines
- improved accuracy and completeness of the Matsushita switched I/O ports
  - added bits on turbo status and presence
  - added the device to the Sanyo MSX2+ machines (without SRAM and turbo)
  - removed fixed VDP I/O delay (because it is linked to the T9769 engine)
- added support for the different fixed VDP I/O delays of the different T9769
  engines and added these to the configuration files of the machine that have
  these (as far as that is known)
- added support for Epson Chakkari Copy, thanks to Rudolf Lechleitner and
  Enrico Barbisan
- added 2MB MegaRAM extension (thanks to Mauricio Braga)
- added MIDI Interface 3 extension (cart that implements turboR GT internal
  MIDI without BIOS ROM)
- added support for mapper of Japanese MSX Write
- added support for Spectravideo SVI-707 disk drive
- added support for the V9990 POINT VDP command
- added support for more realistic TMS VDP pallettes: it's now possible to
  specify the saturation for the Pb and Pr channel (this is dependent on the
  analog electronics in the MSX video circuit) which affects the palette. E.g.
  all machines with TMS9x2x have a brighter palette now, as they should.
- added weird color palette of the Fujitsu FM-X RGB output (3 bit RGB)
- added a high-resolution timer extension: a cartridge with a 32-bit counter
  that counts at 3.57 MHz. Useful for debugging and reverse engineering. Only
  one such real cartridge exists :)
- added new machines: Aucnet NIA-2001 MSXturboR (thanks to PiterPunk/NYYRIKKI),
  Frael BRUC_100 version 1 and 2 (thanks to RJP, FRS, et al), Pioneer UC-V102
  (thanks to PiterPunk), Victor HC-80 (thanks to Daniele), Toshiba HX-23F and
  HX-23 (thanks to FRS)
- added new extension: Sanyo MRS-001 RS-232C cartridge (thanks to mtn)

New or improved emulator features:
- fixed bug in parsing remote command XML (causing e.g. ROM names with special
  characters not to get communicated to openMSX correctly from Catapult)
- fixed crash in 'reverse goback'
- fixed inserting a slotexpander in a specific slot
- fixed slowness issue when taking screenshots frame by frame
- fixed support of files larger than 2GB (e.g. hard disk images) on Windows
- fixed VDP status flag when using cmdtiming broking (infinitely fast VDP
- fixed excessive delay on 'reverse goto' with ram watch enabled
- OSD menu:
  - fixed (un)plugging (connectors)/pluggables with spaces in their name
  - fixed loading savestate with more than one . in its filename
  - support up to 2 hard disk images (just like ROMs and disk drives)
- fixed bug that cassette image was removed when doing reverse goto 0
- fixed save_msx_screen for 2nd page of screen 7-12 (thanks to FRS)
- improved robustness of DirAsDisk
- added progress update reporting when doing operations that take a lot of time
  (like calculating a hash of a large file or doing a large step in a replay)
- fixed unintended extra calculation of hash for hard disk images when
- made joystickN_deadzone setting's numbering consistent with joystickN_config;
  both are now 0-based
- added debuggable for printer port, containing strobe and data byte
- added experimental support for ALSA MIDI out (Linux): now it's much easier to
  connect MSX MIDI out devices to a soft synth or other application on Linux
- improved support for UNC paths on Windows (network drives)
- added a script to speed up the type command: type_via_keybuf (thanks to
  NYYRIKKI for the initial version). Default type implementation can now be
  tuned with the new default_type_proc setting.

Build system, packaging, documentation:
- to compile with gcc you now need gcc 4.8 or higher
- updated Visual Studio projects to Visual Studio 2015
- dropped support for Windows XP, because it seems Visual Studio 2015 has bugs
  in supporting it
- dropped support for Dingoo A320, because its toolchain is now so outdated
  that it can't compile the openMSX source code any longer
- added build, packaging and documentation support for GCW Zero
- dropped support for universal binaries on Mac OS X, as all supported Mac OS X
  versions require x86-64 CPU's
- updated Tcl to 8.5.18
- updated libpng to 1.6.20
- now optionally link to libasound on Linux (for the ALSA MIDI support)
- added debug flag to build system that shows which commands are executed:
  make V=1
- improved description on how to use MegaFlashROM SCC+ SD

openMSX 0.12.0 (2015-09-12)

This was going to be (mostly) a bug fix release. But at the end we also got
inspired by Grauw to add a lot of MIDI devices. And, reviewing what we changed
the last 10 months, we saw that we also got loads of help from several people
to add many new machine configurations and added some fun stuff like Sensor Kid
and (experimental) Beer IDE emulation. On the emulator features category we
give you stuff like triplesize video recording, some TAS enhancements and a
callback for too fast VRAM access.
So, enjoy this 'various features and bug fixes' release!

Here's the list with all highlights and details:

MSX device support:
- fixed (S)RAM writing on turboR
- fixed border color in screen 11/12
- fixed some details of SD card emulation (found with FUZIX)
- fixed clipping bug in sprite-mode-1 drawing
- fixed crash in openMSX when using the AVT DPF-550 extension
- fixed support of 8kB RS-232C ROMs (which is the only correct size!)
- fixed emulation of joystick mode of the mouse
- fixed broken MegaFlashROM SCC+ (introduced with openMSX 0.11.0)
- improved trackball movement emulation so that JoyTest can also detect it like
  on real hardware
- fixed touchpad joystick pins (fixing detection in JoyTest)
- tweaked volumes of SFG-01/05 against the PSG
- added Panasonic FS-A1WSX/WX variant ot the MSX-MUSIC mapper
- added proper YM2148 emulation (MIDI in/out for Yamaha SFG modules)
- added proper MC6850 emulation (MIDI in/out for Philips Music Module)
- added emulation of FAC MIDI Interface
- added emulation of Sensor Kid, ported from yayaMSX2SK, which is based on
  Mr. Takeda's Common Source Code Project
- added emulation of BeerIDE (experimental)
- added many new machines: Canon V-25 (thanks to Rudi Westerhof), Canon V-8,
  Fenner/Samsung SPC-800, Hitachi MB-H1, Toshiba HX-10D (thanks to Ricardo
  Jurcyk Pinheiro), Canon V-10, Canon V-20 (JP), Spectravideo SVI-728 (ES),
  Mitsubishi ML-TS2 (partly, it's still work-in-progress), Sony HB-101 (JP),
  Sony HB-201 (JP), Sanyo MPC-6, Mitsubishi ML-F120 and ML-F110 and Hitachi
  MB-H3 (thanks to Werner Kai) and Yamaha AX350IIF (thanks to Rudolf Gutlich)

New or improved emulator features:
- added "too_fast_vram_access_callback": you can now run a Tcl script when the
  running MSX software accesses VRAM too fast, e.g. break to debug
- added display of 'movie length' in TAS mode. This is the length of your
  'movie' if you upload it to tasvideos.org
- added -triplesize to video recorder: allows creation of video files in
  960x720 pixels, for which YouTube renders videos at 60 fps.
- some fixes in keyboard mappings
- fixed slow console when emulation speed is very low
- add a snapshot 'near the end' to the OMR when saving it, allowing quicker
  continuation of the replay after loading it
- similarly, add snapshots when fast-forwarding to the target time, so they
  can be used to jump back more quickly
- show reverse bar in green when replaying in viewonly mode
- added a converter from/to OMR to/from text, which allows you to more easily
  edit the OMR outside of openMSX
- improved implementation of 'auto-save' feature of replays: the setting will
  now persist over openMSX sessions
- added an OSD overlay for Metal Gear

Build system, packaging, documentation:
- replace mingw32 build support with MinGW-w64 build support on Windows
- updated our website and other URL's to point to http://openmsx.org/ or

openMSX 0.11.0 (2014-11-08)

This release brings you the following important new features: VDP access timing
now also for MSX1 modes (corruption with too fast VRAM access will be visible
now), implementation of most defailed differences between all used VDP chips
and emulation of MegaFlashROM SCC+ SD.
On top of that, there are some important (long standing) bug fixes, like the
proper implementation of envelopes for MSX-AUDIO, fixing for example "Copy is
Crime" by Impact.
And last but not least, a lot of work was done under the bonnet, giving you
even better performance and preparations for the future.

Here's the list with all highlights:

MSX device support:
- VDP:
  - implemented access timing also for character and text modes (both for MSX1
    VDP's and V99x8): too fast VDP access will now cause corruption on openMSX
  - added support for specific MSX1 VDP's (mostly thanks to hap for all the
    - the exact VDP type can now be specified in the config file
    - differences between Toshiba T6950/T7937A, TMS99xx and TMS91xx MSX1 VDP's
      are now emulated (except sprite cloning)
    - updated many machine configs with the proper MSX1 VDP type (where known,
      additions/corrections are welcome!)
  - implemented that V99x8 does not support undocumented mixed modes
  - fixed bug in 5/9th sprite detection status register
  - added I/O port mirroring to machines of which we are certain it exists
- MSX-AUDIO (Y8950) and related:
  - fixed envelope for MSX-AUDIO (Y8950), the infamous legato-envelope bug is
    now finally fixed!
  - fixed handling of key-off for percussive tones
  - fixed detection of Philips Music Module in Tetris II Special Edition
- added emulation of MegaFlashROM SCC+ SD. Note: the implementation is such
  that existing software works on it, but do not fully rely on it when
  developing for this cartridge!
- improved Sony HBI-55 emulation
- fixed some details in several machine configurations
- fixed KANA/CODE key not working in CHARACTER input mode
- added the following machines: Daewoo CPC-51 Zemmix V, Daewoo CPC-300E,
  Toshiba HX-51I, Yamaha YIS-503IIR, Toshiba FS-TM1, Sanyo MPC-10 (Wavy 10),
  Yamaha CX5MII, Fujitsu FM-X (thanks to NYYRIKKI, Werner Kai, Maxim Vlasov and
  Alex Krasivsky)
- added the Casio KB-7 and KB-10 docking stations (note: these extensions only
  work with the Casio PV-7 and MX-10 respectively; do not be worried
  when they appear to be not working according to Catapult!)
- added the MSX Acid Test machines, contributed by FRS
- added the Gradiente CT-80E 80 column card extension, thanks to MaurĂ­cio Braga

New or improved emulator features:
- added de-flicker video filter via new 'deflicker' setting. Use this to remove
  flickering in cases like the dvik demos where 105 colors are simulated on
  MSX1 by alternating different native colors. It's disabled by default.
- performance improvements:
  - speed up execution of Tcl scripts
  - many various other optimizations
- fixed auto_enable_reverse (set/unset auto enabling reverse at startup)
- rewrote most OpenGL 2 code to be more compatible with OpenGL ES
- improved guessing of mapper type for 64kB ROMs
- fixed a bug with watch_points affecting the execution flow
- fixed corruption in XSA disk images
- added NYYRIKKI's fast CAS loading/saving script, enable with setting the
  'fast_cas_load_hack_enabled' setting to on
- joysticks/controllers:
  - added setting to configure dead zone for joysticks
  - added support for joystick hats (can be used just like buttons)
  - improved support in OSD menu (take deadzone into account)
- added dir-as-disk support for the OSD menu
- removed experimental libao sound driver
- added support for R-ALT on Korean keyboard (thanks to Miso Kim)
- TAS: added possibility to query the length of the current replay (defined as
  the time stamp of the last input)

Build system, packaging, documentation:
- even more use of C++11 features, when using gcc use 4.7 or higher
- removed build dependency on libxml2
- removed many/all unused features/libs from the build system
- added support to cross compile with MinGW-w64 for (at least) 32 bit Windows
  using Linux
- cleaned up the stuff in the doc directory - you now get what we really wanted
  you to get :)
- changed packaging method to include stuff by default instead of exclude stuff
  by default
- fixed native compilation on mipsel
- upgraded C-BIOS to release 0.27

openMSX 0.10.1 (2014-05-01)

This release fixes mostly bugs we introduced with 0.10.0 or were already
present for a bit longer... sorry for those, but most should be fixed now :)
There are also some small but nice additions...

Here's the list with all highlights:

MSX device support:
- fixed bug in YM2413 (FMPAC), that was audible in BPS Tetris
- added Sharp/Epcom HB-4000 80 column cartridge extension

New or improved emulator features:
- extended save_msx_screen script to take VDP(24) into acount
- fixed crash on Visual Studio build when using wav files (e.g. in the
- fixed crash on 32-bit Visual Studio build when recording videos without
  the -doublesize option
- fixed crash on 32-bit Visual Studio build when using scale_factor 3 and SDL
- fixed waves shown upside-down in the SCC Viewer OSD widget
- fixed crash when loading a savestate that has JoyTap plugged in
- performance improvements:
  - several improvements that result in shorter start up time
  - fixed reverse-performance when using hard disks
- fixed handling of corrupt hardware configuration XML file
- fixed crash when MSX with TC8566AF FDC (e.g. turboR) crashed
- fixed possible hang up when reversing with harddisks
- fixed Tcl error when changing horizontal stretch in OSD menu
- fixed displaying of error messages on OSD
- Mac OS X MIDI support:
  - fixed MIDI output on Mac OS X (was not working for some applications)
  - added support for running status
  - added support for system realtime messages
  - added support for MIDI in
- fixed issues with on-screen-keyboard on Android 4.4
- added default keybindings for controllers targeted at gaming
- added mapping of B-control button to press CTRL or SHIFT in OSD keyboard
- added fine grained control in which slots carts and extensions will end up
- added support for single sided disk drives for dir-as-disk
- added support for hard disk images to the OSD menu
- added warning if ROM images with larger size than supported on real Konami
  and Konami SCC mappers are used

Build system, packaging, documentation:
- updated Windows build to Visual Studio 2013
- made compilation faster by removing more than 250 unnecessary includes
- even more use of C++11 features
- upgraded Tcl to 8.5.15
- added build support for 64-bit ARM
- added 256x256 pixel openMSX logo image and use it e.g. for Mac OS X icon
- fixed staticbindist build with more recent clang releases and for Mac OS 10.9
- do not link against libraries in /usr/lib anymore on Mac OS X, only link
  against frameworks. This enables to compile against the default SDK.

openMSX 0.10.0 (2014-01-05)

This release adds many larger and smaller features, but most outstanding are:
cycle accurate VDP command engine timing, an Android port, subdirectory support
for dir-as-disk and Neos MA-20 support. These features meant a lot of work was
done in practically all parts of the code (of which you can read the results in
the complete list below), but at the same time we also freshened up much of the
code using many of the new C++11 language features. All in all, it was time to
release this stuff officially...

Here's the list with all highlights:

MSX device support:
- accuracy improvements:
  - improved TMS99X8/TMS9929 color palette
  - improved V9990/GFX9000:
    - VRAM reads go via 1-byte buffer
    - VRAM read/write pointers only get updated when R#2 and R#5 get written
    - fixed initial content of VRAM of GFX9000
    - V9990 P1/P2 sprites that are disabled still count for the 16 sprite limit
    - fixed roll behaviour of layer B in P1 mode
  - turboR TC8566AF has other register memory mapping than other machines
  - use correct Kanji font ROM for Victor HC-95A and removed S1985
  - added cycle accurate VDP command engine timing (can be disabled with the
    new too_fast_vram_access setting)
  - fixes in YM2413 emulation (FMPAC)
- added mapper support:
  - MSXtra cartridge (a debugging tool released by PTC which has its own RAM)
  - MultiROM Collection, designed by Manuel Pazos in 2006
  - ASCII8 mapper with 2kB SRAM
  - ASCII16 mapper with 8kB SRAM
  - Super Swangi (a.k.a. Super Altered Beast)
- added support for MSX touch pad
- added mu-PACK extension, a MIDI module to upgrade a turboR ST to GT
- added support for large hard disk images and LaserDisc images (>4GB)
- added initial RAM patterns for Sony HB-F1XDJ and Sanyo PHC-23J
- added support for Neos MA-20 Version Up Adapter (MSX1 to MSX2 converter),
  insert both Neos_MA-20R and Neos_MA-20V extensions for this
- fixed Toshiba MSX-AUDIO with no sample RAM
- fixes in joystick, mouse and track ball emulation
- minor fixes in Y8950 (MSX-AUDIO) and YMF262 (MoonSound)
- added OPL3Cartridge2_mono and OPL3Cartridge2_stereo extensions
- added Yamaha SFG-01 extension and replaced the SFG-05 with the SFG-01 in the
  CX5M machine
- added an experimental Boosted_MSXturboR with IDE machine config
- added Casio PV-16, Casio P-7, Casio MX-10, Goldstar FC-80U and Sony HB-F1XV
  machines and an experimental Zemmix Super V (Daewoo CPC-61) machine config

New or improved emulator features:
- added subdirectory support for dir-as-disk
- added configurable host to MSX joystick mapping, e.g. useful to bind the
  crawl command (button A+B) in Metal Gear 2 to a single PC joystick button
- added support for bash completion (useful for using openMSX on the bash
  command line)
- performance improvements:
  - improved start-up performance (on Dingoo openMSX starts over 20% faster)
  - reduced CPU overhead when enabling reverse
  - further optimized CPU emulation
  - sped up CAS loading (use 3744 baud instead of 2760 baud)
  - reduce input latency (poll host events more often and remove delays)
  - speed up reverse in combination with harddisk by using incremental hashing
- reverse/TAS:
  - added reverse subcommand to truncate the current replay
  - show two decimals in the reverse bar time
  - added setting to prevent the reversebar from fading out and made that the
    behaviour in TAS mode
  - added bookmarks feature to reverse bar
  - added possibility to customize TAS key bindings in an external script
  - added setting to auto save replays at intervals
  - added command to reset the lag counter
  - added commands to go to frame boundaries and advance/reverse to frame
  - show values of TAS widgets also in the middle of a frame
- several improvements on the OSD menu:
  - several improvements on the file browser
  - better error handling
  - only show media menu options that are relevant for the current machine
    (e.g. do not show disk drives when the machine has none)
  - added support for LaserDisc
  - added a quit menu with confirmation
  - added limitsprites setting
  - added basic mouse/touch support, including:
    - right click to close current menu
    - support for scrollwheel of mouse to scroll in lists
  - only show video options if they actually make sense
  - added option to make current machine default (started when launching
  - added resampler setting (for performance tuning)
  - added detailed sound chip control (balance, volume, per channel mute)
  - added possibility to browse to other drives on Windows
  - added possibility to insert a new tape in the cassette player and made it
    easy to browse to your newly created tapes
  - added short cuts to browse to your file pools (if they contain stuff)
  - added confirmation dialog before overwriting existing save states
  - added feedback when executing actions like inserting disk, saving state
- remove SSE and MMX assembly routines, only keep rewritten SSE2 routines
- added interleaving with black frame for monitors with LightBoost support
- added OSD widget that displays how busy the VDP is
- enable grab on fullscreen (workaround for Mac issue)
- added Cmd+I hotkey to press Insert key on Mac

Build system, packaging, documentation:
- created Android port (available via Google Play)
- migrated to git
- updated Windows build to Visual Studio 2012 update 3
- prepare for Visual Studio 2013 (next release will be built with it)
- now a compiler which supports C++11 is required to compile openMSX, like g++
  4.6, clang 3.0 or Microsoft Visual Studio 2012
- integrated Dingoo packaging in the build system
- better support for 64 bit systems (sizes, memory, etc.)
- added document about details on VDP command engine timing
- changed machine configurations from specific directories to just an XML file
- removed the GP2X port
- Mac support is now limited to Mac OS X 10.7 (so 64-bit only) and higher

openMSX 0.9.1 (2012-09-30)

This release mostly fixes a bug in dir-as-disk that was introduced in openMSX
0.9.0, when adding support for the DMK format and low level disk emulation. We
not only fixed that bug, we rewrote dir-as-disk almost completely, making it a
lot more robust.

Here's the list with all highlights:

MSX device support:
- Accuracy improvements:
  - improved some details on the laserdisc emulation
  - improved timing of the VDP LINE command (thanks to NYYRIKKI for the ideas)
- added Toshiba HX-21, Toshiba HX-22 and Toshiba HX-22I. The latter two have a
  switchable RS-232C interface (use the new toshiba_rs232c_switch setting)

New or improved emulator features:
- fixed crash with fast resampler and 8192 samples
- dir-As-Disk:
  - dir-as-disk works properly again and is now a lot more robust
  - improve error reporting when something goes wrong
- console support/scripts:
  - added script to save current screen to file in MSX loadable format, thanks
- performance improvements:
  - improved console rendering speed (uses less CPU)
  - improved Tcl integration
  - speed up low level disk emulation
  - optimized rendering of superimposed modes (Video9000, laserdisc)
  - several other performance improvements

Build system, packaging, documentation:
- Added build support for DragonFly BSD, thanks to John Marino

# $NetBSD: Makefile,v 1.48 2018/07/06 03:33:17 ryoon Exp $

DISTNAME=		openmsx-0.14.0
CATEGORIES=		emulators

MAINTAINER=		pkgsrc-users@NetBSD.org
HOMEPAGE=		http://openmsx.org/
COMMENT=		MSX emulator that aims for perfection
LICENSE=		gnu-gpl-v2

USE_TOOLS+=		gmake

MAKE_FILE=		GNUmakefile

PYTHON_VERSIONS_INCOMPATIBLE=	34 35 36 37 # not yet ported as of 0.9.0

SUBST_STAGE.bswap=		pre-configure
SUBST_MESSAGE.bswap=		Do not conflict bswap functions.
SUBST_FILES.bswap=		src/utils/endian.hh
SUBST_FILES.bswap+=		src/utils/tiger.cc
SUBST_SED.bswap=		-e 's, bswap, openmsx_bswap,g'
SUBST_SED.bswap+=		-e 's,::bswap,::openmsx_bswap,g'

.include "../../mk/bsd.prefs.mk"

.if "${PKGSRC_COMPILER}" == "clang"
# As a result of predefining CXX, .wrapper/bin/clang++ is automatically
# hardlinked to c++, g++, which is exactly what we what!
.elif "${PKGSRC_COMPILER}" == "gcc"

	${CP} ${WRKSRC}/build/platform-freebsd.mk \

	(							\
	${ECHO} "#!${SH}";					\
	${ECHO} 'exec ${PREFIX}/openmsx/bin/openmsx $$@'	\
	) > ${WRKSRC}/openmsx.sh

	${INSTALL_SCRIPT} ${WRKSRC}/openmsx.sh ${DESTDIR}${PREFIX}/bin/openmsx
	@${ECHO_MSG} "======================================================================"
	@${ECHO_MSG} "  Don't forget to have sound driver loaded before running openMSX."
	@${ECHO_MSG} "  Otherwise, aRts will throw an exception when launching OpenMSX or"
	@${ECHO_MSG} "  fail to create a directory called '.mcoprc' in the home directory."
	@${ECHO_MSG} "  However, you may execute OpenMSX without sound support like this:"
	@${ECHO_MSG} "  # env SDL_AUDIODRIVER=dummy openmsx <args>"
	@${ECHO_MSG} "======================================================================"

.include "../../audio/libao/buildlink3.mk"
.include "../../devel/SDL/buildlink3.mk"
.include "../../devel/SDL_ttf/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../graphics/glew/buildlink3.mk"
.include "../../graphics/SDL_image/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../lang/python/application.mk"
.include "../../lang/tcl/buildlink3.mk"
.include "../../multimedia/libogg/buildlink3.mk"
.include "../../multimedia/libtheora/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"