@database AmiMasterGear
@$VER: AmiMasterGear Documentation V0.82
@author "Originally Shaun Bellingham"

@node "Main" "AmiMasterGear Emulator."
@next "Readme"

                     <=------------------------------=>
                          @{b} AmiMasterGear Emulato@{ub}r
                       Version@{fg shine} 0.82 @{fg text}(23.July.2002)
                       By:  Juan Antonio Gómez Gálvez
                          Update by Gaelan Griffin
                           @{fg fill}( Registered Version )@{fg text}
                     <=------------------------------=>

                             @{" Read me first " link "Readme" 0}

                   @{"Introduction   " link "Introduction" 0}      @{"Copyrights     " link "Copyrights" 0}
                   @{"Features       " link "Features" 0}      @{"Author         " link "Author" 0}
                   @{"Requirements   " link "Requirements" 0}      @{"Greetings      " link "Greetings" 0}

                   @{"Usage          " link "Usage" 0}      @{"Technical data " link "Technical" 0}
                   @{"Control Methods" link "Control" 0}      @{"History        " link "History" 0}
@endnode


@node "Readme" "AmiMasterGear Emulator."
@next "Introduction"
@prev "Main"
@{b}Read me first@{ub}


    This is an update to AmiMasterGear.  Check the history for more info.

    The original author is no longer developing it.  I probably won't
    be developing it much further either, now that I've made most of the
    modifications I wanted to do.  If you find some bugs I may try to fix
    them.  You may also request some minor changes or the source code.

    Thank you Juan for this and many other excellent emulators for the Amiga.



    Original text follows:



    Hello friends!!!

    Some notes with this version:

    Now CPU emulation can be emulated in three forms:

    Real: Emulates a Z-80A at 3.5Mhz

    Fast: Emulates a Z-80A at fastest posible.

    Turbo: Emulates a Z-80A at 3.5Mhz but not wait to next Amiga frame.


    All games will work fine with 'Real' mode but some games like SONIC
saga requires 'Fast' mode for a better emulation.

    That's all!!!!

    Enjoy!

    Juan  aka  007!

@endnode


@node "Introduction" "AmiMasterGear Emulator."
@next "Features"
@prev "Readme"
@{b}Introduction@{ub}

    This program is designed to emulate the famous:

    "Master System" and "Game Gear" machines of SEGA.


    This program was 100% designed to work with AGA hardware and highly
optimized on Motorola 68020 machine language.

    As a consequence this program can't work with Graphics cards or PowerPC
processors.

    I use AGA chip set via hardware directly to get your 100% performance,
consequently this program can't multitask with the AmigaOS.


@{fg fill} THE AUTHOR ACCEPTS NO RESPONSIBILITY FOR THE LOSS OF DATA OR
EQUIPMENT FROM THE USE OF THIS SOFTWARE.
@endnode

@node "Features" "Features"
@next "Requirements"
@prev "Introduction"
@{b}Features@{ub}

  Fast: Original speed of "Master System" and "Game Gear" achieved
  Smooth scrolls
  One frame screen refresh
  Sound support
  Snapshot support
  Save battery RAM
  Supports line interrupts with screen changes in real time
  Supports realtime palette changes.
  Support for two controllers
  Various control methods supported (Keys, (CD³²) Joypad, Joystick)
  Cheat mode (Find and set cheats in your games!)
  Z-80A Emulation: Highly optimized and compatible (Ported from my AmiMSX2)
  Great GUI, so it's very easy to use
  XPK/XAD support for packed ROMs
  Keyfile support (optional, keyfile is included)
@endnode

@node "Requirements" "Requirements"
@next "Usage"
@prev "Features"
@{b}Requirements@{ub}

    - An AGA Amiga computer (eg. A1200/A4000/CD32)
    - MC68020+  (and 100% compatible with MC68030/MC68040/MC68060)
    - A PAL or NTSC compatible VDU
    - asl.library
    - stc.library        (For Stone Cracker decrunch support)
    - xpkmaster.library  (For XPK support)
    - xadmaster.library  (For XAD support)


@{fg highlight}Minimum requirements for adequate emulation:@{fg text}

    - MC68020 at 28Mz or MC68030 at 25Mz
    - 1Mb of real 32bit fast memory


@{fg highlight}Recommended requirements for adequate emulation:@{fg text}

    - MC68030 at 50Mz or better
    - 2Mb of real 32bit fast memory
@endnode

