New code for the CAMM3 EPROM
- I have uploaded my code for the 16k CAMM-3 EPROM to the Files section.
This is a FWIW, it works much the same as the original but wants it's input as a pre-digested sludge so it doesn't have to do the digesting.
Written in Z80 assembler it is not for the faint hearted but it is commented, making it a more understandable starting point for your own driver than the disassembled mess I got to work from.
The CAMM3 uses INT for COMMs and NMI for the timing which is totally unfriendly. I use lots of different NMI handlers same as the original firmware, it might work with one super NMI handler but the 4MHz clock rate doesn't leave you a lot of headroom when you are fast stepping all 3 axes.
I use it with a USB to serial adapter.
If you send it an ENQ it replies "Roland PNC-3000" so it is easy to find.
It starts up with a home-return off the limit switches so it knows where it is.
It decodes all the buttons, knobs and LED's then tries to do something useful with them.
I wrote the other end in C# for Microsoft Visual Studio. Slightly complicated because I had to spawn off a seperate routine to drive the Roland if I was to avoid boring "Program is not responding" messages. It will work under XP, but you really want USB2.0 so Win7 machines are a better bet.