Difference between revisions of "AGES (emulator)"
From Sega Retro
(→General: VOMIT) |
|||
Line 3: | Line 3: | ||
==Features== | ==Features== | ||
− | |||
* Emulation of the [[Sega Mega Mouse]], the [[Sega Teamplayer Multitap]], the [[Electronic Arts]] [[4 Way Play]], the [[Sega Menacer]], and the [[Konami Justifier]] | * Emulation of the [[Sega Mega Mouse]], the [[Sega Teamplayer Multitap]], the [[Electronic Arts]] [[4 Way Play]], the [[Sega Menacer]], and the [[Konami Justifier]] | ||
* Menus, dialog boxes, and error messages are fully translatable into other languages | * Menus, dialog boxes, and error messages are fully translatable into other languages | ||
Line 16: | Line 15: | ||
* Automatic IPS patch file load (per-game basis) | * Automatic IPS patch file load (per-game basis) | ||
− | == | + | ==Missing Features== |
− | * | + | * [[YM2612]] LFO, RS, DT, SSGEG, FB, stereo control |
− | + | * 32X/Genesis layering mode 3 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * 32X/Genesis layering | ||
− | |||
==Internals== | ==Internals== |
Revision as of 19:54, 3 April 2010
AGES is a Sega Mega Drive/Genesis, Sega Mega CD, 32X, Master System and Game Gear emulator for Windows written by Quinntesson.
Features
- Emulation of the Sega Mega Mouse, the Sega Teamplayer Multitap, the Electronic Arts 4 Way Play, the Sega Menacer, and the Konami Justifier
- 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
- Wave dumping
- Demo file record and playback
- Serial EEPROM support
- Game Genie and .PAT file support
- Game specific INI for tweaking
- Automatic IPS patch file load (per-game basis)
Missing Features
- YM2612 LFO, RS, DT, SSGEG, FB, stereo control
- 32X/Genesis layering mode 3
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/Mega CD/32X emulation have favored the full Genesis/Mega 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, Mega CD, and 32X because it was collectively unemulated and it is simple in some ways and yet, complex in others. The Genesis/Mega 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 AGES (emulator)
File: Ages030a.7z (175 kB) (info)
Current version: 0.30a (2002/11/18) |