More Research, NARC, Arbalester and Meta Fox
Research Work
As more and more people are using AI to produce cores, I feel less pressure to publish new cores and more freedom to do research and validation work. We are re-evaluating how the work gets executed and we are adjusting out setup, including computers, arcade PCBs and the several FPGA platforms to execute a workflow with a higher standard of quality and accuracy. To give an example, during these past two weeks:
We measured JT51 against a real YM2151, checking timer and interrupt flags, envelopes, CSM keying, noise, and stereo mixing. The measurements confirmed that the two existing die-shot-based models disagree in some areas, and guided changes to make JT51 match the silicon more closely (issue #1682).
The Z80 CPU module we use was checked extensively and nothing was found! It was good all along!
The M6809 CPU module had a few timing differences from the data sheet. Those are corrected, along with interrupt and stack-cycle behavior.
We extended CPU timing checks to MC6801/HD6301, MC6805/68705 and Rockwell R65C02 variants, covering wait-state interrupts, stack and IRQ timing, and status behavior. DECO222 was checked against its VHDL reference as part of the same work (issue #1683).
Many games use Hitachi's HC6309 instead of M6809. The HC6309 has additional instructions and modes, so we added a dedicated implementation based on the M6809 module, with the correct behavior and timing for Hitachi's version. The integration now covers Ajax, Contra, Double Dragon, Fast Lane and Labyrinth Runner; busy scenes may expose differences in how these games behave (issue #1680).
In CPS3, SH7604 cache and write-buffer measurements exposed a case where a pending write could overlap a cache purge, allowing stale data or instructions to be observed. We corrected the CPU/cache timing and illegal-instruction exception address; all eight data results and the expected trap address matched the measurements (issue #1679).
Other work in progress is:
A software tool to speed up PCB-to-schematic translation. The schematics are critical to validate our work and expand the community knowledge of these old systems.
A new TMS34010 with a smaller footprint so the Narc core can work on more FPGA platforms
A 15 kHz 480i analog output option for NARC has been proposed for arcade monitors and PVMs. It is not included in this release; HDMI remains at native resolution (PR #1671).
With the help of the schematics we already did, we are also trying to repair a Cowboys of Moo Mesa PCB so we can make the final characterization of the protection chip
We will continue publishing our modules and enabling the larger community. Many of the AI cores that have been appearing actually use the JTFRAME framework to implement a MAME driver. They are a good testimony of how well MAME serves as a documentation project and how well JTFRAME enables fast development.
However, we are not going to incorporate new cores to the project just for having more and more. We will keep reviewing and upgrading existing cores while we take new cores after revision and careful integration within the project.
Some people have copied files from contributors while they were in the merge-queue of GitHub in order to get two minutes of fame. We will use a private GitHub project for contributors from now on. That way, they do not have their work exposed before it is merged into the main project.
New Cores
Three arcade favorites join the public lineup this week. NARC arrives on MiSTer with six revisions supported, thanks to Chris Watson. Its distinctive Williams hardware is now preserved alongside the games it powered.
Arbalester and Meta Fox are available in a new core for MiSTer, Analogue Pocket and SiDi128. They share a Seta board family, and both games are now ready to play. The core was contributed by Andrea Bogazzi; recent work also corrected the position of Meta Fox's tiles and sprites (PR #1445, issue #1442).
Other Updates
The Simpsons / Escape Kids: the starting-line sprite priority issue is fixed, and the SIMSON core returns to public release (issue #1666).
KTIGER on SiDi128: rotated graphics now retain their pixels correctly (issue #1672).
Roc’n Rope: corrected the picture orientation on rotated HDMI output.
Avengers: restored missing graphics and audio (issue #1674). Bionic Commando: fixed coin, start and game inputs that could stop responding (issue #1654).
Double Dragon and Double Dragon II: CPU timing and fit adjustments are included for MiST and SiDi. Both games were simulated through gameplay with moving characters after the shared read-path change.
