|
ForumsSega Master System / Mark III / Game GearSG-1000 / SC-3000 / SF-7000 / OMV |
Home - Forums - Games - Scans - Maps - Cheats - Credits Music - Videos - Development - Hacks - Translations - Homebrew |
![]() |
Author | Message |
---|---|
Eric
|
MesaDX
![]() |
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. |
|
|
![]() |
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 |
|
![]() ![]() |
|
Eric
|
![]() |
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.
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.
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 |
|
|
![]() |
Maybe a ROM patch, like a .MRP (Mesa ROM Patch)
Yeah, like a .MDX file or something. That would be cool.
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.
Well, it would!
You're welcome. ~unfnknblvbl |
|
![]() ![]() |
|
|
![]() |
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. |
|
![]() ![]() ![]() |
|
Eric
|
![]() |
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?
This is definitely a feature I'd like to add. It may not appear until later versions, though. Thank you for you input. Eric |
|
|
A what?
![]() |
Sorry, unfnknblvbl = newbie
~unfnknblvbl |
|
![]() ![]() |
|
Eric
|
Re: A what?
![]() |
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 |
|
![]() |