Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - MesaDX

Reply to topic
Author Message
Eric
  • Guest
Reply with quote
MesaDX
Post Posted: Wed Sep 01, 1999 5:09 am

Ten years ago today, September 1, 1989, Sega released its new 16-bit Genesis (Mega Drive) console in the United States. This day marked the unofficial death of the Sega Master System in the U.S.



This anniversary, coupled with the recent opening of S8-Dev, has prompted me to release my new Sega Master System and Game Gear (SMS/GG) emulator*, MesaDX.



Actually, MesaDX isn't a complete emulator yet. It only emulates the CPU and memory system. However, MesaDX isn't designed for playing games, it is designed specifically for SMS/GG software development. It is a debugging emulator. MesaDX has some of the most advanced debugging features ever put into a SMS/GG emulator including: single-stepping, breakpoints, register and memory editing, memory protection schemes, and the ability to programmatically access debugging features. I used MesaDX to debug my sample program, snail.sms.



I am releasing MesaDX before it is complete so that I can get some feedback from other SMS/GG software developers about the kind of features they would like to see included in MesaDX. I hope that the lack of graphics emulation will not deter people from trying MesaDX. MesaDX can still be used to develop simple SMS/GG sample programs and as a tool to help those learning Z80 assembly language. Hopefully, by the time people are attempting serious game development, MesaDX will be nearing completion.



I have created a web-page for MesaDX at: http://home.att.net/~e-quinn/MesaDX/MesaDX.html. Please visit the web-page for more information on MesaDX. If you have any comments or suggestions, or have discovered any bugs, please contact me. My e-mail address is: [email protected]. Also, anyone interested can contact me through the S8-Dev Forum, of which I am an active participant.



Thank you, and let me know how you're doing with MesaDX.



Eric Quinn




* Technically, MesaDX emulates a fictitious machine of my design, the AGAMA machine. Please see the MesaDX web-page for more information about MesaDX and the AGAMA machine.



 
  • Joined: 12 Jul 1999
  • Posts: 884
