8888888b.          .d8888b.  888b     d888  .d8888b.  
888  "Y88b        d88P  Y88b 8888b   d8888 d88P  Y88b 
888    888        Y88b.      88888b.d88888 Y88b.      
888    888 888d888 "Y888b.   888Y88888P888  "Y888b.   
888    888 888P"      "Y88b. 888 Y888P 888     "Y88b. 
888    888 888          "888 888  Y8P  888       "888 
888  .d88P 888    Y88b  d88P 888   "   888 Y88b  d88P 
8888888P"  888     "Y8888P"  888       888  "Y8888P"  

Version 6.00
Sega Master System and Game Gear Emulator for the Gameboy Advance.

Written by Reesy    email: drsms_reesy@yahoo.co.uk
                    web  : http://www.webpersona.com/drsms  ( cheers RedMage )

What is it?
-----------
DrSMS is a Sega Master System and Game Gear Emulator. Basically it will allow you to play Sega Master System and Sega Game Gear Games on your Gameboy Advance. Of course in order to run DrSMS on a GBA you need a GBA flash cartridge, these can be bought from a number of places.  I won't bother supplying any links to websites that sell flash cartridges, just go to www.google.com and search for "GBA FLASH CARTRIDGE".

You could however run DrSMS on a GBA emulator on your PC.  But running an emulator, in a  emulator is a bit pointless. But it does allow you to test DrSMS without having to flash your  cartridge which can be time consuming if you adding a lot of games. I recommend Visual Boy  Advance, it is brilliant.  




How to use the DrSMS injector program
-------------------------------------
Run the program Drsmsver6.exe that is included with this readme file. 

You first need to add sms/gg games, this can be done in two ways. You can either drag sms/gg  roms on to the game list box directly from windows explorer or you can use the "ADD" button. When you click on the "ADD" button it will display a file browser, just browse to where your sms/gg games are stored and then select which games you want.  To multi-select simply hold down the CTRL key while selecting with the left mouse button.  When all of the games you want have been selected click on the "OPEN" button. All of the games that you selected will now be in the game list.  You can only add rom images with .sms or .gg file extensions.  Compressed files (zip) are not supported so you will need to extract the rom images from the zip files before you can add them to DrSMS.

To remove games from this list, you can either remove them all by using the "CLEAR" button or remove certain games by selecting them from the list using the left mouse button and then  using the "DELETE" button.

When you have all of the games you want to play in the list, you need to specify the name of the GBA rom you want to create. The GBA rom is what will be flashed to your GBA flash cart. You can either type in the filename or use  the "BROWSE" button.

When you have entered the name of the GBA rom to create, click on the "CREATE GBA ROM" button.   The program will now start to generate the GBA ROM file for you.  When it has finished a message will be displayed.  Now take the GBA rom and flash it to you GBA flash cartridge or run the GBA rom on a GBA emulator.




How to use the DrSMS emulator
-----------------------------

Game Selection Screen
---------------------
When you run DrSMS on your GBA or GBA emulator you will be presented with a list of games that you have selected. Unless you have only selected 1 games, in this case DrSMS will skip the game selection screen and just start that game.

Use the UP and DOWN keys to select which game you want to play.  When the game you want is  highlighted press "A" button to load it.

In Game controls
----------------
Well it should operate as a Master System would. All the controls on the GBA should be the  same as the SMS, i.e. 

GBA        SMS       GG
---        ---       --
B          1         1
A          2         2
UP         UP        UP
DOWN       DOWN      DOWN
LEFT       LEFT      LEFT
RIGHT      RIGHT     RIGHT
START      PAUSE     START
SELECT     --------------->  This start the DrSMS menu
R          --------------->  Scrolls screen UP in unscaled screen mode
L          --------------->  Scrolls screen DOWN in unscaled screen mode

DrSMS Menu System
-----------------
By pressing SELECT the DrSMS menu is displayed.  The menu you allows you to change emulation  settings, save, load and delete "save games" and also to start new games.

MAIN MENU
---------
To exit this menu press B
To select a menu option press A
RETURN TO GAME  ---- Exits the menu
SELECT NEW GAME ---- Starts the Game selection menu
VIDEO MENU      ---- Start the video configuration menu
SAVE MENU       ---- Starts the SAVE "save game" menu
LOAD MENU       ---- Starts the LOAD "Save game" menu
DELETE MENU     ---- Starts the DELETE "save game" menu
COUNTRY MODE    ---- Allows you to change the Nat ionisation 
                     of the SMS/GG drsms is emulating
                     If you change this you will have to restart
                     you game to see any difference as most games
                     only check this once at the start
THROTTLE        ---- This allows you to speed up the emulation
                     When throttle is ON, DrSMS will run at the same
                     speed as a SMS/GG
                     When throttle is OFF, DrSMS will run as fast
                     as it can.  Try it on Ninja Gaiden (GG) :)

