Jump to content
IGNORED

7800 emulator with debug


Rybags

Recommended Posts

Working on a conversion now... can't reveal what. Also might do the odd bit of 7800 stuff in future.

 

As Altirra has proven, a good debug facility inside an emulator can vastly improve the development time.

 

cool :thumbsup:

Link to comment
Share on other sites

Do any exist?

 

What I'd like is to be able to pause execution, then check out stuff like Display Lists, register values, memory.

 

The MESS emulator has a very nice debugger, but it's not included in the standard build, you would need to download the MESS source and build the debug version.

 

I've always wanted to graft my 6502SIM debugging GUI on EMU7800 but it's just one of those project I have never gotten around to doing.

 

Dan

Link to comment
Share on other sites

  • 2 weeks later...

Don't want to resurrect this too prematurely, but I've been playing with ProSystem over the last day mainly out of curiosity..

So far I've got it building with last latest dxsdk (jun 2010) and building g under VS2010.. Still uses direct draw which is deprecated, but I've got it working with dinput8 now, so it'll build out of the box with the latest asks and ides.. I've also cleaned up all the warnings in the code, so now it compiles warning free at error level 4.. This also brought to light a fair few errors in th code..

My main aim was to sort out the cycle accurate timing of it.. My first pass indicates that the CPU is left with too few cycles when taking into account the Maria timing.. The Maria cycle counts are wrong.. Sirius for example takes way more cycles for the Maria rendering that it has available.. My thinking is the hokey dma actually aborts the current dma operation rather than feeding 0's in.. Also the dma is aborted in the case of exceeding the 159'th lineram pixel.. Even with these allowances Sirius still takes more cycles than are available on some lines..

I've also added a display that shows the Maria cycle useable per scanline, live on the display.. Very enlightening I can tell you..

Also I've fixed the annoying sound system so it doesn't click loudly whenever it tries to pause the audio at startup, menus etc..

Also it's speed up enormously now.. Uses around 1% of my i5 instead of maxing out one CPU previously..

Either way, enabling the Maria cycle stealing leaves the CPU with way less cycles than expected..

Particularly things like one on one and commando where there's clue splits and changes that aren't synced to the display, but instead are times loops. Which take longer than expected currently..

That aside, I'm quite getting into the code, but it would take a massive overhaul to implement a debugger into it, given how it works..

I'm wondering what work Groovybee and Curt might have done whilst working on the XM ? Am I repeating work you chaps have already done ? As I assume you've developed some emulation of it for development purposes ?

 

Just wondering if there's any interest in these changes, and pursuing cycle accurate emulation ?

Link to comment
Share on other sites

In that case I'll upload that here when I get to a computer.. First thing on my agenda is allow midline changes to occur.. I find that so annoying for debugging purposes :)

Surprised by how many games don't work though.. ikari warriors is very weird, with and without cycle stealing from the CPU..

All told its been an enlightening experience thus far, especially how good Maria is when it's not crippled with the indirect mode..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...