Hi! I'm a bit late to the party... but with a stack of PCBs that need attention, and Fluke 9100As being made of unobtanium, it was time to put together one of these testers.
I'm seriously impressed by how much can be done with a humble Arduino board and a few connectors. Paul did a fantastic job setting up the software with extensibility in mind. I've been working on additional game support, primarily:
- Improvements to Nes4life's Asteroids Deluxe support (I updated checksums and chip locations, and added I/O mapping differences from Asteroids)
- Support for Battlezone, with provisions for adding Red Baron later on.
This enabled me to quickly find a bad RAM chip on an Asteroids Deluxe board that had been puzzling me for a long time. I found numerous bad RAM chips and flakey ROM sockets across multiple Battlezone boards, though most still aren't working.
I'm currently working on a few experimental tests for Battlezone:
- POKEY (generate simple tones, read switches on the pot inputs, and check for changing values from the random number generator)
- Math box (send the same commands as the ROM self test, check for STOP signal when commands finish, and verify expected values in the output registers)
- Vector state machine (load vector RAM with the same bytes as the ROM self-test, send a "GO" signal to the VSM, and check for HALT signal when it finishes; should also be able to see the test pattern on a scope or monitor)
I'm having trouble getting the math box and VSM tests to work reliably. I think it's because they use 3 and 12 MHz clocks that are normally synchronous with the CPU clock. The ICT is slower and asynchronous, so it can't send a short enough write pulse at exactly the right time. Maybe I'd have better luck using the ICT's master clock mode, which I haven't tried yet.
What's the best way to share these changes? I'll definitely do a pull request to Nes4life for the Asteroids Deluxe stuff, but does Paul still maintain his repo? Or is Judder's Atom-based fork the place to be these days?
Big thanks to everyone who has contributed their time and knowledge to this project. I was hitting a wall on repairs, and this has been a huge help for breaking through it.