• Please review our updated Terms and Rules here

Disassembling a 68k bootloader or two

firebirdta84

Experienced Member
Joined
Jun 26, 2013
Messages
244
Location
Central Iowa
The time has come for me to teach myself how to disassemble a 30-year old 68k program...the AT&T UNIX PC's verbose bootloader: s4load.verbose

I can see that it has been done before, at least partially, by Phil Pemberton, when he was working on his 3b1 emulator project. He posts on the comp.sys.3b1 newsgroup a few years ago:

http://bit.ly/1vhysb5

He is using the exact same file that I am trying to break down: s4load.verbose

How did he extract this code, and what tool(s) did he use?

I've reached out to Phil through all the methods I can find, but with no response as of yet.

I've asked this question on the EASy68k.com forum, with no response, and even downloaded and played with EASy68k. Of course, it won't open these files.

Any pointers?

My end goal is to learn to do what I know at least some others have done here, and use that acquired skill set to do a similar disassembly on the MightyFrame bootloader: loader14cust

Thanks again for sharing your knowledge, everyone.
-AJ
http://MightyFrame.com
 
Phil's file looks like the old Unix SYSV object file format (should be described by a.out.h in your 3B1 /usr/include files). It's close, but not quite the same as ELF. After that, isn't it pretty much a matter of using objdump from the GNU binutils package?
 
tingo & Chuck(G), thank you both, this is very helpful.

This is exactly the kind of newbie-direction I am hoping for.

Chuck, I'm trying to find a.out.h in my 3B1 /usr/include files.

My UNIX PC doesn't have a usr/include directory, and I cannot find an a.out.h file on the entire hard drive. Here's the full directory of my UNIX PC's hard drive:

Am I understanding your terms correctly here, or am I off base?

tingo, ODA certainly looks cool, and I am playing with it now. It seems to interpret anything any way, so knowing what it looks like when I have it set right is the key...I'm still figuring that by trial-and-error here.
 
Do you have the Development set installed? These are just naked cpio files, so you can just concatenate the images and run cpio on the result.

The /usr/include files look like this:

