I've created a Cinematronics Programming blog, which will contain most of the regular updates on my Cinematronics programming activities.
For now, I'm hosting it at Blogspot: Cinematronics Programming Blog
Not many updates to the site recently, mostly because I continue to work on the Cinematronics Test ROM. I continue to make good progress with some hurtles.
I originally was trying to get the entire test ROM into 4k, so that it would take two 2716 /2532 / 2732s. However, In order hold the data required to test all the games this won't be possible. So I've added bank switching and have increased the maximum size of the program to 8k. Note: I will have a separate slimmed down 4k version that only tests the 4k games: Space War, Starhawk and Barrier.
This means I've outgrown some of the initial assumptions I had in writing routines. I've had to backtrack a bit to spread the program across the two banks and manage bank switched subroutines and data. Without a stack, return addresses from subroutines have to be maintained by the programmer. Add to that the return can be to the same bank or a different one and that the routines can be nested and I've got a bit of a mess to clean up.
Left to do:
I'll post pics / video at some point soon with more updates & notes on Cinematronics programming to come. The good part about all the work for the test ROM is that many of these routines will be able to be used for future new games making me that much further along for those projects.
Due to some chronic health issues, I've found myself forced into resting most of the day for weeks (months actually) on end.
What to do to keep myself entertained? Learn how to program the Cinematronics CCPU!
It's been a long learning curve as the source documentation is not the best (written on a typewriter in the 1970's with many typos and hand-written notes) and there are many idiosyncrasies in the hardware to get used to.
Things are now coming together and I'm excited about documenting this in a more complete way and the possibility of new games for the Cinematronics platform in the future.
I've gotten a number of programming examples working in MAME. The pics attached are my first successful attempt at getting some new code (text strings to screen) to run on the actual hardware.
Excuse the blurry pics - my test monitor is my last dim Amprex tube. The text routine works but for some reason is resetting even though I'm petting the watchdog - I think this is what is slightly messing up the first letter in each line. Still more work to do...
Next project is to get object rotation working!
Just added a page with some info on the cocktail pong clone VideoPong by VideoPlay International. I finished repairing the PCB in mine awhile back without a manual or schematics. Ended up having multiple bad TTL chips found with lots of time, a logic probe and a logic comparator.
It's finally back together and 100% working. Hopefully this info will help if any others exist out there.
You can find it here.
Added a page with some info on the Xentek and Datapower power supplies used in the Cinematronics B&W vector games. Also includes cap kit charts.
You can find it here.
I know there haven't been many updates to the site past few months. I have been making some progress on my various projects and have more info to write up and post. Stay tuned!
A small update today: I added the manual for Cinematronics Sundance to the Cinematronics Manuals page.
Does anyone out there actually own a Sundance?
After working on my Cinematronics Tailgunner on and off for a couple of years, I finally got it up and running last night and played my first games. This required replacing the original vector monitor - which had been fried to the point of non-repair - with the newer version of the Cinematronics monitor used in Star Castle & Armor Attack.
This is not just a simple swap, since the game's joystick uses an input to the monitor's DAC to function! Thanks to Rich Pott's great write-up I had most of the info I need to do the swap. What I didn't have was an older style replacement monitor. The difference is that a jumper wire is soldered in one of the places we need to use, and a resistor has been added (possibly to protect the input of the DAC?).
Looking at this jumper wire on the top of the board, I'm still not quite sure why it has been added. The traces on the bottom of the board go to the exact same place the jumper wire does and I verified that it has continuity between the pad and the resistor with and without the jumper.
I kept the jumper in place and soldered the wire from the joystick that attaches to that location to the bottom of the board. It works perfectly!