August 24, 2014

MightyFrame Boot ROM Analysis

We are honored to have the collaboration efforts of Tom Trebisky supporting us on this project.  See his page dedicated to our MightyFrame boot ROM project.

Here's the full & long story:


Eric at Antediluvian Designs shared some information as we were chatting and comparing esoteric projects on each other's websites.  

He reminded me that I had linked Tom Trebisky's tribute to the MiniFrame, little cousin of the MightyFrame.  Tom had done an analysis of the boot rom of the MiniFrame.


This suggested that I might want to do a boot rom analysis of one of our MightyFrames.  Here's how the details of that conversation went:

When we reached out to him, Tom responded in an email on January 6, 2014:


"You should find my disassembled boot ROM on the website instructive, if your machine is truly a close relative.  What devices do you have to choose from for booting?  It seems like the miniframe had the choice of a floppy or the MFM hard drive, and maybe some kind of tape. 


The 3b1 machines were also closely related, and they had a much wider following than the miniframe did.  I am sure you can find a lot of information about them as they had their own newsgroup and such.  Also called the unix-PC."

...

The miniframe roms didn't talk at all on the console as I remember -- I see that yours at least announce themselves in a basic fashion...

...

Have you thought about reading out your prom and disassembling it.  It was a couple of weeks work figuring out and commenting the disassebled listing I put on my website.  A great puzzle though if you like that kind of thing.

...

Then excerpts from a reply on January 8, 2014:


As for the ROM listing, it is just a text file, save it (conv.dis or whatever my website calls it) and look at it with your favorite text editor.  What I did was pull the pair of EPROM's out of my miniframe, read them on a prom burner, then merge the even and odd parts together and run a disassembler over the binary image. Then the fun started, which was studying and annotating the result ...


The miniframe boot rom does not talk to the serial port AT ALL!!  This was a great disappointment. So I don't get a choice of boot devices that I can control.  I forget how the miniframe made its choice, it just have checked one device then another in some order till it found some device that responded, or something like that.  Reading my commented listing might yield the answer.  Or the manuals


If you just have a tape and a MFM hard drive, you will be pretty limited (especially if the hard drive doesn't boot).  You would be needing some device (like an old sun workstation) that could write to a scsi tape drive if you were hell bent on getting software into the mightyframe. 


Floppies would definitely not ever be connectable to a MFM hard drive interface. The one and only thing that would, would be an MFM hard drive. If you think you might be needing or wanting one, we could talk, it would give me an excuse to dig through my shed and get rid of some things.

...

In another reply on Jaunary 25, 2014:



3) You could consider prying the firmware EPROM out of the socket (is there just one?) putting it on a piece of static foam and sending it to me and I could read out the image on my prom burner, then send it back to you and email the image (and could perhaps look at disassembling it).  Just an idea -- if you have a prom reader of your own or know someone who has one you could do this yourself, then look at disassembling and studying it.  I could provide advice if nothing else.  :-)

----------------------------------------

I think it is time for me to follow Tom's advice, and learn to disassemble the prom read output on a MightyFrame.

I have never done this before, so here is yet another chapter in this learning adventure:


Starting with, for reference, the closest thing we have to a MiniFrame for comparison to Tom's disassembly text:  The AT&T 7300 prom chips (2, identical)

TMS2364-25NL (click for DataSheet)


MightyFrame One
AM27256DC (Click for DataSheet)

MightyFrame Two

Intel D27256 (Click for DataSheet)



So now for the next logical question...does anyone have any good suggestions on a reasonably easily accessible ePROM reader that will work well for these chips?  This will be another first for us....

MARCH thread                                                         Vintage-Computer.com thread


Tom has connected with us once again. to assist in this journey.  We really appreciate your time and interest!

August 27, 2014:

Once you get the burner, it should be easy to read the contents and dump to a file, which may be a binary image or some kind of ascii hex file.  I have had experience for both and would be happy to get involved at that point.   What I have done in the past was to "repackage" the image so it looks like a unix a.out file - then a debugger like gdb could be used to disassemble it.

After that is when the real work starts and it will be particularly hard without hardware manuals for the mightyframe.  What we will wish we had were hardware manuals for the address map of the devices in the mightyframe.  I have ideas for sorting that out in the absence of such documentation. I'll have to look at the photos of your board and make a list of IO chips as a start.   Convergent Technologies seemed to like to do a lot of stuff with PAL devices, which will make things somewhat harder.

One thing that will be interesting will be to look for some of the strings in the code that you list below, that should lead us pretty quickly to the UART routines.



------------------------------
*NEW* PCB5.0E EPROM programmer

September 1, 2014:
I have just received a PCB5.0C eProm programmer with Willem Software from this eBay auction.  The board in the 2nd picture is the version I received.

The software came on a CD, and I have made a .zip file of the contents available here.

I'll be studying this in order to determine how to read my boot ROM chip to a .bin file and then read it.


------------------------------
*boot prom dump file*

While I wish I could say that I did this myself, I can only thank my new friend, True, whipped out a prom burner at a meeting we were at this evening, and had thsi dump file produced before I could even finish my sentence.  Thanks, True!

Click to download the boot prom dump file from our MightyFrame Two.






September 1, 2014:
Now that Tom has the dump file, he has begun his analysis.  Here are his words:

I spent some time looking at your photo collection again, and probably got most of what I am after as far as a chip list.

My take on the main board is:

mc68020rc12 processor
socket for the 68881 math coprocessor

WD2010 MFM disk controller (like the miniframe/3b1)

8253 counter/timer chip
8259 ??  interrupt controller

Some big chip that I can't read, must be a dual channel uart.
Look at this and let me know what it is.

Looks like 1M of RAM memory.

Connectors (ignoring disk and tape) are:

Some 9 pin D for "UPS" hmmm
Two 25 pin serial connectors (channel 0 and 1)
One 25 pin parallel.

No big surprises.  In fact looks like a slightly upgraded copy of the miniframe.
The main changes are the 68020 instead of 68010 (albeit only 12 mhz) -AND-
maybe the biggest thing -- the expansion bus.

Interesting to see the "one" unit has an ethernet!

The 20 port serial card is an echo from the ancient past when departments has serial terminals in various offices, all run to the "central computer".   I remember those days!!
Now just a heat generator.

Are you interested in any boards from old SUN workstations?

     Tom

I am tempted to stop and compare to some hand-sized (and cheap!) computer
like a beagle bone black -- how far we have come!


-----

You can look at the link I already send, but be sure and go to this second page:

http://cholla.mmto.org/computers/mightyframe/roms.html

You will see 4 links under "preliminary results".

Now that I have some kind of disassembly of the two roms I am just starting to
study and compare -- will probably take a break from this soon and do something else
for a while.

One thing puzzling right away.  Your rom starts off right away fiddling with some registers
with addresses at 0x90000000, whereas Klossow's rom (did I get that name wrong) NEVER
touches registers at this address (near as I can tell).  By contrast his rom fiddles with
addresses in the 0x80000000 range, which ought to be the ROM address space, very odd.
I like your ROM better (in that regard, ha ha).

    Tom

Now the real fun starts.  I need to look at that 500 page book on writing device drivers
(or whatever it is).  I think I saw it somewhere on your pages.


-----

So I took a first look at the Mightyframe device driver book.

a) I was excited about section 2-9 at first, but it is much too vague, maybe more details will
pop up later, but chances are that they don't think you will need to know about device addresses
on the main board.

b) Holy cow!!  The expansion bus is VME!  Who woulda thought?
This is an old friend from many systems I have worked with over the years.

Time to cook a pizza ....