When I first got the original code, I set out to find the correct compilers and linker, as I did for Zyklus as well. Looking at the batch scripts used for compiling as well as some map files that remained, it was quickly discovered that the used tool chain was by Microtec. Through the ‘internet archive’ and some other online resources for old software, I was quickly able to download the correct C compiler and Assembler. Some other tools mentioned were untraceable. lod68k.exe had to be the linker, so I found a slightly more recent version called lnk68k.exe which did the trick. Another file called ‘cvmot’, probably related to the ICE or the system used to upload to memory cards remained untraceable.
I fired up my old (I mean OLD – pentium 200 mmx) PC and installed the tool chain.
The compiler worked nicely and with the options found in the batch file, I noticed that it didn’t compile to OBJ format, but rather to assembly code, which then got compiled by the assembler into obj files.
The linker used a linker command file with memory layout options to then barf out one complete ABS file. The ABS file contains, besides the absolute addressing information, the hex file.
Now I have my own workflow for doing assembly, which I used to create my own ‘diag’ eproms. At first I tried to use m68k-elf-as but I kept running into all sorts of weird issues. Eventually, I opted to change to vasm which made life a lot easier. It enabled me, along with some other tools like srec_cat to create the ODD/EVEN eproms.
Today I set out to try to use the splitting and burning part of my tool chain, with the original code and compilers. I wanted to recompile the EPROM code which some OS checksum checks disabled to see if I could get it to boot directly into the OS entry point and hopefully use the predetermined key combo to clean the Data Region, which needs formatting (as the E11 error tells me).
In order to do this, I had to modify the compilation batch files, along with with some command options per line to make it work with the slightly newer version of the linker. In order to build my new EPROM, I needed everything compiled to OBJ files, because of external references in the PROM code that it needs to find. After some hackery, I managed to compile the whole code base and link it using the memory layout options as detailed in the linker command file. I have two of these command files, one is for doing the EPROM only, the rest is for the whole codebase.
I then moved the resulting ABS file to my mac and pushed it through my split / burn workflow and 2 new EPROMS were born. Stuck in in the machine and the good news is, it booted as I expected, directly into the OS showing the E11 code. However, the startup keys to reformat the WS memory space didn’t work (reinforcing my believe that those RAM IC’s are toast, or at least one of them. If I switch them around, other unpredictable stuff happens. New ones are on order, I have to be patient…..).
I also did a full build on the codebase and compared the resulting HEX part of the ABS file with the HEX file I already have and it looks like it’s identical. So with that I can now fully build and rebuild the OS and EPROMs.
Paul was kind enough to create a little memory card board based on the prototype we made with a protoboard so it looks neat. These are being printed right now and should be here next week.
And finally, I had to tackle an issue with the metronome / system volume control. This potmeter had a capacitor and resistor soldered to the legs and they kept coming off. I created a tiny board of a piece of protoboard, laid it out on there and this will make it a bit more sturdy.
More to come soon…