@database AmiMasterGear
@$VER: AmiMasterGear documentation v1
@author "Shaun Bellingham"

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

                     <=------------------------------=>
                          @{b} AmiMasterGear Emulato@{ub}r
                      Version@{fg shine} 0.51@{fg text} (1.February.1998)
                       By:  Juan Antonio Gómez Gálvez
                         @{fg fill}( Shareware DEMO Version )@{fg text}
                     <=------------------------------=>

                             @{"Introduction   " link "Introduction" 0}
                             @{"Features       " link "Features" 0}
                             @{"Requirements   " link "Requirements" 0}

                             @{"Usage          " link "Usage" 0}
                             @{"Control Methods" link "Control" 0}

                             @{"How to Register" link "Registration" 0}

                             @{"Technical data " link "Technical" 0}
                             @{"History        " link "History" 0}

                             @{"Future         " link "Future" 0}

                             @{"Copyrights     " link "Copyrights" 0}
                             @{"Author         " link "Author" 0}
                             @{"Greetings      " link "Greetings" 0}

@endnode

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

        This program is designed to emulate the famous "Master System" and "Game gear" machines.
Although this version is not yet finished, it emulates many ROM images successfully.

        This software is still in the development stages (hence the version number), so no guarantee
can be made by the author that this program emulates a full "Master System" or "Game Gear".

        @{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!)
  PAL or NTSC display modes only, but PAL is more compatible
  Z-80A Emulation: Highly optimized and compatible (Ported from my AmiMSX2)
  Great GUI, so it's very easy to use
  XPK support for packed ROMs
  Keyfile support
@endnode

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

    - An AGA Amiga computer (eg. A1200/A4000)
    - MC68020+  (and 100% compatible with MC68030/MC68040/MC68060)
    - A PAL or NTSC compatible VDU
    - asl.library
    - stc.library        (Only for Stone Cracker decrunch support)
    - xpkmaster.library  (For XPK 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
    - 1Mb 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}Save VRAM@{fg text}                Saves MasterGear VRAM as an IFF-ILBM @{fg fill}(not implemented yet)@{fg text}
  @{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}CPU Emulation@{fg text} @{fg fill}(This mode is not implemented yet)@{fg text}
  @{fg shine}Syncronized@{fg text}              Emulation is 100%, all work correctly.
  @{fg shine}UnSyncronized @{fg text}           Not a full emulation, but runs substantially faster
                           The video can run in a 1 frame refresh mode

 @{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 "Registration"
@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 "Registration" "How to register"
@next "Technical"
@prev "Control"
@{b}How to register@{ub}

    This program is SHAREWARE.  This program has restrictions, so that
    the user can evaluate the program, and then decide whether it is
    worth registering.  If you feel that the program is worth registering
    then you can fill out the registration form below, and send it to me.
    For doing this, you will recieve the FULL version.
    
    ALL UPDATES WILL BE TOTALLY FREE WHEN YOU HAVE REGISTERED, THEY CAN
    BE OBTAINED FROM MY @{"WEB PAGE" link "Author" 0}

<=------------------------------------------------------------------ ---=>

                 @{b}AmiMasterGear Emulator Registration form@{ub}

- Full Name: ____________________________________________________________

- Complete Address: _____________________________________________________

                    ________________________________________________ _____

- City: _________________________________________________________________

- Country: ______________________________________________________________

- e-mail: _______________________________ Phone: ______________(optional)

- Password: ____________  (To decrypt your key file, REMEMBER CASE)

- Amiga you own: ________________________________________________________

- Bugs, ideas, etc... ___________________________________________________

  __________________________________________________________________ _____

  __________________________________________________________________ _____

<=------------------------------------------------------------------ ---=>

                             @{b}Registration fee:@{ub}

  NOTE: All AmiMSX2 Registered users can obtain a 5 US$ or 600 Pesetas
        discount
  
  (Please tick)
  
  VIA E-MAIL
  [ ] $15 US Dollars or 2000 Pesetas (or equivalent in your country)

                                     @{fg shine}PLEASE READ INSTRUCTIONS BELOW!@{fg text}
   
  VIA SNAIL MAIL
  [ ] $20 US Dollars or 2500 Pesetas (or equivalent in your country) if I
      send you one brand new TDK disk with the full package of AmiMasterGear

  USERS IN SPAIN
  [ ] Por contrareembolso de 2700 pesetas, te enviaría un sobre acolchado con 
      un disco nuevo TDK con el paquete completo del emulador

Instructions when transaction is performed via e-mail:

      - First, obtain the @{fg shine}LATEST REGISTERED@{fg text} version of AmiMasterGear from my 
        Web Page:
                 http://www.arrakis.es/~joanant
        
        This version will be encrypted with a password, which you will get
        with the keyfile
      
      - The keyfile is encrypted with your password, decrypt it when you 
        recieve it
      
      - Most operations are performed automatically by this process


@{"Please send your questionnaire and money to my address" link "Author" 0}

 Once I recieve this questionnaire with your money, I'll send the keyfile 
 to you

 All updates can be downloaded freely from my @{"web page" link "Author" 0}
@endnode

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

 Developed using an Amiga 1200+Bizzard 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

    8387 lines of MasterGear emulation code
    4264 lines of menu code
    6686 lines of GadToolsBox generated code
   ------
   @{fg shine}19337 lines (176489 lines with macros expanded)@{fg text}

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

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


   @{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 "Future" "Future"
@next "Copyrights"
@prev "History"
@{b}Future@{ub}

 Finish line interrupt emulation
 Save VRAM as an IFF-ILBM file
 Finish PSG emulation
 CPU emulation syncronized for 100% emulation (requires a fast Amiga)
 "Recent" and "Favourites" lists for ROM images

 AmiMasterGear will always run with AGA: PAL/NTSC frequencies, with multitasking disabled
@endnode

@node "Copyrights" "Copyrights"
@next "Author"
@prev "Future"
@{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}

 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}

 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}Manuel Hiniesta@{fg text} for being my best friend
 @{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