Reply with quote
Post Posted: Wed Sep 01, 1999 9:44 am
Well, it *looks* cool.
It *feels* cool,
hell, it even *smells* cool!
I reckon it *is* cool! But what would I know?
I just think that you should implement a 'Save' and 'Save As' feature.
Even better would be a feature where you could edit the code and then compile and test what you had done. This would make for some excellent ROM hacks! (If you have already included this, then sorry, I haven't taken a real in-depth look at MESA yet)
Hell, that feature would even help us developers to learn how to program the SMS (or the AGAMA ;)!
~unfnknblvbl
  View user's profile Send private message
Eric
  • Guest
Reply with quote
Post Posted: Wed Sep 01, 1999 3:58 pm
Quote
> I just think that you should implement a 'Save' and 'Save As' feature.

O.k., but what exactly should be saved? Currently, the emulator doesn't let you edit the ROM file.

I've considered creating debugging "project files." Basically, these would be just like save-states, but would also include information about how your debug environment is setup. This way, you could stop and start debugging exactly where you left off if you get interrupted.

Quote
> Even better would be a feature where you could edit the code and then compile and test what you had done. This would make for some excellent ROM hacks! (If you have already included this, then sorry, I haven't taken a real in-depth look at MESA yet)

I've considered this. Adding such a feature is a large task. Currently, top priority goes to completing emulation and adding debug features. There are already other tools available for assemblying and editing code. So, to start off with I want to avoid as much overlap as possible. I know it's a pain, to have to edit, assemble and re-load your code, but hopefully breakpoints will make getting back to where you left off easier.

Quote
> Hell, that feature would even help us developers to learn how to program the SMS (or the AGAMA ;)!

Thanks for the suggestions. I will be considering them seriously, and how they meld with my current plans for how to proceed with MesaDX.

Eric
 
  • Joined: 12 Jul 1999
  • Posts: 884
Reply with quote
Post Posted: Thu Sep 02, 1999 10:24 am
Quote
> > I just think that you should implement a 'Save' and 'Save As' feature.

> O.k., but what exactly should be saved? Currently, the emulator doesn't let you edit the ROM file.

Maybe a ROM patch, like a .MRP (Mesa ROM Patch)

Quote
> I've considered creating debugging "project files." Basically, these would be just like save-states, but would also include information about how your debug environment is setup. This way, you could stop and start debugging exactly where you left off if you get interrupted.

Yeah, like a .MDX file or something. That would be cool.

Quote
> > Even better would be a feature where you could edit the code and then compile and test what you had done. This would make for some excellent ROM hacks! (If you have already included this, then sorry, I haven't taken a real in-depth look at MESA yet)

> I've considered this. Adding such a feature is a large task. Currently, top priority goes to completing emulation and adding debug features. There are already other tools available for assemblying and editing code. So, to start off with I want to avoid as much overlap as possible. I know it's a pain, to have to edit, assemble and re-load your code, but hopefully breakpoints will make getting back to where you left off easier.

Bah!
I haven't even *tried* to learn Z80 ASM yet, I can't even come to grips with Visual Basic yet, so an all-in-one package would be nice, but I do agree with the completion of the emulation side first.

Quote
> > Hell, that feature would even help us developers to learn how to program the SMS (or the AGAMA ;)!

Well, it would!

Quote
> Thanks for the suggestions. I will be considering them seriously, and how they meld with my current plans for how to proceed with MesaDX.

You're welcome.
~unfnknblvbl
  View user's profile Send private message
  • Joined: 29 Jun 1999
  • Posts: 66
  • Location: Houston TX
Reply with quote
Post Posted: Sat Sep 04, 1999 1:09 am
Quote
> I am releasing MesaDX before it is complete so that I can get some feedback from other SMS/GG software developers about the kind of features they would like to see included in MesaDX. I hope that the lack of graphics emulation will not deter people from trying MesaDX. MesaDX can still be used to develop simple SMS/GG sample programs and as a tool to help those learning Z80 assembly language. Hopefully, by the time people are attempting serious game development, MesaDX will be nearing completion.



I would recommend making the emulator as accurate as possible. Allow options to be set that make the emulator act just like the real thing (ala NO$GMB). So if you're rom works under MesaDX it will work on the real thing.

I like the idea of saving the state of emulation, so you can just restart the program where you left off.
  View user's profile Send private message Visit poster's website
Eric
  • Guest
Reply with quote
Post Posted: Sat Sep 04, 1999 11:53 pm
Quote
> > I am releasing MesaDX before it is complete so that I can get some feedback from other SMS/GG software developers about the kind of features they would like to see included in MesaDX. I hope that the lack of graphics emulation will not deter people from trying MesaDX. MesaDX can still be used to develop simple SMS/GG sample programs and as a tool to help those learning Z80 assembly language. Hopefully, by the time people are attempting serious game development, MesaDX will be nearing completion.



> I would recommend making the emulator as accurate as possible. Allow options to be set that make the emulator act just like the real thing (ala NO$GMB). So if you're rom works under MesaDX it will work on the real thing.

I'm working on that. ("SMS/GG" mode is for this purpose.) However, I currently have no way of testing home-made software on a real system. I'll do the best I can.

By the way, the official Z80 specification in the "Technical Information" section on this web-site has Z80 bus timing diagrams. I believe there is enough information here to build SMS/GG bus devices, perhaps a bus message capture device. Any one interested?

Quote
> I like the idea of saving the state of emulation, so you can just restart the program where you left off.

This is definitely a feature I'd like to add. It may not appear until later versions, though.

Thank you for you input.

Eric
 
  • Joined: 12 Jul 1999
  • Posts: 884
Reply with quote
A what?
Post Posted: Sun Sep 05, 1999 8:25 am
Sorry, unfnknblvbl = newbie
~unfnknblvbl
  View user's profile Send private message
Eric
  • Guest
Reply with quote
Re: A what?
Post Posted: Sun Sep 05, 1999 8:26 pm
Given that the SMS/GG (as far as I know) doesn't have any built-in debugging facilities, there are few options for debugging home-made programs on a real system. However, the SMS/GG (Z80) bus is easily accessible (through the cartridge port and presumably the connector on the bottom.)

If we could capture messages being sent across the bus (to/from memory or other devices) we would have a much better way of determining what our programs are doing on the actual system. We could determine, for example, where instructions were being fetched from, and what areas of memory are being read/written.

Until serious SMS/GG software development (for emulators) is taking place, there seems to be little point in putting forth the effort to build such a device. Besides, we still need a way of getting our code running on the real system; we need a "RAM Cartridge."

Hope this helps a little.

Eric
 
Reply to topic



Back to the top of this page

Back to SMS Power!