!

[Multi] JGenesis 0.11 3/02/2026

[53] @ Wtorek, 3 Lutego 2026 23:26CET

JGenesis to emulator szereg konsol do gier 8-bitowych i 16-bitowych. Udaje Sega Genesis / Mega Drive, Sega CD / Mega CD, Sega Master System / Mark III, Game Gear, Nintendo Entertainment System (NES) / Famicom, Super Nintendo Entertainment System (SNES) / Super Famicom, Game Boy / Game Boy Color i Sega 32X / Mega 32X.

JGenesis 0.11 3/02/2026

Some of the most notable changes since v0.10:

  • Game Boy Advance emulation now supported
  • 32X now supports emulated CPU overclocking
  • Slightly improved 32X color accuracy
  • Improved 32X PWM audio quality
  • Sega CD per-region BIOS configuration
  • NES palette customization options
  • Game Boy and Game Boy Color now support LCD ghosting emulation via frame blending
  • Support for running original Game Boy games in Game Boy Color mode
  • Support for turbo/autofire input mappings
  • Fixed a ton of bugs for every system, including two Sega CD regressions that affected v0.10
  • SDL upgraded from SDL2 to SDL3

Save states are not compatible with previous versions.

Details

Game Boy Advance

  • Game Boy Advance emulation is now supported; requires a Game Boy Advance BIOS ROM
  • Video options for color correction and LCD ghosting emulation (frame blending), both enabled by default
  • Audio enhancement option to apply enhanced interpolation to the Direct Sound channels rather than accurately emulating actual hardware's resampling behavior
    • This massively reduces audio aliasing and noise in most cases, but it can also make audio sound muffled when games use very low sample rates (as most GBA games do)
  • CPU/prefetch/DMA/etc. timing is not perfect but should be moderately accurate
  • All types of cartridge save memory supported, with an option to force a specific type if auto-detection gets it wrong
  • The cartridge RTC chip and solar sensor are emulated for the handful of games that use them (e.g. Boktai), other cartridge peripherals are not currently emulated

