'An Agama! What willst thou do?' --Miracle Warriors

AGAMA

A Specification for Enhancing the Software Debug Capabilities of the Sega Mark III Architecture

AGAMA Project Documentation Other Documentation
[Introduction] [Philosophy] [Overview]

Introduction

AGAMA is a specification defining enhanced debug capabilities for the Sega Mark III Architecture (SM3A). The specification defines a common debug architecture for each system device, along with a new execution mode that provides software with complete control over all system debug features. This new mode allows debug code to execute in an environment independent of the standard SM3A execution environment, insulating debug code from the production code intended for release versions of the software. Lastly, the AGAMA specification defines an interface through which an external debugger can extract state or control execution of the target machine.


Philosophy

The AGAMA specification is intended to promote software development for the Sega Mark III, Sega Master System, and Sega Game Gear machines (all of which are different implementations of the SM3A) by improving the debug environment. Therefore, the AGAMA specification does not define audio or video improvements for these machines. Such improvements would prove useless since software developed to take advantage of improved graphics or sound capabilities would be incompatible with existing SMS and GG consoles. (Besides, systems with improved graphics and sound already exist in the form of more modern game systems, such as the Sega Genesis.) Debug code, however, is not included in release builds of software, so adding software-accessible debug features to the SM3A, as done in the AGAMA specification, does not present a problem.


Overview

AGAMA is just one of three components in the MesaDX project. The three components are:

MesaDX:
MesaDX is the main application. MesaDX is a Windows application suitable for execution on any Windows 98 (or later) platform that supports DirectX 5.0 (or later). MesaDX provides a user-interface and various Windows resources to the emulation system, which is implemented in a separate DLL file. (The current emulator DLL shipped with MesaDX is called Kokin, and is discussed below.)

Kokin:
Kokin is a library of emulator implementations for SM3A devices with AGAMA extensions. All the emulator devices (Processor, Memory, VDP, PSG, etc.), are implemented in Kokin and loaded when MesaDX is launched. The current version of MesaDX permits the user to load specific devices from the Kokin DLL. This flexibility allows developers to create specific configurations on which to develop/test/debug their application software.

AGAMA:
AGAMA is a specification that extends the traditional Sega Mark III Architecture to include sophisticated debugging features. The most important improvement offered by AGAMA is the inclusion of Monitor Mode which allows developers to create special software that can monitor any or all of the system events occuring during execution.

More information about each component can be found at the links provided above.
[Introduction] [Philosophy] [Overview]



Maintained by Eric R. Quinn