Jump to content

My new SMS/GG emulator project


olaf

Recommended Posts

Well, I've embarked on a new emulation project. I was browsing the SMS Power message bored yesterday and I found the source code to a Sega Master System emulator written in Microsoft Visual Basic (my language of choice). I was just talking about the day before how I'd love to start working on a Sega Master System emulator -- it was fate. The source code I found was that of vbSMS written by John Casey ("brom" on SMS Power). It lacked an interface, required you to "drag 'n drop" ROM files to play them, lacked window sizing, and lacked many other things. You can download the source for yourself here or download a compiled version here to try it out (vbSMS -- not my emulator). Once I downloaded it, I immediately went to work.

 

First, I added a menu system to the window. After that I actually made the menu items usable -- such as the "load rom..." menu item. Now it had the ability to load ROM files with a regular Windows "Open" dialog. Added right after that was the ability to "close" the ROM being executed. Now that I could open and close ROMs, I felt it was time to be able to pause and reset (for some reason these weren't implemented yet, but I personally find them crucial to even a preliminary emulator).

 

Seeing that this was a Sega Master System emulator and knowing that the Sega Game Gear system is very similar -- I tried to load a Sega Game Gear game. It ran perfectly, but the palette was horrible (which is fine for right now, and I still have not fixed this) -- and the Start button wasn't implemented. I did a few minutes of research on the Sega Game Gear's hardware and added in support for its Start button. I also found that John Casey put in a lot of CPU activity alerts to learn more about how the CPU was working so he could fix things. The pop-ups were annoying me, so I removed them -- so I could just get to playing the games. Whilest enjoying just "playing the games", I got annoyed that I had to play in a tiny window -- so I added window sizing. After that, I hardcoded the palette files that came with vbSMS into the source code (why? I don't know, I just don't like emulators coming with a bunch of files -- I want them to just work in a single file or something). When all that was said and done, I added settings saving.

 

Now, why did I explain all this? I guess to announce my new project (which I'm really excited about -- I grew up on Sega Master System and I've wanted to work on a Sega Master System emulator for some times) and to give a little insight on how people pick up on open source projects (especially me). Below are some screen shots of my emulator in action (dubbed olafsms for now). I'm not sure when I'm going to publicly release this, but I'll keep everyone posted?

 

olafsms1.PNG

 

Sonic the Hedgehog (SMS)

 

olafsms2.PNG

 

Zillion (SMS) -- personally, one of my most favorite games ever.

 

olafsms3.PNG

 

Ghost House (SMS) -- my family played this so much when I was little.

 

olafsms4.PNG

 

Phantasy Star (SMS)

 

olafsms5.PNG

 

Ariel - the Little Mermaid (GG) -- this is how Game Gear games look right now. :(

Link to comment
Share on other sites

  • Replies 33
  • Created
  • Last Reply

Top Posters In This Topic

This just in -- I added support for border masking while executing in Sega Game Gear mode. Below are screenshots...

 

olafsms6.PNG

 

Ristar the Shooting Star -- in greyscale mode (makes Sega Game Gear games somewhat less harsh on the eyes)

 

olafsms7.PNG

 

Mortal Kombat 3 -- in normal f'd up palette mode

Link to comment
Share on other sites

At the moment there isn't a full screen option (you couldn't even do double size before, but thanks to me window sizing is now possible), however, I definitely plan on adding it in the near future. Oh, and...

 

olafsms8.PNG

Edited by olaf
Link to comment
Share on other sites

No, thank you, retroK, for paying attention to my project(s). I plan on releasing it when it gets a little more feature rich and when I decide if I'm going to stick with the name "olafsms" and other things. On that note, I just got done adding in support for control port #2 (this wasn't in vbSMS along with the Game Gear's Start button like I've said previously).

 

olafsms10.PNG

 

Bubble Bobble with 2 players :(

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...