New Features

  • (Genesis) Added an option to ignore configured aspect ratio and display square pixels when the VDP is in H40/H320px mode (#442)
  • (Genesis) Added support for games with 24C64 EEPROM chips; College Slam and Frank Thomas Big Hurt Baseball are now playable (#459)
  • (Genesis) New audio option to enable/disable individual YM2612 audio channels
  • (Genesis) New audio option to adjust volume of individual sound sources
  • (Genesis) Added some additional memory/register views to the Memory Viewer window
  • (Sega CD) Added support for per-region BIOS configuration, where the emulator will automatically select the appropriate BIOS based on game region
  • (32X) Added two new color display options (#492)
    • New option to darken Genesis colors relative to 32X colors, enabled by default; on actual hardware the brightest 32X colors are noticeably brighter than the brightest Genesis colors
    • New option to apply a yellow or purple tint to 32X colors, roughly as observed on actual hardware
  • (32X) Added an option to overclock the SH-2s; this is extremely CPU-intensive but can reduce slowdown in some games
  • (32X) Added options to hide all pixels of a given priority (#494)
  • (NES) Added palette customization options (#424)
    • Can now load a custom palette from a file; both 64-color and full 512-color palette files supported
    • GUI now has a builtin NTSC palette generator with a graphic displaying the current palette
  • (SNES) Added support for the ST018 coprocessor, used by Hayazashi Nidan Morita Shougi 2
    • This is emulated using an ARM7TDMI implementation (ARMv4T) rather than an ARM6 (ARMv3), but this should not make any functional difference
  • (GB) Added a frame blending option that simulates LCD ghosting, enabled by default; enabling this fixes graphical effects in a few games and demos (#469)
  • (GB) When color correction is enabled, you can now manually adjust the LCD gamma value used for gamma correction
  • (GB) Added support for booting from a boot ROM (#404)
  • (GB) Added an option to run original Game Boy software in Game Boy Color mode (#150)
    • This feature requires a GBC boot ROM in order to initialize the compatibility palettes, and it is off by default because it (accurately) causes major bugs in a few games
  • (GB) Added (proper) support for the MBC30 mapper, used by the Japanese version of Pocket Monsters Crystal Version (#478)
  • (GB) Added support for unlicensed/homebrew games with an SRAM size byte of $01 (2 KB) (#485)
  • (Game Gear) Added a frame blending option that simulates LCD ghosting, currently disabled by default
  • (Game Gear) Added support for booting from a BIOS / boot ROM (#404)
  • Added turbo button support for face and shoulder buttons on all emulated systems (#554)
  • Added options to automatically pause the emulator when in the background (#585)

Improvements

  • Upgraded SDL from SDL2 to SDL3; for the most part this should hopefully have no noticeable impact except for audio playback maybe working a little better than before
    • As part of this, I removed the borderless vs. exclusive fullscreen setting because this seemed much less straightforward to change in SDL3; fullscreen will now always use whatever the platform and graphics driver default to (probably always borderless on modern platforms)
  • The auto-prescale video setting can now use separate scale factors for width and height, which produces a less aliased image when games use display modes with sub-1 pixel aspect ratio (e.g. Genesis NTSC H40/H320px mode, SNES high-res modes)
    • Auto-prescale is also now enabled by default (the previous default was a fixed 3x upscale factor)
  • (32X) Improved quality of PWM chip audio resampling
    • There is also a new audio option to switch to the old resampling algorithm, which is lower quality but usually sounds a little sharper (given that most 32X games use PWM sample rates of 22 KHz or less)
  • (SNES) When using the Super Scope, the emulator now displays the new Super Scope Turbo state whenever you toggle Turbo on/off
  • (GB) Audio is now sampled internally at 2 MHz rather than 1 MHz, which should reduce audio aliasing from the wavetable channel

General Fixes

  • Fixed a number of cases that would cause the emulator to crash, none triggered by official releases (as far as I know) but some triggered by homebrew/demos/test ROMs
    • (Genesis) Loading a ROM file smaller than 1 KB or so (#434)
    • (Genesis) Z80 tries to access its own memory through the 32KB 68K memory bank by mapping it to $A00000-$A07FFF or $A08000-$A0FFFF
    • (Genesis) VRAM-to-VRAM copy DMA with source address higher than $1FFFF
    • (Genesis) 68000 triggers a privilege violation exception
    • (Genesis) 68000 triggers an address error while handling an exception
    • (32X) One of the SH-2s executes a SLEEP instruction (#431)
    • (32X) One of the SH-2s executes an illegal opcode
    • (32X) One of the SH-2s tries to access certain invalid memory addresses (highest 3 bits set to 100 or 101)
    • (32X) 68000 performs a 16-bit read from certain invalid memory addresses
    • (SMS / Game Gear / Genesis) Z80 handles an IRQ while in interrupt mode 2
    • (SNES) Loading a ROM file smaller than 32 KB (#538)
    • (SNES) Loading an SA-1 cartridge where the cartridge header claims it does not have any BW-RAM (anything that does this now gets 64 KB of BW-RAM)
    • (SNES) SA-1 Character Conversion DMA Type 1 with an I-RAM destination address higher than $7FF
    • (GB) CPU executes a STOP instruction with no CGB speed switch armed (#465)
  • Fixed changes to the save path and save state path options not applying immediately if changed while an emulator is running
  • Fixed the UI theme option not applying to the Memory Viewer window

Genesis / Sega CD / 32X Fixes

  • Fixed the VDP rendering too many pixels of the previous color when a game makes a mid-scanline backdrop color change while display is disabled; this improves accuracy of the glitchy lines in Gouketsuji Ichizoku / Power Instinct (#462)
  • Fixed the 6-button controller timeout period being a little too short (#445)
  • Fixed two games failing to boot due to the emulator not giving them the correct type of cartridge save memory
    • Honoo no Toukyuuji: Dodge Danpei has a 24C01 EEPROM chip (#460)
    • Al Michaels Announces HardBall III has 32 KB of SRAM (#546)
  • Slightly adjusted memory refresh delay timing when the main CPU is executing out of RAM; this fixes incorrectly visible CRAM dots in Snatcher
  • (Sega CD) Fixed implementation of VDP DMA reads from word RAM being delayed; this fixes glitchy background graphics in Snatcher (again)
    • This was a regression that affected v0.10.0 and v0.10.1; it was broken by VDP DMA changes in v0.10.0
  • (Sega CD / 32X) Adjusted inter-CPU/VDP timings to account for some VDP timing changes made in v0.10.0; this fixes the Sega CD version of Mickey Mania having glitchy graphics on the right side of the screen in the 3D chase stages (#491)
    • This was also a regression that affected v0.10.0 and v0.10.1
  • (32X) Improved accuracy of VDP auto fill timing; this fixes occasional major graphical glitches in Shadow Squadron / Stellar Assault during the intro and takeoff sequences (#225 / #439)
  • (32X) Fixed some inaccuracies around VDP register latching; this fixes some early 32X demos not working properly (#430)
  • (32X) Fixed some PWM resampling bugs that sometimes caused erroneous pops in PWM audio output
  • (32X) Slightly improved SH-2 timing accuracy, particularly around 32-bit SDRAM writes being way too slow (#493)
  • (32X) Fixed 32X HINT counter behavior not matching Genesis HINT behavior, which caused SH-2 horizontal interrupts to be off by a line (#559)
  • (32X) Fixed 32X VDP per-line events (HBlank, line render) triggering slightly too early in the line
  • Several timing fixes that fix graphical bugs in the Chaekopon demo by Limp Ninja (#435)
    • Adjusted low-level sprite processing timings so that sprite attribute fetching is performed slightly earlier in the line
    • Fixed a pretty egregious DMA timing bug where DMA would take way too long to start copying if initiated during active display with display enabled
  • Fixed a number of inaccuracies identified by the testpico test ROM (#482)
    • Fixed implementation of how Genesis VINT and HINT are delayed by 1 instruction when re-enabled; the previous implementation did the wrong thing when two consecutive MOVE instructions enabled then disabled VDP interrupts
    • Fixed the Genesis VDP's F flag starting to read 1 (VINT pending) slightly later than it's supposed to
    • (32X) Fixed behaviors related to enabling/disabling/clearing SH-2 VINT during VBlank
    • (32X) Fixed some register bits being incorrectly writable / not writable
    • (32X) Updates to initial state at power-on to more closely match actual hardware

NES Fixes

  • Very slightly adjusted sprite 0 hit timing; this fixes glitchy lines on the title screen of Indiana Jones and the Last Crusade (#314)
  • DMC DMA timing is now emulated; this fixes screen jitter in Ultimate Air Combat (#268)
  • Fixed non-power-of-two CHR ROM sizes not working correctly (#573)
  • Several fixes for inaccuracies identified by the AccuracyCoin test ROM (#551)
    • Fixed an APU timing issue that sometimes caused an incorrectly skipped frame counter clock when software wrote 0x80 to $4017 with two consecutive sta $4017 instructions
    • More accurate APU frame counter timing
    • More accurate OAM DMA timing
    • DMA dummy reads are now emulated (with a new option to disable dummy controller port reads because they cause input glitches in some games)
    • CPU open bus is now properly emulated (it was previously faked by always returning the address high byte)
    • More accurate PPU open bus emulation
    • Most PPU registers are no longer writable immediately after reset
    • Fixed the 6502 incorrectly polling the interrupt lines during the final cycle of BRK instructions and IRQ handling
    • More accurate controller port behaviors around strobing and consecutive-cycle reads

SNES Fixes

  • Fixed BG2 incorrectly not rendering in Mode 7 if BG1 is disabled and BG2+EXTBG are enabled; this fixes missing background graphics in F-1 Grand Prix (#529)
  • Fixed V IRQs incorrectly not triggering when a game either 1. changes VTIME to the current line while V IRQs are enabled, or 2. enables V IRQs while VTIME is set to the current line; this fixes graphical corruption in F-1 Grand Prix, F-1 Grand Prix Part III, S.O.S.: Sink or Swim, and RoboCop vs. The Terminator (#529 / #530 / #543)
  • Fixed multiple bugs in the BG vertical mosaic implementation, which was previously quite wrong; this fixes graphical bugs in Beavis and Butt-Head and Jurassic Park Part 2: The Chaos Continues (#532 / #540)
  • Improved DMA timing accuracy; this fixes graphical glitches in Circuit USA (#531)
  • Fixed incorrect DSP-1 port address mapping for DSP-1 cartridges with more than 1 MB of ROM; this fixes Super Bases Loaded 2 failing to boot (#534)
  • Fixed some revisions of Tintin in Tibet incorrectly defaulting to NTSC timings instead of PAL (#539)
  • The 65816 stack pointer is now initialized to $01FF instead of $0100; this fixes some homebrew games failing to boot due to stack corruption (#468)
  • Fixed SA-1 Character Conversion DMA Type 1 in 2bpp or 4bpp mode incorrectly treating the input packed pixel data as big-endian within a byte when it is actually little-endian; this fixes graphical glitches in the SA-1 tech demo cartridge (#537)
  • Implemented multiplication/division timing; this fixes some old homebrew that accidentally depends on reading intermediate division results (#576)

Game Boy [Color] Fixes

  • Fixed the GBC color correction implementation nonsensically performing calculations in sRGB color space rather than linear color space; this makes a particularly huge difference for the GBA LCD option
  • Slightly adjusted timing of when the STAT LY=LYC bit reads 1; this fixes a glitchy line in Elevator Action (#472)
  • The serial port transfer data register (SB / $FF01) is now read/write; this fixes Card Game not allowing you to start the game (#471)
  • Fixed sample output behavior of pulse and wavetable channels when the DAC is enabled but the channel is inactive
  • Added approximate emulation of DAC fading when a channel's DAC is turned on or off; combined with the above change, this fixes buzzing noises in Cannon Fodder, 3D Pocket Pool, and others (#475)
  • Fixed VRAM DMA incorrectly terminating prematurely when the destination address increments from $9FFF to $A000; this fixes freezing in F1 Championship Season 2000 (#464)
  • HDMA5 writes with bit 7 set are now allowed to change the length of in-progress HDMAs; this fixes corrupted graphics in NASCAR 2000 (#467)
  • HDMA is now able to halt the CPU mid-instruction; this fixes occasional glitchy frames in Toy Story Racer
→ [Multi] JGenesis 0.10.1 17/06/2025

JGenesis 0.10.1 17/06/2025

Bugfix release

Only one functional change in this release, which fixes a regression introduced in v0.10.0:

  • (SNES) Corrected implementation of how Mode 7 clips scrolled center point coordinates; this fixes missing background graphics on some screens in Super Metroid (#426)
    • (The PPU does not simply clip to signed 10-bit or signed 11-bit like previous implementations did; it converts from signed 14-bit to signed 11-bit by dropping bits 10-12, combining the lowest 10 bits with the sign bit from the full 14-bit value)

JGENESIS 0.10.0 13/06/2025

Gunship (1993, U.S. Gold)
Gunship (1993, U.S. Gold)

Notable changes since the last release (v0.8.3):

  • Revamped low-pass filter options for Genesis / Sega CD / 32X that should be significantly more accurate to actual hardware than the v0.8.3 settings
  • Improved audio quality for all emulated systems via much higher-quality audio resampling
  • A rather large number of bugfixes for Genesis, Sega CD, 32X, SMS, Game Gear, SNES, Game Boy [Color]
  • Major bugfixes for Linux AppImage builds in Wayland
  • Save state files are now internally compressed using zstd, which should reduce save state file size by 70-80% in most cases
  • Basic CPU + CD-ROM drive overclocking options for Sega CD, which have fairly low compatibility but do help in some games

New Features

  • (Genesis / Sega CD / 32X) Replaced the low-pass filtering settings added in v0.8.3 with a new set of options that should be more accurate to actual hardware
    • New option to apply a first-order 3.39 KHz low-pass filter to Genesis audio output; this is ON by default (biggest change from previous default settings)
    • New option to apply a second-order 7.97 KHz low-pass filter to Sega CD PCM audio output; this is ON by default
    • New options to individually configure whether the Genesis low-pass filter is applied to Sega CD and 32X audio output; these are all OFF by default
  • (Genesis / SNES) Added a new video setting to disable deinterlacing in the handful of games that use interlaced display modes (e.g. Sonic the Hedgehog 2 in 2P Vs. mode, Ys III (Genesis) with the in-game "Int Mode" option enabled, Air Strike Patrol in mission briefing screens)
    • Deinterlacing enabled matches the behavior in previous versions: normal-resolution interlaced modes display the same as progressive mode, and high-res interlaced modes make the graphics processor render all 448/480 lines every frame
  • (Sega CD) Added an option to overclock the sub CPU by decreasing the master clock divider (#138)
  • (Sega CD) Added an option to increase the disc drive speed when reading data tracks (#138)
    • This has low compatibility but can shorten loading times in some games. Compatibility is slightly higher when the sub CPU is overclocked
  • (Sega CD) Added an additional PCM chip interpolation option for 6-point cubic Hermite interpolation, which in some cases produces a slightly cleaner sound than 4-point cubic Hermite (the existing setting)
  • Added a new hotkey to quickly toggle whether overclocking settings are enabled, for the systems that support overclocking (this includes Sega CD's new drive speed setting)
    • This is mainly useful for Sega CD, where increasing the drive speed can shorten loading times during gameplay but almost always breaks FMVs and animated cutscenes

Improvements

  • Audio resampling code has been rewritten to use the windowed sinc interpolation algorithm, which is much higher quality than the previous resampling implementation at a relatively low performance cost (for most emulated systems)
    • Windowed sinc interpolation can be very performance-intensive for NES and GB/GBC audio resampling, so these two systems have a new audio setting to choose between windowed sinc interpolation and the old resampling algorithm (low-pass filter followed by nearest neighbor interpolation)
  • (Genesis) Slightly improved performance by optimizing VDP rendering and tile fetching code
  • (Genesis) Frontends now recognize .gen and .smd as file extensions for Genesis / Mega Drive ROM images (#149)
    • This includes attempting to auto-detect when a ROM image is interleaved (common for .smd files), and deinterleaving it during load
  • (SMS) The "crop vertical borders" video setting now defaults to enabled instead of disabled; unlike the left border, the vertical borders will only ever show the current backdrop color
  • (SMS) The SMS model setting now defaults to SMS1, which emulates a VDP hardware quirk that is required for the Japanese version of Ys to render correctly (#182)
  • (SMS / Game Gear) Reduced log level of a warning message that caused excessively verbose log output in Virtua Fighter Mini (#199)
  • (SNES) In games that use the SA-1 coprocessor, the SA-1 CPU now gets a wait cycle every time it accesses SA-1 BW-RAM, similar to actual hardware
    • The SA-1 CPU still runs faster than actual hardware in some cases because bus conflict wait cycles are not emulated
  • GUI: When opening a game that requires a BIOS ROM or firmware ROM (e.g. any Sega CD game), if the BIOS/firmware ROM path is not configured, the error window now contains a button to configure the appropriate ROM path and immediately launch the game
  • CLI: If no config file exists, the CLI will now attempt to write out the default config to the config path so that it can be edited manually if desired
  • Save state files are now internally compressed using zstd which should reduce save state file size by at least 50%, often by 70-80%
  • Frontends should now correctly handle files with uppercase file extensions

Multi-System Fixes

  • Fixed a performance bug in the audio resampling code that could have caused intermittent extremely poor performance due to performing arithmetic on subnormal floating-point numbers, which can be up to 100 times slower than normal floating-point arithmetic on some CPUs (#135)
  • Linux: AppImage builds now exclude all Wayland-related system libraries during packaging; this fixes the emulator failing to launch in some distros, e.g. Solus Plasma (#143)
  • Linux: AppImage builds now interpret relative paths in command-line arguments as being relative to the original working directory where the AppImage was launched from, not the AppImage internal runner directory (#147)
  • Linux/BSD CLI: For these platforms only and for the CLI only, reverted the change to estimate window scale factor because SDL_GetDisplayDPI does not return reliable values on Linux/BSD
  • Adjusted frame time sync's sleep implementation to fix frame time sync potentially causing slowdown on some platforms
  • Save state files are now explicitly versioned, which fixes potential crashing when attempting to load an incompatible save state file from a different version

Genesis / Mega Drive Fixes

  • Fixed the 68000 incorrectly being allowed to access audio RAM while the Z80 is on the bus; this fixes freezing in Joe & Mac (#144)
  • Fixed Z80 RESET not clearing the Z80's HALT status
  • Fixed writes to YM2612 F-num high / block registers ($A4-$A6 and $AC-$AE) taking effect immediately instead of after the next F-num low register write; this fixes some music glitches in Valis
  • Implemented more accurate emulation of how the YM2612 computes operator amplitude from phase and envelope attenuation
  • Fixed in-game saves not working correctly when Sonic & Knuckles is locked on to a cartridge with SRAM (e.g. Sonic 3)
  • Fixed certain revisions of QuackShot not loading correctly due to having non-standard cartridge ROM address mappings (#174)
  • Fixed some illegal 68000 opcodes incorrectly decoding to "valid" instructions (#184 / #185)
  • Fixed an edge case related to how sprite tile/pixel overflow interacts with H=0 sprite masking (#186)

Sega CD Fixes

  • Implemented a higher minimum seek time for small seek distances; this fixes Thunder Storm FX (JP) failing to boot (#178)
  • Fixed a regression introduced in v0.8.3 that caused PCM chip channels to skip the first sample after being enabled (this made little-to-no audible difference in practice because the first sample is usually 0)
  • Fixed slightly inaccurate emulation of PCM chip looping behavior at sample rates higher than 0x0800 / 32552 Hz
  • Fixed inaccurate emulation of CD-DA fader volumes 1-3 out of 1024 (should be 50-60 dB of attenuation instead of complete silence)
  • Unmapped/unknown address accesses will now log an error instead of crashing the emulator

32X Fixes

  • Fixed a major bug in the PWM resampling code that caused PWM audio output to sound significantly more poppy and crackly than it's supposed to
  • Fixed a bug around synchronizing SH-2 accesses to 32X communication ports that could have caused writes to be skipped in some cases; this fixes freezing in the Sonic Robo Blast 32X demo (#160)
  • Significantly improved timing of 32X VDP interrupts for the SH-2s (#166)
  • Significantly improved synchronization between the SH-2s and the 68000
  • Fixed PWM DMA transfer rate via DREQ1 not taking the PWM timer interval into account; this fixes broken sound effects in BC Racers (#179)

Master System / Game Gear Fixes

  • Fixed the Z80's RETI instruction not correctly copying IFF2 to IFF1 like RETN does; this fixes Desert Strike from freezing when you press Start/Pause (#181)
  • Fixed incorrect handling of non-power-of-two ROM sizes, which fixes several homebrew games and demos (#201 / #203 / #204)
  • (Game Gear) Fixed the emulator crashing if a game enables the VDP's 224-line mode, as the homebrew GG Turrican does (#202)

SNES Fixes

  • Implemented more accurate clipping and truncation in Mode 7 intermediate calculations; this fixes glitched Mode 7 graphics in Tiny Toon Adventures: Wacky Sports Challenge (#161)
  • Mode 7 registers are now latched about 12 pixels before line rendering begins; this fixes a glitchy line near the bottom of the play area in Battle Clash, where the screen transitions from Mode 1 to Mode 7
  • Implemented an obscure behavior regarding the effects of writing to OAM during active display; this fixes incorrect sprite display in Uniracers' Vs. mode (#164)
  • Made a best effort at implementing the effects on sprites of toggling forced blanking during active display; this mostly fixes some test ROMs that exercise this (#162)
  • Adjusted behavior of APU communication ports when the 65816 writes to a port on the same cycle that the SPC700 clears the port; this fixes Kishin Douji Zenki: Tenchi Meidou failing to boot (#187)

Game Boy [Color] Fixes

  • Implemented an obscure behavior where pulse channels should output a constant 0 after power-on until after the first phase increment; this fixes missing voice samples in Daiku no Gen-san - Robot Teikoku no Yabou (#151)
  • Fixed a bug related to the pulse channel phase counter reloading on the same cycle as a frequency change via NR13/NR14/NR23/NR24; this combined with the above change fixes missing voice samples in Keitai Denjuu Telefang (#47)
  • Added emulation for a hardware quirk where the Mode 2 STAT interrupt appears to trigger 145 times per frame, not 144; this fixes GBVideoPlayer (#155)
  • CGB palette RAM auto-increment flags now default to 1 (#156)
  • Slightly adjusted timings related to powering on the PPU; this combined with the above change fixes GBVideoPlayer2 (#156)
  • Fixed an edge case where LYC writes at the beginning of a line were not triggering the LY=LYC STAT interrupt under certain conditions; this fixes glitchy graphics on the title screen of the SQRKZ homebrew (#154)
  • The contents of OBJ palette RAM are now randomized at power-on (#152)
→ [Multi] JGenesis 0.8.0 16/09/2024
Xenon II Megablast (1991, Bitmap Brothers)
Xenon II Megablast (1991, Bitmap Brothers)

JGENESIS 0.8.0 16/09/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

Vox populi

Ten artykuł nie byl jeszcze komentowany:(

Dodaj komentarz!!!!

Nick
Email
Www
Komentarz
 
wstecz03/02/2026 23:26
Inne treści związane z tematem
[pce] Geargrafx 1.6.14 06/02/2026 [pce] Geargrafx 1.6.14 06/02/2026
Ignacio Sanchez Gines (drhelius), autor emulatora GearBoy (Nitendo GameBoy), GearSystem (Sega Master System) i GearColeco (Colecovision) zabrał się za nowego udawacza - tym razem na ogień poszła konsola Turbographx 16 lub jak to woli PCE Engine. To chyba pierwsza próba wśród emulatorów zaprzęgnięcia do pomocy agenta AI, który ma wspomagać śledzenie ...
[pce] Geargrafx 1.6.12 02/02/2026 [pce] Geargrafx 1.6.12 02/02/2026
Ignacio Sanchez Gines (drhelius), autor emulatora GearBoy (Nitendo GameBoy), GearSystem (Sega Master System) i GearColeco (Colecovision) zabrał się za nowego udawacza - tym razem na ogień poszła konsola Turbographx 16 lub jak to woli PCE Engine. To chyba pierwsza próba wśród emulatorów zaprzęgnięcia do pomocy agenta AI, który ma wspomagać śledzenie ...
[pce] Geargrafx 1.6.10 13/12/2025 [pce] Geargrafx 1.6.10 13/12/2025
Ignacio Sanchez Gines (drhelius), autor emulatora GearBoy (Nitendo GameBoy), GearSystem (Sega Master System) i GearColeco (Colecovision) zabrał się za nowego udawacza - tym razem na ogień poszła konsola Turbographx 16 lub jak to woli PCE Engine. To chyba pierwsza próba wśród emulatorów zaprzęgnięcia do pomocy agenta AI, który ma wspomagać śledzenie ...
[NDS] melonDS 1.1 18/11/2025 [NDS] melonDS 1.1 18/11/2025
Całkiem prężnie rozwijany projekt melonDS wzbogacił się o pierwszego pełną wersję. Emulator autorstwa StapleButter (lolSnes, blargSNES) bardzo dobrze sobie radzi w emulacji jak i NDS, jak i NDSi. Zaryzykowałbym nawet iż jest ciut lepiej nim się bawi niż DeSmuMe;) W nowej wersji poprawiono działanie sieci, dodano bardzo miło wyglądający renderer OpenGL - jest, co ...
Do ściągnięcia
W ramach wolnego czasu odtwarzam stare magazyny komputerowe i prowadzę serwis emulacyjny try2emu. Jeżeli uważasz, że moja publiczna działalność możesz postawić mi kawę, a kawę lubię;). Wspierając mnie, otrzymujesz w nagrodę dostęp do pełnych pdf'ów publikowanych magazynów - czyli dokładnie takich jakie spełniają zamierzenia tego projektu.
Postaw mi kawę na buycoffee.to
Dodatkowe informacje
Ostatnio dodane pliki
Newsy Linkownia Emulatory na PC Wideoteka Screenshoty Bajtek Reduks Ready.Run Kreator okładek na kasety Kreator kalendarzy Alpha

© Try2emu 1999 - 2026 | Krzysztof 'Faust' Karkosza Kontakt Polityka Prywatności OWU