So given that the Fcode evaluator is sorted for Solaris 10, I thought I'd try my original Solaris 9 disk image again and was surprised to find that it didn't boot.
Further investigation seems to show that strangely encoded device names are being passed into cif-open which is failing: [...] 3 > 2dup type cdrom:a,|platform|OpenBiosTeam,OpenBIOS|ufsboot ok [...] 3 > 2dup type cdrom:a,|platform|sun4u|ufsboot ok [...] It looks as if a special type of device-specifier is being passed into cif-open consisting of a device and argument, a comma, then the actual filename required with /s replaced by |s.
Is this some kind of special syntax that needs to be taught to the dev word and/or cif-open words?
Ah, yes. The issue here is that the full pathname is something like:
An argument (the stuff after ":") cannot contain a slash (or it would become a path element), so ufs filenames have the slashes replaced with vertical bars. But this should have been entirely between the secondary booter and Solaris - I'm not sure why you are tripping over it.