Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add games/lwjgl-2.9.4 #127

Closed
wants to merge 1 commit into from
Closed

Add games/lwjgl-2.9.4 #127

wants to merge 1 commit into from

Conversation

glowiak
Copy link

@glowiak glowiak commented Jan 28, 2024

To get Minecraft on NetBSD.

Tested and proven to build without errors.

netbsd-srcmastr pushed a commit that referenced this pull request Feb 7, 2024
Changelog:


Release version 12

    Clean up some FreeBSD conditions (#98) (5a81837)
    Add ES256K support (#90) (e6a7ae7)
    Meson changes (#135) (c1569b7)
    Update CI (#8) (#129) (253549a)
    lib/openssl/rsaes.c: Fix issue where jose_hook_alg_find failed to find the … …existance of RSA_OAEP algorithm (58112df)
    Increase test program/scripts timeout values (#131) (45367dd)
    Fix test compilation warnings (#127) (aee1096)
    Adapt alg_comp test to different zlib (#142) (4878253)
    Use checkout v3 Github action to avoid warnings (#137) (6a639e2)
    Alternative fix for fedora:rawide (#138) (55b11f5)
    lib/openssl/hmac.c: rename hmac function to jhmac (#130) (33b9e0b)
    jose: build library only as shared (#119) (b72f8ca)
    meson: add option to disable building manpages (#118) (786b426)
    Add a more descriptive error when jwk gen fails (#105) (cdb1030)
    Use "command -v" instead of "which" (deprecated) (#125) (e1d66f1)
    Test for jq existing (used in jose-jwe-enc test) (#124) (ddc0d2a)
    Correct jose_jws.3 man page example (#122) (ad08d70)
    lib/hsh.c: rename hsh local variable (#111) (3d5b287)
    Avoid master word when possible (#120) (5bc6a92)
    Fix github action CI by setting appropriate centos (a091f56)
    Fix format of jose-jwe-enc man page (76924de)
    Meson Fixes (320336b)
    ci: make ubuntu:devel and fedora:rawhide not to fail the pipeline (1d15950)
    ci: retry when installing the deps in debian/ubuntu (bfdbb6e)
    ci: remove travis-ci (05d8e70)
netbsd-srcmastr pushed a commit that referenced this pull request Apr 30, 2024
Version 1.7.0
.............

Released on 2024-04-27

* Drop Python 3.7 support, add Python 3.12 support
* `#221 <https://github.com/Kozea/cairocffi/pull/225>`_:
  Add environment variable to set folder where DLLs are installed on Windows
* `#225 <https://github.com/Kozea/cairocffi/pull/225>`_:
  Use Ruff instead of Flake8 and isort


Version 1.6.1
.............

Released on 2023-07-24

* `#217 <https://github.com/Kozea/cairocffi/issues/217>`_:
  Repair installation with PyInstaller


Version 1.6.0
.............

Released on 2023-06-12

**This version uses a new CFFI mode that may break your program.**

CairoCFFI now uses Flit for packaging and is also distributed as a Python
wheel.

Please test carefully and don’t hesitate to report issues before using it in
production.

* `#216 <https://github.com/Kozea/cairocffi/pull/216>`_:
  Use ABI-level in-line CFFI mode


Version 1.5.1
.............

Released on 2023-04-15

* `#212 <https://github.com/Kozea/cairocffi/issues/212>`_:
  Bring back XCB support during wheel generation


Version 1.5.0
.............

Released on 2023-03-17

* `#106 <https://github.com/Kozea/cairocffi/issues/106>`_,
  `#200 <https://github.com/Kozea/cairocffi/issues/200>`_:
  Fallback to manual PNG file creation on hardened systems
* `#210 <https://github.com/Kozea/cairocffi/pull/210>`_:
  Use pyproject.toml for packaging and remove other useless files


Version 1.4.0
.............

Released on 2022-09-23

* `#205 <https://github.com/Kozea/cairocffi/pull/205>`_:
  Use pikepdf to parse generated PDF
* `#171 <https://github.com/Kozea/cairocffi/pull/171>`_:
  Don’t use deprecated pytest-runner anymore


Version 1.3.0
.............

Released on 2021-10-04

* `2cd512d <https://github.com/Kozea/cairocffi/commit/2cd512d>`_:
  Drop Python 3.6 support
* `#196 <https://github.com/Kozea/cairocffi/pull/196>`_:
  Fix import `constants.py` import
* `#169 <https://github.com/Kozea/cairocffi/pull/169>`_:
  Add extra library name "cairo-2.dll"
* `#178 <https://github.com/Kozea/cairocffi/pull/178>`_:
  Workaround for testing date string with cairo 1.17.4
* `#186 <https://github.com/Kozea/cairocffi/pull/186>`_:
  Fix link in documentation
* `#195 <https://github.com/Kozea/cairocffi/pull/195>`_:
  Fix typo in documentation
* `#184 <https://github.com/Kozea/cairocffi/pull/184>`_,
  `a4fc2a7 <https://github.com/Kozea/cairocffi/commit/a4fc2a7>`_:
  Clean .gitignore


Version 1.2.0
.............

Released on 2020-10-29

* `#152 <https://github.com/Kozea/cairocffi/pull/152>`_:
  Add NumPy support
* `#143 <https://github.com/Kozea/cairocffi/issues/143>`_:
  Make write_to_png function work on hardened systems
* `#156 <https://github.com/Kozea/cairocffi/pull/156>`_:
  Use major version name to open shared libraries
* `#165 <https://github.com/Kozea/cairocffi/pull/165>`_:
  Don’t list setuptools as required for installation


Version 1.1.0
.............

Released on 2019-09-05

* `#135 <https://github.com/Kozea/cairocffi/pull/135>`_,
  `#127 <https://github.com/Kozea/cairocffi/pull/127>`_,
  `#119 <https://github.com/Kozea/cairocffi/pull/119>`_:
  Clean the way external libraries are found
* `#126 <https://github.com/Kozea/cairocffi/pull/126>`_:
  Remove const char* elements from cdef
* Support Cairo features up to 1.17.2
* Fix documentation generation


Version 1.0.2
.............

Released on 2019-02-15

* `#123 <https://github.com/Kozea/cairocffi/issues/123>`_:
  Rely on a recent version of setuptools to handle VERSION


Version 1.0.1
.............

Released on 2019-02-12

* `#120 <https://github.com/Kozea/cairocffi/issues/120>`_:
  Don't delete _generated modules on ffi_build import


Version 1.0.0
.............

Released on 2019-02-08

6 years after its first release, cairocffi can now be considered as stable.

* Drop Python 2.6, 2.7 and 3.4 support
* Test with Python 3.7
* Clean code, tests and packaging
netbsd-srcmastr pushed a commit that referenced this pull request Oct 6, 2024
Highlights
 - Added support for 32X emulation (with a caveat regarding performance)
 - Significant audio quality improvements for Genesis / Mega Drive and SNES
 - Support for loading directly from .zip and .7z files
 - Lots of Genesis / Mega Drive bugfixes

32X Notes
 - All released 32X games plus Doom 32X Resurrection should be playable except for the 6 FMV games that require the Sega CD 32X combo
     - Doom 32X Resurrection features that require Sega CD do not currently work (CD-DA music, offloading some audio processing to the Sega CD 68000)
 - SH-2 CPU cache and basic SH-2 memory access timings are emulated, so overall SH-2 speed should be moderately accurate (though still faster than actual hardware in some cases)
 - SH-2 emulation is currently not optimized well - full-speed 32X emulation requires a CPU with decent single-core performance, and fast-forward speed will be very limited
     - For a comparison point, the Steam Deck CPU barely runs 32X at full speed from my testing
     - This will likely improve in a future release - the current implementation is pure interpreter because that was easiest to implement and it (surprisingly) still runs at full speed with a fast enough host CPU

New Features
 - Added support for loading directly from .zip and .7z compressed archives for every console except Sega CD (#91)
     - Archives containing multiple images are only partially supported; in this case the emulator will always load the first file with a recognized file extension
 - (SNES) Added an audio enhancement option for cubic Hermite interpolation between decoded ADPCM samples, which usually makes the audio sound sharper and less muffled
     - The difference is most noticeable in games that use low sample rate audio, such as the Donkey Kong Country trilogy
     - This is off by default because it pretty radically changes the sound in some games
 - (Genesis) Added an option to have no controller plugged into one or both of the controller ports, for games that behave differently based on the presence or absence of a controller (#113)
 - (NES) Added support for the UNROM 512 mapper (iNES mapper 30), a homebrew mapper used by a number of games including Black Box Challenge and Battle Kid 2 (#73 / #86)
     - This mapper unusually supports flash memory mapped as PRG "ROM"; for the games that have this (e.g. Black Box Challenge), it's emulated by persisting the entire current contents of PRG ROM to the save file whenever the game modifies itself
 - (GB) Added partial support for the Hudson HuC-3 mapper, used by Robopon and a few Japan-only games (#89)
     - "Partial" because the builtin speaker, the IR sensor, and parts of the event/alarm functionality are not emulated
 - GUI: Added a new "Open Using" menu option to open a file using a specific emulator core, rather than always choosing the core based on file extension (#121)
 - GUI: Added an option to explicitly set the UI theme to light or dark rather than always using the system default

Improvements
 - (Genesis) YM2612 DAC crossover distortion (aka the "ladder effect") is now emulated, which significantly improves music accuracy in a number of games; this is extremely noticeable in Streets of Rage, Streets of Rage 2, and After Burner II, among others
     - There is also a new option to disable ladder effect emulation, since the effect was less pronounced on later console models (and also because I think it's neat to hear how it affects the sound by toggling a checkbox)
 - (SMS/GG/Genesis) Replaced the PSG and YM2612 low-pass filters with much more aggressive ones; this should generally improve audio quality, and in some cases will remove erroneous buzzing/popping noises that were present before (e.g. in The Adventures of Batman & Robin) (#108)
 - Improved audio output behavior for all emulator backends, which should significantly reduce the likelihood of audio pops caused by audio buffer underflow
 - GUI: Added help text to most options menus
 - GUI: Improved performance when the main list table is large

Genesis / Mega Drive Fixes
 - Fixed the PSG's noise channel not oscillating when the period is set to 0 (which should behave the same as period of 1); this fixes missing high-frequency noise in Knuckles' Chaotix among other games
 - Fixed a degenerate case for performance when a game repeatedly writes the same value to specific VDP registers during active display, as After Burner Complete does
 - Fixed some 68000 CPU bugs discovered while working on 32X support
     - Implemented line 1010/1111 exception handling for when the 68000 executes an illegal opcode where the highest 4 bits are 1010 or 1111; Zaxxon's Motherbase 2000 depends on this to boot
     - Fixed divide by zero exception handling pushing the wrong PC value onto the stack; After Burner Complete frequently divides by zero and depends on correctly handling the exception
     - Fixed the DIVS instruction finishing way too quickly in some cases where the division overflows a signed 16-bit result but the CPU doesn't detect the overflow early
 - Fixed an off-by-one error in determining whether to set the sprite overflow flag in the VDP status register; this fixes flickering sprite graphics in Alex Kidd in the Enchanted Castle (#125)
     - This was a regression introduced in v0.6.1 as part of the changes to get Overdrive 2's textured cube effect working
 - Adjusted how writes to the controller CTRL registers ($A10009 / $A1000B) affect the controller's TH line; this fixes controls not working properly in Trouble Shooter (#110)
 - Made it possible for games to read the VINT flag in the VDP status register as 1 slightly before the 68000 INT6 interrupt is raised; this fixes Tyrants: Fight Through Time and Ex-Mutants failing to boot (#127)
 - Implemented undocumented behavior regarding how the Z80 BIT instruction sets the S and P/V flags; this fixes missing audio in Ex-Mutants, which relies on this behavior in its audio driver code
 - Implemented approximate emulation of memory refresh delay
     - This is emulated by simply stalling the 68000 for 2 out of every 128 mclk cycles, unless it executes a very long instruction that doesn't access the bus mid-instruction (e.g. multiplication or division)
     - Memory refresh delay is not emulated in 32X mode because it seemed to break audio synchronization between the Genesis and 32X hardware in some games
 - Added SRAM mappings for several games that have SRAM in the cartridge but don't declare it in the cartridge header: NHL 96, Might and Magic, and Might and Magic III (#107 / #116 / #117)
 - Little-endian ROM images are now detected and byteswapped on load; this along with a custom ROM address mapping fixes Triple Play failing to boot (#112)
 - The emulator will now recognize the unconventionial region string "EUROPE" as meaning that the game only supports PAL/EU; this fixes Another World incorrectly defaulting to NTSC/US mode instead of PAL/EU (#122)
 - Unused bits in the Z80 BUSACK register ($A11100) now read approximate open bus instead of 0; this fixes Danny Sullivan's Indy Heat failing to boot (#120)
 - Improved VDP DMA timing; this fixes corrupted graphics in OutRunners (#118)
 - The vertical interrupt is now delayed by one 68000 instruction if a game enables vertical interrupts while a vertical interrupt is pending; this fixes Sesame Street: Counting Cafe failing to boot (#119)
 - The Z80 BUSACK line now changes immediately in response to bus arbiter register writes instead of waiting for the next Z80 instruction time slot; this fixes the Arkagis Revolution demo failing to boot (#123)
 - The emulator will now enable the bank-switching Super Street Fighter 2 mapper if the cartridge header declares the system as "SEGA DOA" in addition to the standard value of "SEGA SSF"; this fixes the Demons of Asteborg demo not working properly (#115)

Other Fixes
 - Fixed save state slots not working properly if the ROM filename contains multiple dots; before this fix, only one slot would ever be used
 - (Sega CD) When a game issues a CDD command while the drive is playing, the drive now continues to read one more sector before it changes behavior in response to the new command; this fixes Radical Rex crashing during the intro (#100)
 - (Sega CD) Writes to PRG RAM by the main CPU and the Z80 are now blocked unless the sub CPU is removed from the bus; this fixes Dungeon Explorer from crashing after the title screen (#104)
 - (Sega CD) The sub CPU is now halted if it accesses word RAM in 2M mode while word RAM is owned by the main CPU, and it remains halted until the main CPU transfers ownership back to the sub CPU. This fixes glitched graphics in Marko's Magic Football (#101)
 - (Sega CD) Various fixes to CDC register and DMA behavior; with this plus all of the above fixes, the emulator now fully passes the mcd-verificator test suite (#105)
 - (NES) The UxROM mapper code (iNES mapper 2) no longer assumes that the cartridge has no PRG RAM; this fixes Alwa's Awakening: The 8-Bit Edition failing to boot (#93)
 - (SNES) Adjusted timing of PPU line rendering to occur 4 mclk cycles later; this fixes Lemmings having a flickering line at the top of the screen during gameplay
     - This worked correctly prior to v0.7.2 - it was broken by the CPU timing adjustment that fixed Rendering Ranger R2 from constantly freezing
 - (GB) Fixed the window X condition incorrectly being able to trigger when WX=255 and fine X scrolling is used (SCX % 8 != 0); this fixes corrupted graphics in Pocket Family GB 2
 - Fixed the emulator crashing if prescale factor is set so high that the upscaled frame size exceeds 8192x8192 in either dimension
netbsd-srcmastr pushed a commit that referenced this pull request Oct 13, 2024
Highlights
 - Added support for 32X emulation (with a caveat regarding performance)
 - Significant audio quality improvements for Genesis / Mega Drive and SNES
 - Support for loading directly from .zip and .7z files
 - Lots of Genesis / Mega Drive bugfixes

32X Notes
 - All released 32X games plus Doom 32X Resurrection should be playable except for the 6 FMV games that require the Sega CD 32X combo
     - Doom 32X Resurrection features that require Sega CD do not currently work (CD-DA music, offloading some audio processing to the Sega CD 68000)
 - SH-2 CPU cache and basic SH-2 memory access timings are emulated, so overall SH-2 speed should be moderately accurate (though still faster than actual hardware in some cases)
 - SH-2 emulation is currently not optimized well - full-speed 32X emulation requires a CPU with decent single-core performance, and fast-forward speed will be very limited
     - For a comparison point, the Steam Deck CPU barely runs 32X at full speed from my testing
     - This will likely improve in a future release - the current implementation is pure interpreter because that was easiest to implement and it (surprisingly) still runs at full speed with a fast
enough host CPU

New Features
 - Added support for loading directly from .zip and .7z compressed archives for every console except Sega CD (#91)
     - Archives containing multiple images are only partially supported; in this case the emulator will always load the first file with a recognized file extension
 - (SNES) Added an audio enhancement option for cubic Hermite interpolation between decoded ADPCM samples, which usually makes the audio sound sharper and less muffled
     - The difference is most noticeable in games that use low sample rate audio, such as the Donkey Kong Country trilogy
     - This is off by default because it pretty radically changes the sound in some games
 - (Genesis) Added an option to have no controller plugged into one or both of the controller ports, for games that behave differently based on the presence or absence of a controller (#113)
 - (NES) Added support for the UNROM 512 mapper (iNES mapper 30), a homebrew mapper used by a number of games including Black Box Challenge and Battle Kid 2 (#73 / #86)
     - This mapper unusually supports flash memory mapped as PRG "ROM"; for the games that have this (e.g. Black Box Challenge), it's emulated by persisting the entire current contents of PRG ROM to
the save file whenever the game modifies itself
 - (GB) Added partial support for the Hudson HuC-3 mapper, used by Robopon and a few Japan-only games (#89)
     - "Partial" because the builtin speaker, the IR sensor, and parts of the event/alarm functionality are not emulated
 - GUI: Added a new "Open Using" menu option to open a file using a specific emulator core, rather than always choosing the core based on file extension (#121)
 - GUI: Added an option to explicitly set the UI theme to light or dark rather than always using the system default

Improvements
 - (Genesis) YM2612 DAC crossover distortion (aka the "ladder effect") is now emulated, which significantly improves music accuracy in a number of games; this is extremely noticeable in Streets of
Rage, Streets of Rage 2, and After Burner II, among others
     - There is also a new option to disable ladder effect emulation, since the effect was less pronounced on later console models (and also because I think it's neat to hear how it affects the sound
by toggling a checkbox)
 - (SMS/GG/Genesis) Replaced the PSG and YM2612 low-pass filters with much more aggressive ones; this should generally improve audio quality, and in some cases will remove erroneous buzzing/popping
noises that were present before (e.g. in The Adventures of Batman & Robin) (#108)
 - Improved audio output behavior for all emulator backends, which should significantly reduce the likelihood of audio pops caused by audio buffer underflow
 - GUI: Added help text to most options menus
 - GUI: Improved performance when the main list table is large

Genesis / Mega Drive Fixes
 - Fixed the PSG's noise channel not oscillating when the period is set to 0 (which should behave the same as period of 1); this fixes missing high-frequency noise in Knuckles' Chaotix among other
games
 - Fixed a degenerate case for performance when a game repeatedly writes the same value to specific VDP registers during active display, as After Burner Complete does
 - Fixed some 68000 CPU bugs discovered while working on 32X support
     - Implemented line 1010/1111 exception handling for when the 68000 executes an illegal opcode where the highest 4 bits are 1010 or 1111; Zaxxon's Motherbase 2000 depends on this to boot
     - Fixed divide by zero exception handling pushing the wrong PC value onto the stack; After Burner Complete frequently divides by zero and depends on correctly handling the exception
     - Fixed the DIVS instruction finishing way too quickly in some cases where the division overflows a signed 16-bit result but the CPU doesn't detect the overflow early
 - Fixed an off-by-one error in determining whether to set the sprite overflow flag in the VDP status register; this fixes flickering sprite graphics in Alex Kidd in the Enchanted Castle (#125)
     - This was a regression introduced in v0.6.1 as part of the changes to get Overdrive 2's textured cube effect working
 - Adjusted how writes to the controller CTRL registers ($A10009 / $A1000B) affect the controller's TH line; this fixes controls not working properly in Trouble Shooter (#110)
 - Made it possible for games to read the VINT flag in the VDP status register as 1 slightly before the 68000 INT6 interrupt is raised; this fixes Tyrants: Fight Through Time and Ex-Mutants failing
to boot (#127)
 - Implemented undocumented behavior regarding how the Z80 BIT instruction sets the S and P/V flags; this fixes missing audio in Ex-Mutants, which relies on this behavior in its audio driver code
 - Implemented approximate emulation of memory refresh delay
     - This is emulated by simply stalling the 68000 for 2 out of every 128 mclk cycles, unless it executes a very long instruction that doesn't access the bus mid-instruction (e.g. multiplication or
division)
     - Memory refresh delay is not emulated in 32X mode because it seemed to break audio synchronization between the Genesis and 32X hardware in some games
 - Added SRAM mappings for several games that have SRAM in the cartridge but don't declare it in the cartridge header: NHL 96, Might and Magic, and Might and Magic III (#107 / #116 / #117)
 - Little-endian ROM images are now detected and byteswapped on load; this along with a custom ROM address mapping fixes Triple Play failing to boot (#112)
 - The emulator will now recognize the unconventionial region string "EUROPE" as meaning that the game only supports PAL/EU; this fixes Another World incorrectly defaulting to NTSC/US mode instead of
PAL/EU (#122)
 - Unused bits in the Z80 BUSACK register ($A11100) now read approximate open bus instead of 0; this fixes Danny Sullivan's Indy Heat failing to boot (#120)
 - Improved VDP DMA timing; this fixes corrupted graphics in OutRunners (#118)
 - The vertical interrupt is now delayed by one 68000 instruction if a game enables vertical interrupts while a vertical interrupt is pending; this fixes Sesame Street: Counting Cafe failing to boot
(#119)
 - The Z80 BUSACK line now changes immediately in response to bus arbiter register writes instead of waiting for the next Z80 instruction time slot; this fixes the Arkagis Revolution demo failing to
boot (#123)
 - The emulator will now enable the bank-switching Super Street Fighter 2 mapper if the cartridge header declares the system as "SEGA DOA" in addition to the standard value of "SEGA SSF"; this fixes
the Demons of Asteborg demo not working properly (#115)

Other Fixes
 - Fixed save state slots not working properly if the ROM filename contains multiple dots; before this fix, only one slot would ever be used
 - (Sega CD) When a game issues a CDD command while the drive is playing, the drive now continues to read one more sector before it changes behavior in response to the new command; this fixes Radical
Rex crashing during the intro (#100)
 - (Sega CD) Writes to PRG RAM by the main CPU and the Z80 are now blocked unless the sub CPU is removed from the bus; this fixes Dungeon Explorer from crashing after the title screen (#104)
 - (Sega CD) The sub CPU is now halted if it accesses word RAM in 2M mode while word RAM is owned by the main CPU, and it remains halted until the main CPU transfers ownership back to the sub CPU.
This fixes glitched graphics in Marko's Magic Football (#101)
 - (Sega CD) Various fixes to CDC register and DMA behavior; with this plus all of the above fixes, the emulator now fully passes the mcd-verificator test suite (#105)
 - (NES) The UxROM mapper code (iNES mapper 2) no longer assumes that the cartridge has no PRG RAM; this fixes Alwa's Awakening: The 8-Bit Edition failing to boot (#93)
 - (SNES) Adjusted timing of PPU line rendering to occur 4 mclk cycles later; this fixes Lemmings having a flickering line at the top of the screen during gameplay
     - This worked correctly prior to v0.7.2 - it was broken by the CPU timing adjustment that fixed Rendering Ranger R2 from constantly freezing
 - (GB) Fixed the window X condition incorrectly being able to trigger when WX=255 and fine X scrolling is used (SCX % 8 != 0); this fixes corrupted graphics in Pocket Family GB 2
 - Fixed the emulator crashing if prescale factor is set so high that the upscaled frame size exceeds 8192x8192 in either dimension
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants