Firstly, my goal: to run MazeWar on something other than a NeXT.
I thought this would be fairly straightforward, starting with getting SunOS
4.1.3 booting with QEMU. Turns out, I've not had much luck. I get different
error messages depending on what machine type I'm emulating. I can start
booting from the .iso running this command:
$ qemu-system-sparc -bios ss5.bin -M SS-5 -m 64M -drive
file=sunos413.img,if=scsi,bus=0,unit=3,media=disk -drive
file=SunOS_4.1.3_sparc.iso,format=raw,if=scsi,bus=0,unit=6,media=cdrom,readonly=on
-boot d
and get a near immediate panic:
machine type 0x80 in NVRAM
panic: No known machine types configured in!
Data Access Exception
ok
Okay, how about trying the default BIOS and SS-20? It definitely gets
further, but no dice...
Boot: vmunix
Size: 843776+2315672+64016 bytes
SuperSPARC/SuperCache: PAC ENABLED
SunOS Release 4.1.3 (MUNIX) #3: Mon Jul 27 16:47:33 PDT 1992
Copyright (c) 1983-1992, Sun Microsystems, Inc.
cpu = SUNW,SPARCstation-20
mod0 = TI,TMS390Z55 (mid = 8)
mem = 49020K (0x2fdf000)
avail mem = 44707840
Ethernet address = 52:54:0:12:34:56
espdma0 at SBus slot f 0x400000
esp0 at SBus slot f 0x800000 pri 4 (onboard)
sd2: non-CCS device found at target 2 lun 0 on esp0
sd2 at esp0 target 2 lun 0
sd2: <QEMU 0 blocks>
sd2: Vendor 'QEMU', product 'QEMU', (unknown capacity)
sd3: non-CCS device found at target 0 lun 0 on esp0
sd3 at esp0 target 0 lun 0
sd3: corrupt label - wrong magic number
sd3: Vendor 'QEMU', product 'QEMU', (unknown capacity)
ledma0 at SBus slot f 0x400010
le0 at SBus slot f 0xc00000 pri 6 (onboard)
zs0 at obio 0x100000 pri 12 (onboard)
zs1 at obio 0x0 pri 12 (onboard)
SUNW,fdtwo0 at obio 0x700000 pri 11 (onboard)
BAD TRAP: cpu=0 type=29 rp=f00daba4 addr=0 mmu_fsr=0 rw=0
MMU sfsr=0: No Error
regs at f00daba4:
psr=40400cc7 pc=f00a0968 npc=f00a096c
y: 20000 g1: f00c1e78 g2: 40900ce6 g3: fb005ff0
g4: 2c g5: f00db000 g6: 0 g7: 30000000
o0: 1 o1: 8 o2: f00dac00 o3: f0076e50
o4: 0 o5: 0 sp: f00dabf0 ra: f1000000
(unknown): bad trap = 41
rp=0xf00daba4, pc=0xf00a0968, sp=0xf00dabf0, psr=0x40400cc7, context=0x0
g1-g7: f00c1e78, 40900ce6, fb005ff0, 2c, f00db000, 0, 30000000
Begin traceback... sp = f00dabf0
Called from f00c1eb8, fp=f00dac58, args=ff009000 f00dacbc 0 f0314a70 1000
1000
Called from f00a7d34, fp=f00dacc0, args=ff009000 0 ff009000 fb002098
f0314a70 ff009000
Called from f00a7708, fp=f00dad20, args=1080000 d f0102d50 f0102db3 0 2
Called from f00a74e0, fp=f00dad80, args=f0305bd4 f0102d50 fb001000 fb001050
0 0
Called from f00a5028, fp=f00dade0, args=f00fc000 fefe0014 0 0 f0102d50
f0305bd4
Called from f00ac084, fp=f00dae40, args=72 1000 1 1 86 800000
Called from f0015f7c, fp=f00daef8, args=800000 100000 fb000000 2fdd 2000 2
Called from f000539c, fp=f00daf58, args=f00dafb4 f00076c0 10801522 821020ff
200 f00ce600
Called from 403f0c, fp=0, args=4000 3ffd60 1 235598 4000 0
End traceback...
panic: trap
rebooting...
Then I thought, why not use The Machine Emulator to emulate a Sun 3 and
play with something even older? I can't get that to build using clang under
OS X 10.9. I've changed a few lines of source already to get it further
along in the compilation process, but now I'm stuck:
In file included from module.c:48:0:
module.c: In function 'tme_module_init':
module.c:93:3: error: 'lt_preloaded_symbols' undeclared (first use in this
function); did you mean 'lt_dlloader_remove'?
LTDL_SET_PRELOADED_SYMBOLS();
^
Okay, now I'm tired of trying to emulate it (actually, I still would like
to play with QEMU or TME...), so I pulled a SS-20 off the shelf and threw a
SCSI2SD card in it. I didn't have a means of burning a CD, so I used the
SCSI2SD to also emulate a CDROM drive at device 6, and unplugged the
existing CDROM drive. I can boot off of it just fine, and I get now even
further along the process of installation, and am able to format the hard
drive. Right when I think things are going well, I get this:
esp0: Target 6.0 reverting to async. mode
sr0: SCSI transport failed: reason 'data_ovr': giving up
m partition number 3
fastread: can't read label on /dev/rsr0:I/O error
ERROR while loading miniroot disk: /dev/rsd0b
#
Any ideas?
Thanks,
Kyle