Code:
.:
total 288
-r--r--r-- 1 chuck chuck 1026 Jul 17 09:43 alarm.h
-r--r--r-- 1 chuck chuck 7178 Jul 17 09:43 a.out.h
-r--r--r-- 1 chuck chuck  566 Jul 17 09:43 aouthdr.h
-r--r--r-- 1 chuck chuck 3573 Jul 17 09:43 ar.h
-r--r--r-- 1 chuck chuck  224 Jul 17 09:43 assert.h
-r--r--r-- 1 chuck chuck  579 Jul 17 09:43 core.h
-r--r--r-- 1 chuck chuck  840 Jul 17 09:43 ctype.h
-r--r--r-- 1 chuck chuck 4617 Jul 17 09:43 curses.h
-r--r--r-- 1 chuck chuck 1343 Jul 17 09:43 dial.h
-r--r--r-- 1 chuck chuck  607 Jul 17 09:43 dumprestor.h
-r--r--r-- 1 chuck chuck  150 Jul 17 09:43 errno.h
-r--r--r-- 1 chuck chuck  107 Jul 17 09:43 exch.h
-r--r--r-- 1 chuck chuck  334 Jul 17 09:43 execargs.h
-r--r--r-- 1 chuck chuck  488 Jul 17 09:43 fatal.h
-r--r--r-- 1 chuck chuck 1268 Jul 17 09:43 fcntl.h
-r--r--r-- 1 chuck chuck 3490 Jul 17 09:43 filehdr.h
-r--r--r-- 1 chuck chuck 2230 Jul 17 09:43 form.h
-r--r--r-- 1 chuck chuck  369 Jul 17 09:43 ftw.h
-r--r--r-- 1 chuck chuck  140 Jul 17 09:43 gdioctl.h
-r--r--r-- 1 chuck chuck  187 Jul 17 09:43 grp.h
-r--r--r-- 1 chuck chuck 2381 Jul 17 09:43 kcodes.h
-r--r--r-- 1 chuck chuck 2506 Jul 17 09:43 ldfcn.h
-r--r--r-- 1 chuck chuck  696 Jul 17 09:43 linenum.h
-r--r--r-- 1 chuck chuck 4672 Jul 17 09:43 lp.h
-r--r--r-- 1 chuck chuck 2132 Jul 17 09:43 macros.h
-r--r--r-- 1 chuck chuck 2145 Jul 17 09:43 Makepost.h
-r--r--r-- 1 chuck chuck 1121 Jul 17 09:43 Makepre.h
-r--r--r-- 1 chuck chuck 1039 Jul 17 09:43 malloc.h
-r--r--r-- 1 chuck chuck 1602 Jul 17 09:43 math.h
-r--r--r-- 1 chuck chuck  148 Jul 17 09:43 memory.h
-r--r--r-- 1 chuck chuck 2887 Jul 17 09:43 menu.h
-r--r--r-- 1 chuck chuck  402 Jul 17 09:43 message.h
-r--r--r-- 1 chuck chuck  275 Jul 17 09:43 mnttab.h
-r--r--r-- 1 chuck chuck  330 Jul 17 09:43 mon.h
-r--r--r-- 1 chuck chuck  404 Jul 17 09:43 nan.h
-r--r--r-- 1 chuck chuck  662 Jul 17 09:43 nlist.h
-r--r--r-- 1 chuck chuck  379 Jul 17 09:43 pbf.h
-r--r--r-- 1 chuck chuck  326 Jul 17 09:43 pwd.h
-r--r--r-- 1 chuck chuck 6376 Jul 17 09:43 regexp.h
-r--r--r-- 1 chuck chuck 1848 Jul 17 09:43 reloc.h
-r--r--r-- 1 chuck chuck 2532 Jul 17 09:43 rje.h
-r--r--r-- 1 chuck chuck 2021 Jul 17 09:43 scnhdr.h
-r--r--r-- 1 chuck chuck  271 Jul 17 09:43 search.h
-r--r--r-- 1 chuck chuck  313 Jul 17 09:43 setjmp.h
-r--r--r-- 1 chuck chuck 1451 Jul 17 09:43 sgs.h
-r--r--r-- 1 chuck chuck 1451 Jul 17 09:43 sgtty.h
-r--r--r-- 1 chuck chuck  133 Jul 17 09:43 signal.h
-r--r--r-- 1 chuck chuck 2133 Jul 17 09:43 stand.h
-r--r--r-- 1 chuck chuck  812 Jul 17 09:43 status.h
-r--r--r-- 1 chuck chuck 2038 Jul 17 09:43 stdio.h
-r--r--r-- 1 chuck chuck 1748 Jul 17 09:43 storclass.h
-r--r--r-- 1 chuck chuck  267 Jul 17 09:43 string.h
-r--r--r-- 1 chuck chuck  199 Jul 17 09:43 symbol.h
-r--r--r-- 1 chuck chuck 5048 Jul 17 09:43 syms.h
drwxr-xr-x 2 chuck chuck 4096 Jul 17 09:43 sys
-r--r--r-- 1 chuck chuck   61 Jul 17 09:43 syslocal.h
-r--r--r-- 1 chuck chuck 1519 Jul 17 09:43 tam.h
-r--r--r-- 1 chuck chuck  111 Jul 17 09:43 termio.h
-r--r--r-- 1 chuck chuck  406 Jul 17 09:43 time.h
-r--r--r-- 1 chuck chuck  226 Jul 17 09:43 tp_defs.h
-r--r--r-- 1 chuck chuck  884 Jul 17 09:43 track.h
-r--r--r-- 1 chuck chuck  956 Jul 17 09:43 unistd.h
-r--r--r-- 1 chuck chuck  258 Jul 17 09:43 ustat.h
-r--r--r-- 1 chuck chuck 1477 Jul 17 09:43 utmp.h
-r--r--r-- 1 chuck chuck 3442 Jul 17 09:43 values.h
-r--r--r-- 1 chuck chuck  410 Jul 17 09:43 varargs.h
-r--r--r-- 1 chuck chuck  300 Jul 17 09:43 wind.h

