July 28, 2025

Sun 3 bootrom

For whatever reason, I have always been fascinated by bootroms.

I have done several projects where I disassembled and analyzed bootrom images. I find this to be an irresistable and engrossing puzzle. It demands (and develops) a detailed understanding of assembly language and computer architecture.

The Sun 3/80 rom was the first I tackled, then I looked at the 3/60 rom. I learned things from the 3/60 rom that I ought to go back with to the 3/80 rom, but now this project has taken an entirely different turn.

Bootrom source

Subsequent to the projects based on disassembly of rom images, some people I was collaborating with discovered actual source code for the bootroms!

The source is 27,715 lines of C and assembler in 140 files in 5 major directories.
By directory the number of files and lines of code is:

dev   -- 38 files, 7903 lines
diag  --  4 files, 6479 lines
h     -- 53 files, 4070 lines
sun3  -- 21 files, 3481 lines
sys   -- 24 files, 5782 lines

By no means a trivial amount of code.

Now that the source is available for study, my enthusiasm for analyzing the disassembled images has significantly fizzled and my attention has now shifted to the source code. My immediate goal is to be able to build a working bootrom image from source using the Gnu tools (gcc and gas) on a linux host. The following is a "blog" of sorts where I keep notes on this part of the project.

I have to say, it is interesting to see how the programmers at Sun did their work.


Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org