Gens/GS

From Sega Retro


This short article is in need of work. You can help Sega Retro by adding to it.


Gens/GS is a version of Gens for Linux maintained by GerbilSoft. The main goal of Gens/GS is to clean up the source code and combine features from various forks of Gens. Additionally, a future version of Gens/GS will combine the Windows code into the same codebase, so one codebase can be used to compile on both operating systems.

Releases

Milestone 2

Milestone 2 introduces the following new features:

  • PNG screenshot support via libpng. This was apparently a wishlist item for Gens for the past several years, but no one bothered to add it.
  • Screenshots now save the unfiltered image at the correct resolution. For example, Sonic CD special stages now save as a 256x224 image.
  • Rewrite of the way compressed files are handled. Compressed files are now handled using a generic COMPRESS_Handler interface. Currently, only GZip and Zip files are supported (the same as before), but it's now much easier and simpler to add new formats.
  • The new compression handler detects compressed files by checking the file's header instead of relying on the file's extension. This may help in cases where a file is misnamed.
  • Multi-file Zip support. If a Zip file containing multiple files is selected, Gens will prompt you to select which file to open. The UI for selecting a file is currently not polished, but it will be improved later on.
  • Rewrite of the way renderers are handled. The new rendering system uses the same rendering code, but has a much simpler calling interface.
  • Initial 32-bit color support, ported from Gens Rerecording. Most of the 32-bit color renderers haven't been ported from Gens Rerecording yet, so only three are available in 32-bit: Normal, Double, and Scale2x. 15-bit or 16-bit color is necessary for the others. To change color modes, select Graphics, Bits Per Pixel, and the appropriate color mode.
  • Conditional compilation support for OpenGL, PNG, and x86 asm renderers. If PNG support is not enabled, screenshots will be taken in BMP format.

Milestone 2 fixes the following bugs:

  • Fixed a bug where the 32X VDP overlay disappeared when Gens was paused via the Escape key. The overlay reappeared when Gens was unpaused, though.

Known bugs in Milestone 2:

  • 32X does not work properly in 32-bit color. The MD VDP shows up correctly, but the 32X's colors are all wrong. For now, switch to 15-bit or 16-bit color by selecting Graphics, Bits Per Pixel, and either 15 or 16.

Milestone 1

Milestone 1 introduces the following new features:

  • Massive code cleanup throughout the entire Gens codebase. Many functions with duplicated code have been consolidated so that the duplicated code is now shared between the functions. Also, several large files have been split into smaller files. For instance, gens.c has been split into gens.c, g_md.c, g_mcd.c, g_32x.c, and g_palette.c.
  • Introduction of OS-independent functions, which will allow for the integration of the Win32 version of Gens later on, so that one codebase can be used to build a Gens executable for either operating system.
  • Gens v7 savestate format, ported from Gens Rerecording. This adds, among other things, proper Sega CD savestate support.
  • Fixed the built-in debugger, which was broken due to changes in the way text was written to the emulated screen.
  • Added enhanced Sega CD GFX debugging from Gens Rerecording.
  • VDP/GFX debugging now outlines the selected palette.
  • Initial attempt to consoldidate global variables into structs. This will make it easier to figure out where everything is located.
  • Complete rewrite of the GTK+ UI. Among other things, the new UI has much improved synchronization, so when a menu item is checked, it actually means that item is enabled.
  • Rewrite of the byteswapping functions so that they describe what is being swapped (e.g. be16_to_cpu_array()).
  • Fixed tons of compiler warnings.

Download

Download.svg Download Gens/GS
File: Gens-2.15.2-gs-m2.7z ("Gens-2.15.2-gs-m2.7z" does not exist) (info)
Current version: 2.15.2/GS-m2

Prior Versions

Gens/GS Milestone 1 (446 KB, released 2008/08/26)