About DrSMS
SMS Compatibility
GG Compatibility
News Archives
Welcome to the DrSMS Official Site

DrSMS is a Sega Master System and GameGear Emulator that will allow you to play all of the old Sega 8-bit classics on your Gameboy Advance.

DrSMS Discontinued

I've decided to officially discontinue my work on DrSMS, I've moved on to other projects on different platforms and developing on the GBA holds no real interest for me any more.

Thanks to everybody for your support over the last couple of years and massive thanks to RedMage for hosting this site for what seems like for ever. Not sure how long this site will stay up for so as RedMage may want to take it down.

All is not lost for you SMS/GG emulation lovers though, Flubba author of PCEAdvance, Goomba and co-author of NESAdvance and SnesAdvance has just created SMSAdvance. So you'll be able to enjoy increased compatibility on his amazing emulator which already surpassed DrSMS.

His site is here



DrSMS gets faster

Gained alot of emulation speed by re-writing the scaling/rasta code. The old code used the HBlank IRQ, the problem with using the HBlank IRQ is the overhead in instructions. When an interupt occurs the GBA jumps to a function in the bios, this then calls the interupt handler. You then have to check what interupt has occured, and clear the interupt.

I'm now using HBlank DMA's, these can be setup to copy data as soon as the HBlank occurs and the best bit is you only have to set them up once a frame and just set the repeat option on the DMA.

Thanks to everybody of the Pocketheaven boards for the suggestions.

See ya


Screen scaling changed

I was on the Pocketheaven boards today and noticed a post about screen scaling techniques used in GBA emulators. Its seems there is away to make the screen look abit clearer than it does currently in DrSMS. Currently to scale the screen on DrSMS I just skip a line every 5 lines, but on every frame the same lines are skipped. The new technique ( well new to me ) involves simply changing the line that is skipped every frame.

For example if in frame 1 line 5 is skipped, then in frame 2 line 6 is skipped and then in frame 3 line 5 is skipped again. Because this is happening so quickly your eyes see both lines, clever hey!....Well I thought it was. Kinda wish I had thought of it, ah well.

Anyway I have now implemented this new scaling technique and it looks great.

Thanks to aaronphughes on the Pocketheaven boards for posting his idea.

See ya


DrSMS News

Improved the buffered sprite mode today without any noticeable loss in emulation speed. Also fixed the gamma correction, which now looks much better in normal gamma mode. Due to these improvements I will be changing the default settings for gamma to NORMAL instead of +3 and the buffered sprite routine will now be the default sprite routine.

I've still got a list of things to do before the release of version 7, but it shouldn't be too long now.

See ya


P.S Big thanks to Flubba for showing me how the gamma correction should work.

DrSMS News

I've been working on DrSMS recently and I noticed a problem. It seems somebody left some test code in version 6 of DrSMS, I haven't got a clue who it was :) .. Okay it was me, I was testing some stuff to do with Codemaster Mappers and I completely forgot to remove the code before I released it, oh well.

So basically if you've noticed some games that run on Version 5 of DrSMS but not on version 6 then hopefully they should work again on the next release.

I've also got PitFighter working. It wasn't working because of the way I "hack" the sprite collision flag. I will add some menu options to allow you to choose what type of collision detection you want, ie none, hacked, full. Hopefully this will keep every body happy.

Big thanks to Bock on the SMS Power dev forum for his advice on the pitfighter problem.

I'm busy optimising my code at the moment, there are a few areas which are abit sloppy and can be improved. Hopefully this will speed up the emulator a little bit more.

See ya


DrSMS Pogoshell plugin version 6

DrSMS Pogoshell Plugin Ver6

Sorry I forgot about this, have fun.


Sorry for the lack of updates, I've had alot on recently. Over the next week I will get another release of DrSMS ready. There's no major updates, I'm just going to remove the splash screen and also release the Pogoshell plugin.

My next job will be to update the compatibility lists.

See ya


New database driven compatibility list

DrSMS now has a database driven compatibility list!

It's manageable too! So look for it to be updated in the near future :p


DrSMS Version 6 Injector released: Gbax 2004 edition

DrSMS Injector 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!

Feedback welcome over at Emuboards

GBAX 2004 competition

DrSMS Version 6 will be entered into the GBAX 2004 competition. So you'll be able to get your hands on it on 1st May 2004.



DrSMS Version 5 Injector released:

DrSMS Injector Version 5.00

Same changes as Pogoshell release.

DrSMS Version 5 Pogoshell plugin released:

DrSMS PogoShell Version 5.00

I think i've sorted out the Pogoshell support now, I've been testing it quite abit and haven't come across any problems. I'm still working on the noise channel, so you may find it abit crap on some games but it shouldn't be a major problem.

Extract the "DrSMS.bin" from the archive and put it in your pogoshell plugins directory.
Make sure you put the following two lines into your "filetypes" file found in .shell.

sms 1 /.plugins/drsms.bin
gg 1 /.plugins/drsms.bin

and that should be it.

The Z80 core is faster
The save/load routines are faster
save format has changed so old saves will not work with this version of DrSMS. But saves now save the config of DrSMS as well.
Code Master mapper support
Added a video sub menu, from here you can change

Display timing
  • HACK - fastest
  • NTSC - normal
  • PAL - slower
Scale mode
  • Unscaled
  • Scaled
Toggle GG mask - yep its back due to popular demand
If this is enabled DrSMS will emulate the SMS screen off/on function. If the screen starts to flicker on/off then disable this option or change the display timing to pal.

I think thats it, as usual leave any feedback here and I will try to resolve any problems you might have.

P.S you can probably use this pogo plugin with Hoe's rom builder, I haven't tried it myself yet so I can't confirm this.

See ya
About DrSMS | Downloads | Tutorials | SMS Compatibility | GG Compatibility | Screenshots | News Archives | Credits | Links | Home