./sys:
total 448
-r--r--r-- 1 chuck chuck  1114 Jul 17 09:43 acct.h
-r--r--r-- 1 chuck chuck  4833 Jul 17 09:43 buf.h
-r--r--r-- 1 chuck chuck   609 Jul 17 09:43 callo.h
-r--r--r-- 1 chuck chuck  1700 Jul 17 09:43 cmap.h
-r--r--r-- 1 chuck chuck  1801 Jul 17 09:43 conf.h
-r--r--r-- 1 chuck chuck  2759 Jul 17 09:43 config.h
-r--r--r-- 1 chuck chuck  2818 Jul 17 09:43 dialer.h
-r--r--r-- 1 chuck chuck   244 Jul 17 09:43 dir.h
-r--r--r-- 1 chuck chuck  1925 Jul 17 09:43 dmap.h
-r--r--r-- 1 chuck chuck  2068 Jul 17 09:43 drv.h
-r--r--r-- 1 chuck chuck   199 Jul 17 09:43 err.h
-r--r--r-- 1 chuck chuck  5769 Jul 17 09:43 errno.h
-r--r--r-- 1 chuck chuck   149 Jul 17 09:43 fblk.h
-r--r--r-- 1 chuck chuck  1152 Jul 17 09:43 file.h
-r--r--r-- 1 chuck chuck  1337 Jul 17 09:43 filsys.h
-r--r--r-- 1 chuck chuck  1570 Jul 17 09:43 flock.h
-r--r--r-- 1 chuck chuck  2047 Jul 17 09:43 font.h
-r--r--r-- 1 chuck chuck  2659 Jul 17 09:43 gdioctl.h
-r--r--r-- 1 chuck chuck 16917 Jul 17 09:43 gdisk.h
-r--r--r-- 1 chuck chuck  8922 Jul 17 09:43 hardware.h
-r--r--r-- 1 chuck chuck  8295 Jul 17 09:43 hardware.m
-r--r--r-- 1 chuck chuck 12679 Jul 17 09:43 i8274.h
-r--r--r-- 1 chuck chuck  1446 Jul 17 09:43 init.h
-r--r--r-- 1 chuck chuck  3435 Jul 17 09:43 inode.h
-r--r--r-- 1 chuck chuck   697 Jul 17 09:43 ino.h
-r--r--r-- 1 chuck chuck  2181 Jul 17 09:43 iobuf.h
-r--r--r-- 1 chuck chuck    90 Jul 17 09:43 ioctl.h
-r--r--r-- 1 chuck chuck  4345 Jul 17 09:43 iohw.h
-r--r--r-- 1 chuck chuck  2710 Jul 17 09:43 iohw.m
-r--r--r-- 1 chuck chuck   945 Jul 17 09:43 ipc.h
-r--r--r-- 1 chuck chuck 10359 Jul 17 09:43 kbd.h
-r--r--r-- 1 chuck chuck   313 Jul 17 09:43 lapbtr.h
-r--r--r-- 1 chuck chuck   209 Jul 17 09:43 lock.h
-r--r--r-- 1 chuck chuck   336 Jul 17 09:43 lprio.h
-r--r--r-- 1 chuck chuck  2295 Jul 17 09:43 map.h
-r--r--r-- 1 chuck chuck  7485 Jul 17 09:43 modem.h
-r--r--r-- 1 chuck chuck   564 Jul 17 09:43 mount.h
-r--r--r-- 1 chuck chuck  1023 Jul 17 09:43 mouse.h
-r--r--r-- 1 chuck chuck  2082 Jul 17 09:43 msg.h
-r--r--r-- 1 chuck chuck  8394 Jul 17 09:43 param.h
-r--r--r-- 1 chuck chuck  6703 Jul 17 09:43 ph.h
-r--r--r-- 1 chuck chuck  3960 Jul 17 09:43 phone.h
-r--r--r-- 1 chuck chuck  5713 Jul 17 09:43 proc.h
-r--r--r-- 1 chuck chuck  5900 Jul 17 09:43 pte.h
-r--r--r-- 1 chuck chuck   581 Jul 17 09:43 rastop.h
-r--r--r-- 1 chuck chuck  1472 Jul 17 09:43 reg.h
-r--r--r-- 1 chuck chuck  1880 Jul 17 09:43 rtc.h
-r--r--r-- 1 chuck chuck  2631 Jul 17 09:43 sem.h
-r--r--r-- 1 chuck chuck  2897 Jul 17 09:43 shm.h
-r--r--r-- 1 chuck chuck  1263 Jul 17 09:43 signal.h
-r--r--r-- 1 chuck chuck   610 Jul 17 09:43 slot.h
-r--r--r-- 1 chuck chuck 11366 Jul 17 09:43 space.h
-r--r--r-- 1 chuck chuck  2491 Jul 17 09:43 spl.h
-r--r--r-- 1 chuck chuck   992 Jul 17 09:43 stat.h
-r--r--r-- 1 chuck chuck   922 Jul 17 09:43 stermio.h
-r--r--r-- 1 chuck chuck  6840 Jul 17 09:43 st.h
-r--r--r-- 1 chuck chuck  1066 Jul 17 09:43 sysinfo.h
-r--r--r-- 1 chuck chuck  1444 Jul 17 09:43 syslocal.h
-r--r--r-- 1 chuck chuck  2069 Jul 17 09:43 sysmacros.h
-r--r--r-- 1 chuck chuck  2400 Jul 17 09:43 systm.h
-r--r--r-- 1 chuck chuck   358 Jul 17 09:43 target.h
-r--r--r-- 1 chuck chuck  4713 Jul 17 09:43 termio.h
-r--r--r-- 1 chuck chuck  1319 Jul 17 09:43 text.h
-r--r--r-- 1 chuck chuck   380 Jul 17 09:43 times.h
-r--r--r-- 1 chuck chuck   951 Jul 17 09:43 trap.h
-r--r--r-- 1 chuck chuck   704 Jul 17 09:43 ttold.h
-r--r--r-- 1 chuck chuck  3883 Jul 17 09:43 tty.h
-r--r--r-- 1 chuck chuck   617 Jul 17 09:43 tune.h
-r--r--r-- 1 chuck chuck   654 Jul 17 09:43 types.h
-r--r--r-- 1 chuck chuck  5797 Jul 17 09:43 user.h
-r--r--r-- 1 chuck chuck   495 Jul 17 09:43 utsname.h
-r--r--r-- 1 chuck chuck   446 Jul 17 09:43 vadvise.h
-r--r--r-- 1 chuck chuck   591 Jul 17 09:43 var.h
-r--r--r-- 1 chuck chuck   600 Jul 17 09:43 vlimit.h
-r--r--r-- 1 chuck chuck   304 Jul 17 09:43 vm.h
-r--r--r-- 1 chuck chuck  3831 Jul 17 09:43 vmmac.h
-r--r--r-- 1 chuck chuck   124 Jul 17 09:43 vmmeter.h
-r--r--r-- 1 chuck chuck  2563 Jul 17 09:43 vmparam.h
-r--r--r-- 1 chuck chuck  1117 Jul 17 09:43 vmsystm.h
-r--r--r-- 1 chuck chuck   951 Jul 17 09:43 vtimes.h
-r--r--r-- 1 chuck chuck  2329 Jul 17 09:43 wait.h
-r--r--r-- 1 chuck chuck  4527 Jul 17 09:43 wd.h
-r--r--r-- 1 chuck chuck  4901 Jul 17 09:43 window.h
 
Last edited:
Chuck(G), thank you...this appears to be exactly what I need to fill in the blanks in my understanding. I did not have the development set installed, so this is perfect.

I'll dig in and give an update soon.

Thanks always,
-AJ
 
Back
Top