@node "Usage" "Instructions"
@next "Control"
@prev "Requirements"
@{b}How to use AmiMasterGear@{ub}

 @{fg shine}Project@{fg text} 
  @{fg shine}Menu Screen@{fg text}              Sets the GUI screen mode (will also be saved in the preference file)
  @{fg shine}Save Graphics@{fg text}            Saves MasterGear VRAM as an IFF-ILBM
  @{fg shine}Save Prefs@{fg text}               Save current preferences to 'S:AmiMasterGear.prefs'
  @{fg shine}Cheat mode @{fg text}              Locate and set cheat addresses of the current cartridge
 
 @{fg shine}Cartridges@{fg text}
  @{fg shine}Insert/Eject Cartridge@{fg text}   Load/Unload a cartridge
  @{fg shine}Load/Save Frozen@{fg text}         Creates snapshots of the emulation screen
  @{fg shine}Load/Save RAM Batt@{fg text}       Loads/Saves the virtual RAM battery
  @{fg shine}Clear RAM Batt@{fg text}           Clears the virtual RAM battery

 @{fg shine}Options@{fg text}
  @{fg shine}JoyStick 2 ON@{fg text}            Enables Second Joystick (Mouse port)
                           (Only for games supporting two players)
  @{fg shine}Swap JoyPorts@{fg text}            Swap Amiga Joyports
                           If this option is disabled:

                           Player One = Amiga Joy Port B.
                           Player Two = Amiga Joy Port A.

                           If this option is enabled:

                           Player One = Amiga Joy Port A.
                           Player Two = Amiga Joy Port B.

                           Note: Player one always uses the keyboard

  @{fg shine}Black Border@{fg text}             Borders of the emulaton screen will be black
  @{fg shine}No illogical moves@{fg text}       Left and Right instantly, or Up and Down instantly.  
                           Joy-reads are not accepted.  (Useful if keyboard is used for gameplay)

  @{fg shine}Auto Load RAM-Battery@{fg text}    Reads battery (nameofgame.sav) when a cartridge is inserted
  @{fg shine}Auto Save RAM-Battery@{fg text}    Save  battery (nameofgame.sav) when you re-insert another cartridge or
                           quit the emulator
  @{fg shine}Ask for Save RAM-Battery@{fg text} This will display a prompt before the battery is saved
                           NOTE: The option 'Auto Save RAM-Battery' must be disabled)
 
  @{fg shine}Show fps@{fg text}                 Show fps in a corner of screen. (frames per second)

 @{fg shine}Video Emulation@{fg text}
  @{fg shine}Sprites Pri@{fg text}              Causes sprites to prioritise emulation
  @{fg shine}Background Pri@{fg text}           Shares priorities between sprites and background
  @{fg shine}Realtime Scroll@{fg text}          Support all scroll changes in realtime
  @{fg shine}Realtime Palette@{fg text}         Support all palette changes in realtime


 @{fg shine}Country code@{fg text}
  @{fg fill}Master System@{fg text}            Enables either the Japanese or English version of a game
 @{fg fill} Game Gear@{fg text}                Country code is automatically established when you insert a cartridge

 @{fg shine}Disable Cheats@{fg text}            'Cheat mode' and 'Save Frozen' are disabled for the current cartridge

 @{fg shine}Ask for Reset@{fg text}             Prompts the user before the emulator is reset
@endnode

@node "Control" "Control"
@next "Technical"
@prev "Usage"
@{b}Control methods@{ub}


@{i}Keyboard (Keys also work in joystick mode)@{ui}

 @{fg shine}Esc@{fg text}        = Exit to menu.
 @{fg shine}Del@{fg text}        = Pause (Master System only)
 @{fg shine}Enter@{fg text}      = Start (Game Gear only)
 @{fg shine}Left Amiga@{fg text} = Button A
 @{fg shine}Left Alt@{fg text}   = Button B
 @{fg shine}Space@{fg text}      = Button B
 @{fg shine}Cursors@{fg text}    = Up/Down/Left/Right

@{i}Amiga joystick or compatible joypad@{ui}

 @{fg shine}Fire@{fg text}        = Button A
 @{fg shine}Second Fire@{fg text} = Button B               (If exists) [pin 9]
 @{fg shine}Third Fire@{fg text}  = Start (Game Gear only) (If exists) [pin 5]

 Use keyboard keys for other buttons

@{i}CD32 joypad@{ui}

 @{fg shine}Play Button@{fg text}        = Exit to menu
 @{fg shine}Green Button@{fg text}       = Pause (Master System only)
 @{fg shine}Yellow Button@{fg text}      = Start (Game Gear only)
 @{fg shine}Red Button@{fg text}         = Button B
 @{fg shine}Blue Button@{fg text}        = Button A
 @{fg shine}Rewind Button@{fg text}      = Button B
 @{fg shine}Fast Foward Button@{fg text} = Button A
