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.
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.