Jump to content

Photo

MESS 0.153... more accuracy for 7800 emulation


2 replies to this topic

#1 RevEng OFFLINE  

RevEng

    Bit Player

  • 5,192 posts
  • Location:bottom of the stack

Posted Mon Apr 7, 2014 6:19 AM

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!

#2 PacManPlus OFFLINE  

PacManPlus

    River Patroller

  • 4,958 posts
  • Atari 7800 & NES Developer
  • Location:Florida

Posted Mon Apr 7, 2014 6:41 AM

Awesome! :)



#3 DanBoris OFFLINE  

DanBoris

    Stargunner

  • 1,025 posts
  • Location:New Jersey, USA

Posted Tue Apr 8, 2014 5:43 PM

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






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users