Bug 256194 - emulators/openmsx: Update to 17.0
Summary: emulators/openmsx: Update to 17.0
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: freebsd-ports-bugs (Nobody)
URL: https://openmsx.org/
Depends on:
Blocks: 257892
  Show dependency treegraph
Reported: 2021-05-27 12:49 UTC by Daniel Menelkir
Modified: 2021-09-09 06:21 UTC (History)
1 user (show)

See Also:
menelkir: maintainer-feedback+

v1 (36.66 KB, patch)
2021-05-27 12:49 UTC, Daniel Menelkir
no flags Details | Diff
v2 (36.68 KB, patch)
2021-06-10 10:38 UTC, Daniel Menelkir
no flags Details | Diff
v3 (36.68 KB, patch)
2021-06-10 13:59 UTC, Daniel Menelkir
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Menelkir 2021-05-27 12:49:05 UTC
Created attachment 225313 [details]

MSX device support:
- V99x8:
  - fixed timing of VDP settings getting applied. This fixes the screensplit in
    Psycho World, Hydefos, Space Manbow and the Woei demo, and probably more.
    Many thanks to Grauw for figuring out the real problem.
  - fixed that sprites are not disabled instantly, but on the next line
- Carnivore 2:
  - updated initial (out-of-the-box) flash content, with bootmenu 2.40
  - added support for firmware version readout (now hardcoded on 2.30)
  - added support for SLM_cfg register
  - added reading from SCC, which also works on real hardware
- V9990: fix location of bitmap cursor
- fixed OPL4 12-bit sample decoding
- fixed stereo settings of Daewoo CPC-400(S)
- fixed loading/saving of flash content for ReproCartridgeV1/V2 mappers
- fixed bugs in RTC (thanks to KdL and HRA!) regarding leap-year and
- added support for proper mapper registers readout on S1985 systems without
  mapper and with an external mapper that is larger than 512kB
- added support for Zemina 25-in-1 mapper (thanks to BiFi and Hashem)
- added new machines, thanks to:
  - Peter Hanraets: Victor HC-7, (partial) Hitachi MB-H2, Sanyo PHC-23J, Sanyo
    PHC-23 (old), Sanyo PHC-SPC, Sanyo PHC-30N, Sanyo PHC-33 (without built in
    tape drive features), Sanyo PHC-77, Sony HB-75, Sony HB-F700F, Sony
    HB-F500 (v1 and v2), AVT DPC-200, Mitsubishi ML-G10, Hitachi MB-H50
    (without LEDs), Yamaha SX-100, Philips NMS 8250/19
  - Arjen Zeilemaker and others: Toshiba HX-33 and HX-34 (except for the COPY
    button and special hardware for that)
  - Danilo Angel: Sanyo MPC-3
  - others: Sony HB-75D, Sanyo PHC-28P
- added new extensions: Popolon Sound Cartridge (with configurable size)

New or improved emulator features:
- by default also map the D-pad of a controller to the MSX joystick directions
- fixed artifacts on 3x scaling with 512 wide MSX modes on SDLGL-PP
- optimized file pool more, especially when alternative ROMs are to be found
- more accurate resampling, without rounding errors
- fixed possible crash when Tcl callbacks switch the active machine, e.g. using
  step_back in watchpoints
- fixed autorun of tapes/laserdiscs interrupting the replay
- fixed OMR replays with ato-run type command
- faster switching to/from fullscreen, without changing the videosource
- fixed laserdiscplayer eject command still showing the file inserted
- make number of columns for showdebuggable configurable
- fixed broken color_matrix setting (a.k.a. monitor_type)
- fixed drawing of OSD progress info (e.g. while calculating hashes)
- improved performance of calculating hashes of HDD images, especially when
  they're on a network drive
- on Windows, make openmsx.exe a GUI application to avoid the separate extra
  text output window
- added support for automatic internal conversion of SVI CAS files to WAV
- added support for autoruncassettes for SVI CAS files
- fixed autoruncassettes on some models like Yamaha AX150
- OSD menu:
  - menu button is now easy to disable with new osd_menu_button setting
  - removed useless frameskip controls
  - added full speed when loading control
  - tweaked special options in lists like [eject]
  - fixed navigating to file pools for disks
  - show media slot content the same way for all media
  - represent all media slots as slots, more similar to real hardware. You can
    now put both ROM cartridges and extensions in cartridge slots via the same
  - show I/O only extensions as such, as they will not take a physical slot in
  - allow searching also on _ and - characters in lists
  - show display names of what is in a media slot
  - show ROM info of just inserted ROM, not of the most likely running ROM
  - show also MSX slot number in list of cartridge slots
  - fixed handling of multiple identical extensions
  - display a message if a cartridge is removed
  - display the slot behind extensions in the Extension -> Remove menu
  - added Monitor type setting to the Video Settings menu
  - added OSD icon set setting to the Misc Settings menu

Build system, packaging, documentation:
- build support for 64-bit RISC-V
- SDLGL-PP renderer requirements are now relaxed to only OpenGL 2.1 again (was
  3.3 in openMSX 16.0)
- fixed building without SDL joystick support
- C++ code is based on C++17 and thus requires a compiler supporting it
Comment 1 Daniel Engberg freebsd_committer 2021-06-10 06:13:48 UTC
Hi Daniel,

Ref: https://docs.freebsd.org/en/books/porters-handbook/book.html#porting-makefile

Please use the official source archive located here https://github.com/openMSX/openMSX/releases/tag/RELEASE_17_0 instead
Ref: Porter's Handbook - 5.4.3. USE_GITHUB

Does it build using Poudriere?
Comment 2 Daniel Menelkir 2021-06-10 10:38:27 UTC
Created attachment 225695 [details]

(In reply to Daniel Engberg from comment #1)

I did the changes. 
I've rebuild it to make sure it works as expected.
There's not much difference "outside" from the previous version, most differences between 0.16 and 0.17 are on the core itself.
Comment 3 Daniel Engberg freebsd_committer 2021-06-10 10:58:08 UTC
Sorry for not being more specific, ditch USE_GITHUB + friends and use MASTER_SITES instead.
Comment 4 Daniel Menelkir 2021-06-10 13:12:18 UTC
Can I rename the port to openMSX to match upstream?
Comment 5 Daniel Menelkir 2021-06-10 13:34:47 UTC
Nevermind, I've found in other ports that is fine PORTNAME having a different case for the name. This will help a lot.
Comment 6 Daniel Engberg freebsd_committer 2021-06-10 13:53:53 UTC
Don't use uppercase letter in portname ;-)
Comment 7 Daniel Menelkir 2021-06-10 13:59:26 UTC
Created attachment 225701 [details]

The releases page made me a bit confused because I've thought the openmsx-17.0.tar.gz was a linux binary since they distribute windows binaries in the same place. The only thing I don't know is how to properly filter the RELEASE_17_0 in the MASTER_SITES, but I don't think it's a real issue.
Comment 8 Daniel Menelkir 2021-07-06 22:42:25 UTC
Friendly ping. I'm just waiting for this update to start working on catapult.
Comment 9 Daniel Menelkir 2021-08-13 13:38:04 UTC
Another friendly ping.
Comment 10 Daniel Menelkir 2021-09-08 04:08:34 UTC
Should I close this PR?
Comment 11 Daniel Engberg freebsd_committer 2021-09-08 06:09:56 UTC
I can give this a spin in Poudriere later today and we can go from there
Comment 12 Daniel Engberg freebsd_committer 2021-09-09 06:21:52 UTC
Poudriere testport OK 12.2-RELEASE (amd64)