@endnode

@node "Technical" "Technical information"
@next "History"
@prev "Control"
@{b}Technical data@{ub}

 Developed using an Amiga 1200+Blizzard 1220+2Gb Hard Disk

 Programmed using Devpac III

 AmiMasterGear is 100% programmed and optimized in MC68020 assembly language

 80% of the coding and design is based on the AmiMSX2 emulator
 
 GUI created with GadToolsBox

    7064ines of MasterGear emulation code
   12298 lines of menu code
    6762 lines of GadToolsBox generated code
   ------
   @{fg shine}26124 lines (??? lines with macros expanded)@{fg text}

    100% compatible with 020,030,040 and 060
@endnode

@node "History" "History"
@next "Copyrights"
@prev "Technical"
@{b}History@{ub}


   @{fg shine} v0.82 (2001-2002)@{fg text}

    Port $00 (Start Button) fixed.  (Pop Breaker)
    Fixed SET/RES.  (Defenders of Oasis, Shining Force Gaiden, maybe more)
    Second page of SRAM now supported.
    XAD support added.
    Lots of GUI bug fixes both major and minor.
    See the file named ChangeLog for more details.


   @{fg shine} v0.81 (2 January 2000)@{fg text}

    CPU 'Halt' Bug re-fixed. (Formula 1 work again)
    Support for Fast CPU. (Emulation Speed: Real / Fast / Turbo)
    Fixed a bug in Mask ROM mappers. (Thanks Antony Dzeryn)
                Now, Alex Kidd #? work again!!!


   @{fg shine} v0.8  (12 December 1999)@{fg text}

    Z-80A Syncronization re-programmed for better emulation.
    Auto-Skip frames support. (Gfx Refreh: Auto) for slow Amigas.
    Show fps in a corner of screen. (Frames per Second)
    In/Out port 5 bug fixed, now more games work!


   @{fg shine} v0.7  (1 Novenber 1999)@{fg text}

    Real Time Palette Changes support.
    Some Little Z-80A Optimizations.
    Z-80A 'Halt' Instruction Bug Fixed.


   @{fg shine} v0.62  (25 October 1999)@{fg text}

    Game Gear Black Screen bug fixed.


   @{fg shine} v0.61  (24 October 1999)@{fg text}

    Syncronized CPU emulation can run at real or fastest speed.
    Save Screen and Sprites as IFF-ILBM pictures.
    Skip Graphics and Sprites frames bug Fixed.
    Key file Included with package.  (S:AmiMasterGear.Key)


   @{fg shine} (August 1999)@{fg text}  AmiMasterGear is FreeWare.

    Key file is free.  Registered to The Amiga Community.


   @{fg shine} v0.6  (21 March 1999)@{fg text}

    Syncronized CPU Emulation Finished. (Car games now work!)


   @{fg shine} v0.51  (1 February 1998)@{fg text}

    Snapshots 100% Finished, Now it work 100%.  (Frozen)
    Realtime Palette changes refresh support.
    Rainbow Island.sms works again.  (thanks Rickard)
    Reprogrammed 'Continue' cart mode, now it work 100% allways.
    Pause key read on CD32 Joypad fixed.


   @{fg shine} v0.50  (25 January 1998)@{fg text}

    Snapshot support (Frozen)
    Some little bugs fixed.


   @{fg shine} v0.45  (15 January 1998)@{fg text}

    Minor Bugs fixed:
    Fixed Game Gear Blank Screen.
    Sometimes Continue button resets carts.  Now Fixed!
    Fixed a unsyncronization of Realtime Scroll Refresh.


   @{fg shine} v0.44  (12 January 1998)@{fg text}

    Background Priorities with Sprites done.
    Sprites Collisions done (Simulation) (Cheese Catastrophe and others)
    Some bugs in CPU accesses to VDP fixed.  (Bart vs mutans and others)
    Bug in Memory Mapper Page 0 fixed.  (Now more games work!)


   @{fg shine} v0.43   (7 December 1997)@{fg text}
    
    BIG Bug fixed in memory mapped control
    A variety of software now works:
    Sonic, Super Final Fury, Rampage, R-Type, and a lot more...


    @{fg shine}v0.42   (6 December 1997)@{fg text}
    
    Master System country code bug fixed.  (Now games work in English)


   @{fg shine} v0.41  (23 November 1997)@{fg text}
    
    Sprite priorities supported (Selectable)


    @{fg shine}v0.40  (10 November 1997)@{fg text}

    HALT bug fixed
    Sprite emulation optimized and finished (now 30% faster!)
    GFX emulation optimized and finished. (32 colours and 20% faster!)
    Line interrupts emulated
    Supports real time scroll changes
    Pause key emulated (Master System)
    Battery-RAM support
    Keyfile support
    XPK support
    Cheat mode


    @{fg shine}v0.3   (16 May 1997)@{fg text}

    PAL/NTSC Selectable
    Little bug fixed in GFX realtime refresh
    OUT ($BE),x  x=H,D,B bug fixed


   @{fg shine} v0.2   (16 March 1997)@{fg text}

    First version
@endnode


@node "Copyrights" "Copyrights"
@next "Author"
@prev "History"
@{b}Disclaimer@{ub}
 
 The author does not take any responsibilities for the incorrect use of this
 software

 @{fg shine}Master System and Game Gear@{fg text} are registered trademarks of SEGA

 @{fg shine}Devpac III@{fg text}              © HiSoft

 @{fg shine}GadToolsBox@{fg text}             © Java Development

 @{fg shine}Stc.library@{fg text}             © StoneWare SoftWorks (By Jouni Korhonen)

 @{fg shine}AmiMSX2 Emulator@{fg text}        © Juan Antº Gómez Gálvez
@endnode

@node "Author" "Contact addresses"
@next "Greetings"
@prev "Copyrights"
@{b}Author@{ub}

 Gaelan Griffin's contact information:

 @{fg shine}E-Mail:@{fg text}                @{bg shine}chinoclast@softhome.net@{bg back}

 Due to circumstances, I might not get your email or it might take months
 before I get it.  Feel free to try contacting me as many times as you wish.

 The original author's contact information follows, although he is no
 longer developing any of his emulators.



 If you want to contact me, try the following means:
 
 
 @{fg shine}Snail-Mail:@{fg text}            Juan Antº Gómez
                        Aptdo. de Correos: 275
                        08940 Cornellà de Llobregat
                        BARCELONA
                        SPAIN

 @{fg shine}E-Mail:@{fg text}                @{bg shine}joanant@arrakis.es@{bg back}

 @{fg shine}AmiEmulators Web Page:@{fg text} @{bg shine}http://www.arrakis.es/~joanant@{bg back}

 @{fg fill}Note: I am currently very busy, so you may have to wait a while for a reply@{fg text}
@endnode

@node "Greetings" "Greetings"
@prev "Author"
@{b}Greetings and Thanks@{ub}

 @{fg shine}Special thanks for support to:
 @{fg text}   MATRA Corporation.

 Special Greetings to the best Spanish group: @{fg shine}Ozone@{fg text}
 @{fg shine}Multivac@{fg text} for your Icons, graphics and AmiEmulators WEB
 @{fg shine}Skid/Ozone@{fg text} for Modem support and stuff!!!
 @{fg shine}Roderick Mouthaan@{fg text} and @{fg shine}Philippe Bezon@{fg text} for being good friends
 @{fg shine}Pascal Willano@{fg text} for helping me to make my emulators compatible with 040
 @{fg shine}Sergi Martínez@{fg text} for his help in AmiMSX2
 @{fg shine}Shaun Bellingham@{fg text} for making this guide readable and great!!!
 @{fg shine}Simon Goodwin@{fg text} for your infos in how to emulate PSG noise
 @{fg shine}Tomas Amsrud@{fg text} for your Spripts installers and icons for my emulators
 @{fg shine}Lennart Johannesson@{fg text}, @{fg shine}Emanuel Schleussinger@{fg text}, @{fg shine}Carl Warrent@{fg text}, @{fg shine}Hans Guijt@{fg text}, @{fg shine}Niklas Berg@{fg text}
 @{fg shine}Richard Koerber@{fg text}, @{fg shine}Rodney Norton@{fg text}, and @{fg shine}Ben Cass@{fg text} for your helps and support!
 @{fg shine}Alvites Szaler Lobsang@{fg text} for the great AmiBEE!
 @{fg shine}Tony Vera Díaz@{fg text}, que no coño!, que NO Tony, que tú no has estado akí!!!

@{b}Special Greetings to:@{ub}

 @{fg shine}Hans Guijt@{fg text}   fMSX-Amiga.
 @{fg shine}Ville Helin@{fg text}   Wzonka-lad.
 @{fg shine}Fredrik Olsson@{fg text}   coolNESs.
 @{fg shine}Morgan Johansson & Fredrik Schultz@{fg text}   A/NES.
 @{fg shine}László Török@{fg text}   Avid / Savage.

@endnode