VIDEO MENU
----------
To exit this menu press B
To select a menu option press A
DISPLAY TIMING  ---- Allows you to select PAL or NTSC emulation timing
                     PAL = UK TV timing
                     NTSC = US TV timing
                     I'm not going to try and explain the details on 
                     display timing, all you need to know is
                     NTSC = faster than = PAL
                     HACK = faster than = NTSC
                     Some games will only operate on the right display timing
                     Back to the Future 3 for example will only operate in PAL mode
                     James Pond 2 - Codename Robocod (UE) [!] will only do parallax
                     scrolling in PAL mode.
                     If you change the display timing, I recommend restarting the
                     game to really see the difference.
SCALE MODE      -----Because the GBA screen is smaller than the SMS screen
                     DrSMS allows you to scale the screen to fit
                     In unscaled mode you can use the R and L GBA buttons to
                     scroll the screen.  If you are playing a GG game this menu
                     option will do nothing.
GG MASK         -----Because the GG has a lower resolution than the SMS but
                     still uses the same visual display processor (vdp) you
                     can sometimes switch the GG mask to reveal the game in
                     all of its full screen glory.  It doesn't work on all
                     games, but try it on the Sonic 1 for the GG ;)
GAMMA           -----Changes the brightness of the screen
SMS BLK REG     -----Allows you to turn off the sms "screen on" function
                     In previous version of DrSMS, this option used to cause
                     flickering on the screen.  I have hopefully now fixed this
                     problem but I have left this option in here just in case.
SPRITE MODE     -----Okay most SMS/GG games just use a sprite once per frame
                     and are quite happy with that, some games on the other hand
                     are just greedy little bitches. They try and use the same
                     sprite on more than 1 occasion during a frame.  This really
                     fucks with my sprite routines, so I have created a "buffered
                     sprite" mode to remedy this.  So if your playing a game and
                     you find you can't see some/all of the sprites just change
                     to the "buffered sprite" mode and you should be alright. Its
                     not slower or anything like that it does have sprite priority
                     issues that's why I have not made it the default mode.

SAVE MENU
---------
This menu allows you to save your game.  
Press B to exit this menu
NEW SAVE
--------
To create a new save, just highlight "NEW SAVE" and the press the A button.  DrSMS will then  take the current state of the emulator, compress it and then store it on the SRAM memory on  your flash cart.  This means you can switch off you GBA, switch it on again and your saves  will still be there...unless you have an XGAY cart :O ( sorry private joke ).  When DrSMS has  finished saving it will display the name of the game in the save menu.  

Overwriting an existing save
------------------------------
Just select the game you want to over-write and then press A. The old save will be removed and then the new save created. The new save will appear at the bottom of the list.

LOAD MENU
---------
This menu allows you to load a save game. 
Press B to exit this menu
Use the UP and DOWN buttons to highlight the save you want to load then press A.

DELETE MENU
-----------
Allows you to delete your save games
Press B to exit this menu
Use the UP and DOWN buttons to highlight the save you want to delete then press A. 

                 

DrSMS update history
--------------------
Version 6.00
------------
New menu system
Interrupt system re-written
Re-worked sound frequency conversions
Added "buffered sprite mode" - Gunstar Heroes now playable
Added speed throttling
Loads of Bug fixes
Shining force games now work - ADC HL,HL double counting carry...DOH!

Version 5.00
------------
Added support for GG mask option again due to popular demand ;)
More bug fixes

Version 4.00
------------
Support for SMS SRAM
Compressed Save States ( Huffman "slow as shit" compression, by me ;S )
More Bug fixes
Cleaned up sprite routines, removed support for Alien3 as it caused a lot of
problems with loads of other games. The need of the many outweigh the needs
of the few...and all that :)
Removed buffered palette writes, so Space Harrier is now flickery again, but
James Pond now has its parallax scrolling again.
Removed Game Gear Mask toggle.  Sorry I've always thought it was crap.
Fixed a major bug in the memory paging routines
Added support for Star Trek Game Gear Games, there still not perfect but 
getting there.
Improved the sound routines

Version 3.00 betas
------------------
Loads of bug fixes
and somewhere along the line I added Game Gear support

Version 2.04
------------
Fixed screen flickering problem
Fixed sound problem where noise channel was mucking up sound channel 1

Version 2.03
------------
Nothing!!!!, I released a big pile of crap, doh!.  It would appear
I released an test version of drsms by mistake. Oh well

Version 2.02
------------
Scaled Screen mode

Thanks to
---------
TheHiVE   - For all of your help, you da man ;)
RedMage   - For hosting/creating the new web site
Visual Boy Advance ( Developer version )
Without the developer edition of Visual Boy Advance, DrSMS would simply not exist.
The author of Foon for releasing the source to his injector, which DrSMS injector is based on. 