Jump to content
IGNORED

MESS 0.153... more accuracy for 7800 emulation


RevEng

Recommended Posts

For a while, Trebor and I have been working together on improving the MESS 7800 emulation. We've had a fair bit of success, and our changes have been incorporated into MESS 0.153, which was officially released today.

 

Here's the highlight of changes:

  • DMA cycle stealing has been added.
  • support for 256k and 512k ROM formats, with and without RAM, with and without CPUWIZ banked RAM.
  • The INTIM timer now matches real hardware.
  • Mess now runs with the correct number of scanlines, 263 for NTSC, and 313 for PAL.
  • Additional accuracy of the RIOT/6532 2 button register IO control.
  • Improved RIOT/6532 timer emulation accuracy.
  • Improved INPTCTRL emulation accuracy.
A great many game ROMs that previously had display glitches now appear perfect. The Diagnostic Test Cartrige now successfuly completes it's internal hardware tests and runs.

 

If you're developing games for the 7800, you might want to check it out.

 

---

 

I released my 7800 testing tool in the 7800 hardware facts thread. If you run it in the new MESS, you'll find it's much closer to real hardware for a number of the tests, but there are still a couple of shortcomings 7800 developers should be aware of.

 

Firstly, the MESS DMA cycle stealing sometimes falls a bit short of the real world results. In the GCC Spec, some DMA cycle timings are provided as ranges, and we don't emulate the delays that cause the range of timings.

 

Secondly, MESS doesn't faithfully display register changes that happen mid-line. If you change color registers while a scanline is being drawn, the display will be inaccurate. This is common shorcoming with all existing 7800 emulators, AFAIK.

 

Still, the changes we made have put MESS into the right "real hardware" ballpark now, where previously we were in the wrong state.

 

Enjoy!

  • Like 4
Link to comment
Share on other sites

For a while, Trebor and I have been working together on improving the MESS 7800 emulation. We've had a fair bit of success, and our changes have been incorporated into MESS 0.153, which was officially released today.

 

Here's the highlight of changes:

  • DMA cycle stealing has been added.
  • support for 256k and 512k ROM formats, with and without RAM, with and without CPUWIZ banked RAM.
  • The INTIM timer now matches real hardware.
  • Mess now runs with the correct number of scanlines, 263 for NTSC, and 313 for PAL.
  • Additional accuracy of the RIOT/6532 2 button register IO control.
  • Improved RIOT/6532 timer emulation accuracy.
  • Improved INPTCTRL emulation accuracy.
A great many game ROMs that previously had display glitches now appear perfect. The Diagnostic Test Cartrige now successfuly completes it's internal hardware tests and runs.

 

If you're developing games for the 7800, you might want to check it out.

 

---

 

I released my 7800 testing tool in the 7800 hardware facts thread. If you run it in the new MESS, you'll find it's much closer to real hardware for a number of the tests, but there are still a couple of shortcomings 7800 developers should be aware of.

 

Firstly, the MESS DMA cycle stealing sometimes falls a bit short of the real world results. In the GCC Spec, some DMA cycle timings are provided as ranges, and we don't emulate the delays that cause the range of timings.

 

Secondly, MESS doesn't faithfully display register changes that happen mid-line. If you change color registers while a scanline is being drawn, the display will be inaccurate. This is common shorcoming with all existing 7800 emulators, AFAIK.

 

Still, the changes we made have put MESS into the right "real hardware" ballpark now, where previously we were in the wrong state.

 

Enjoy!

 

 

Great work! It's nice to see this driver getting some attention.

 

Dan

  • Like 2
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...