Actions

Difference between revisions of "AGES"

From Sonic Retro

(AGES to put this article together.)
 
(Screenshot added.)
Line 1: Line 1:
 +
[[Image:Ages.png|right]]
 
'''AGES''' is a Sega Mega Drive/Gensesis, Sega/Mega CD, 32X, Master System and Game Gear emulator for Windows written by Quinntesson.
 
'''AGES''' is a Sega Mega Drive/Gensesis, Sega/Mega CD, 32X, Master System and Game Gear emulator for Windows written by Quinntesson.
  

Revision as of 19:44, 1 August 2008

AGES is a Sega Mega Drive/Gensesis, Sega/Mega CD, 32X, Master System and Game Gear emulator for Windows written by Quinntesson.

Features

General

  • Player 1 and player 2
  • 3 button and 6 button controllers (with 6-button timeout)
  • Sega mouse
  • Sega Teamplayer Multitap
  • Electronic Arts 4 Way Play
  • Sega Menacer
  • Konami Justifier
  • Raster effects (palette changes *and* VDP configuration changes)
  • BIN/GEN, SMD, MD, 32X, ISO, RAW/BIN, and CUE filetypes
  • ZIP support for BIN/GEN, SMD, 32X, ISO, RAW/BIN, and CUE filetypes
  • RAR support for BIN/GEN, SMD, 32X, ISO, RAW/BIN, and CUE filetypes
  • Menus, dialog boxes, and error messages are fully translatable into other languages
  • IPS patch loading
  • GoodGen.DLL, Good32X.DLL, GoodSMS.DLL, and GoodGG.DLL support
  • Genesis Collective Offline Database support
  • Save State files (including Sega CD)
  • Wave dumping
  • Demo file record and playback
  • Command line support
  • Full drag and drop support
  • Serial EEPROM support
  • Game Genie and .PAT file support
  • Game specific INI for tweaking
  • Automatic IPS patch file load (per-game basis)
  • Network play via KailleraClient.DLL
  • Fast-Forward button (sticky and press-and-hold methods available)


Genesis

  • M68000 and Z80 (custom)
  • Genesis YM2612+DAC sound (sans LFO, RS, DT, SSGEG, FB, stereo control) (custom)
  • Genesis PSG sound (custom)
  • Genesis VDP Shadow and Highlight effects
  • Genesis VDP Sprite Masking, Sprite Collision, and Sprite Limiting
  • Genesis VDP Interlace mode (sans window plane) with (both hi-res and alternating-lines methods available)
  • Genecyst saved state loading
  • Genesis/32X Battery RAM saving and loading


Sega CD

  • M68000 (custom)
  • Most CDD and CDC functions
  • Direct CD-ROM support for Sega CD via ASPI
  • Sega CD music track playback (hardware and software methods available)
  • Sega CD PCM sound
  • Sega CD Rotate/Scale graphics "layer"
  • Sega CD internal backup RAM
  • Sega CD RAM cartridges
  • Disc swapping support (partial)


32X

  • Master and Slave SH2s (custom)
  • most SH2 peripherals
  • All three 32X graphics modes
  • 32X/Genesis layering (except mode 3)
  • Dual frame buffer support

Internals

AGES is a Windows based emulator due to Quinntesson's enthusiasm for DOS protected mode programming. The Windows part of AGES is written in C++ and amounts to very little of the actual code. The majority of AGES is written in assembly. This allows the necessary degree of program flow control, which C++ simply can not provide.

AGES is programmed with the design goal of optimum speed in mind. Portabilty, and/or educational value to others are not even considerations, thus, source code isn't and won't be public. This means that trade-offs between speedier solo Genesis emulation and speedier full Genesis/Sega CD/32X emulation have favored the full Genesis/Sega CD/32X. It also, more generally, means that trade-offs between speed and memory usage have favored speed. Trade-offs between execuatble size and start-up time have favored executable size. Trade-offs between accuracy of emulation and speed have favored accuracy.

Purpose

AGES is a learning project. Quinntesson chose to emulate the Genesis, Sega CD, and 32X because it was collectively unemulated and it is simple in some ways and yet, complex in others. The Genesis/Sega CD/32X combo has elements from older "low-level-complex" and modern "high-level-complex" hardware design styles. Having memory mapped IO, multiple processors (with various data bus sizes and speeds) some CISC and others RISC, and several custom chips, the system is quite a challenge. Quinntesson's endeavour has already resulted in greatly expanding my knowledge of several areas such as various assembly languages, protected mode programming, Windows programming, and Pentium & Pentium Pro & MMX optimizations. Furthermore, Quinntesson has migrated to NASM, the best available assembler for the Intel x86 family.

AGES is for preservation. An emulator is a far more tidy package than an old dusty (and probably non-functioning) video game console with a mess of wires (some of which are probably missing) and a box of cartridges.

Download

Download.svg Download AGES
File: Ages030a.zip ("Ages030a.zip" does not exist) (info)
Current version: 0.30a (2002/11/18)

Release Notes for latest version

*2002/11/18
*After a long delay, here's a new release. Please note that this version does NOT work well under WinXP. See the compatiblity page for more information. Due to the limitations of Multiplayer Network (my host's host), the archive needs to mirrored as much as possible. Here's what's new:

   * Some Genesis, 32X, Sega CD, and SMS compatiblity fixes
   * Added Game Gear emulation
   * M68000, Z80, and SH2 core revisions (lots faster)
   * Faster interlace mode line renderer
   * PSG noise channel
   * 32X, Sega CD, SMS, and GG saved states
   * Network play via Kaillera
   * Added new fast-forward method: "sticky" (complements "press-and-hold")
   * V-Sync option
   * FPS display
   * Brighter colors
   * Close ROM option
   * Multiple joystick support
   * Improved some parts of the GUI (not compatible with WinXP!)
   * Fixed the very annoying clicks/pops in DirectSound output
   * Corrected inaccuracy in Sega CD sector playback timing
   * Implicit track naming (like Gens) for ISO+MP3 CD images
   * Software CD-DA playback (no more CD-to-soundcard cable required)
   * CD-DA playback for BIN/CUE
   * Automatic game patching feature