Gens/GS

From Sega Retro

GensGS.png

Gens/GS is a Sega Mega Drive emulator derived from Gens and maintained by GerbilSoft. Project goals include clean source code, combined features from various forks of Gens, and improved platform portability.

Gens/GS is one of the few emulators that supports Mega CD PAR codes. Codes with RAM addresses that aren't even are not allowed, so conversion is necessary for such odd addressed codes. Genesis Plus GX for the Wii is another system that allows Mega CD code usage.

Download.svg

Download Gens/GS
Multiple downloads available

Gens/GS Release 7 (Win32, i386; Packaging Update 1) ("Gens-gs-r7-win32-pkg1.zip" does not exist) (info)

In This Release

New Features

  • Added an additional color scaling method, "Full with S/H". This method takes into account the Shadow and Highlight functionality of the Sega Mega Drive's VDP. With this method, MD color 0xEEE (white) is scaled to 0xEEEEEE for normal, 0xFFFFFF for highlight, and 0x777777 for shadow. This color scaling method is now the default.
  • Initial reimplementation of "Full Screen Minimize". This allows the emulator to minimize itself from Full Screen when a dialog is open, e.g. to load a ROM image. It is currently only usable for a specific case on the Linux version.
  • [Linux] Added Alt-Tab support in Full Screen. This uses the "Full Screen Minimize" infrastructure.

Bug Fixes

  • [Win32] Added a workaround for an ASPI-related crash on Windows 98SE.
  • [Win32] Fixed a regression from r7_pre3 that caused Gens/GS to crash if a ROM is loaded via File, Open ROM and a Saitek P580 gamepad is plugged in. Special thanks to NeKit from Sonic Retro for helping to diagnose and solve this problem.
  • [Linux] Fixed a regression from r7_pre4 where starting Gens/GS in fullscreen mode with a ROM specified wouldn't work. This bug was reported by Zombie in #retro.

Miscellaneous

  • [Win32] The custom debug console activated with "--debug" on the release build has been replaced with a standard Win32 console, which is created after initial startup.
  • [MDP] Implemented mdp_host_t->emulator_control(MDP_EMUCTRL_RELOAD_INFO).
  • Added "Manual" and "Report a Bug" items to the Help menu.

Low-Level Code Changes

  • [libgsft] Added an implementation of strsep() and removed the strtok_r() implementation. All Gens/GS code that uses strtok_r() has been switched over to strsep().
  • [libgsft] Added the BSD implementations of strlcpy() and strlcat(). Most Gens/GS code has been switched over to these functions.
  • Initial infrastructure for dynamically loading libpng. This will be used to separate libpng on Gens/GS Win32 into a separate DLL. If libpng can't be found, Gens/GS will fall back to saving screenshots in BMP format.
  • Eliminated most of the "DECL" macros from the x86 assembler files. This reduces the total symbol count in the resulting binaries.
  • Added a new x86 assembler macro, SYM(), which prefixes symbols with the appropriate C symbol prefix for the platform.


For information about previous releases, see the ChangeLog.txt file included with Gens/GS.


Gens/GS II

Gens/GS II is a partial rewrite of Gens/GS written by GerbilSoft. Gens/GS II improves the basic framework of the emulator, which will allow for the addition of many new features.


Other Information

Git Repository

Trivia

  • A parody version of the emulator, Gens/GS S2HD Edition, was released to mock the high overhead and bad effects of modern-day emulation compilations and poor-quality "HD" remakes.

Forum Threads

Older Forum Threads