Studying the ROMs

A project log for Reverse Engineering The Weather STAR 4000

The Weather STAR 4000: A Journey of reverse engineering the hardware to an iconic machine of the 1980s/90s.

techknighttechknight 03/09/2021 at 00:160 Comments

Between the time period of January of 2019 until about June, i got involved in another project that was pretty much a stepping stone to this one. I dont know if its worthy of having another project blog on it or not since it was fairly simple compared to this. Anyways...

In the "lull" period of those few months, I decided to start diving further into the ROM to see if I could figure out anything that could aide in the process. 

Again, I didn't know the 68K at all from a software/ASM standpoint so this was going to be a challenge. I found several sites teaching the 68k. one of them being Marky Jester's tutorial site which proved to be a very educational tool for me. I found another one based around the Sega, and that helped with some learning as well. 

I tried contacting Steve at BMOW to help me, but he was very busy with life and other projects so he was unable to lend a hand. So, on to other avenues I suppose. 

I contacted Marky directly to see if he could help me out with studying the ROMs. He tried to analyze things, gave me tips and hints, and also said there were some very math intensive routines in the graphics ROM. I am assuming that is a ROM-based vector graphics library which unfortunately, I have not figured out how to use those. I don't know the arguments and their types. 

This was his best guess analysis: 

Although his assessment was more or less guesswork since he, nor I, understood the hardware yet, it was a really good first attempt. Especially at helping me understand the ASM and how things work. 

Ultimately, he figured out that the majority of it looks like it was written in some other high level language and compiled down due to how the stack was manipulated from subroutine to subroutine. 

I did manage to take a peek at the other ROM/EEPROM dumps, and found neat things like this: 

Neat! This is where the advertising crawls shown on the LOT8s were stored. in an AM2864 EEPROM on the CPU card.