AT&T 3B1 / 7300 / UNIX PC: Boot sequence from floppy
spedraja at ono.com
Mon Dec 6 02:38:17 CST 2010
Great news, Philip. Perhaps finally I could have a replacement for my 3B1
and my 3B2/400 (It's a joke, I like a lot the old stuff).
I have a great lot of manuals of the thing, mostly for the 3B2, but casually
(or not) appeared in past days 3th and 4th some manuals about the matter in
Good luck and Greetings
2010/12/6 Philip Pemberton <philpem at philpem.me.uk>
> Hi guys,
> I've got my 3B1 emulator "mostly working" in that it runs the Boot PROM,
> sees the floppy disc in the drive, and proceeds to boot from it, getting
> as far as the Loader.
> When it gets to the Loader, I get the following display:
> AT&T UNIX(tm) pc
> Loader version 3.51
> Copyright (c) 1985, 1986
> All Rights Reserved
> Searching floppy disk...
> Searching hard disk...
> ... and it stops there. I can tell from the emulator log that it's
> trying to get the hard drive controller to read CHS 0:0:0 and DMA the
> data into RAM at 0x77830, but because the HDC isn't implemented, it
> What I expected was for the Loader to pick up the boot files on the
> Diags disk, boot from that, and ignore the HDD. Does anyone know what
> "typical boot behaviour" is for a 3B1, 7300 or UNIX PC, when booted from
> the Diagnostics floppy (Foundation Set, disk 1) ?
> This is a bit of a head-scratcher -- I'm trying to figure out if there's
> a problem with my FDC driver (wouldn't be the first one) or the
> DMA/interrupt controller, or if the Loader really needs a hard drive
> controller (or a really good fake) to boot the system.
> I'd also really like to know why the DMA controller has two separate
> direction control bits -- DMAR/W- and IDMAR/W-... this seems downright
> silly, though in keeping with the rest of the TechRef. My "annotated
> edition" corrects about a dozen minor and major errors in the register
> set descriptions, and adds a bunch of informational sticky-notes and
> scribbly comments to reinforce certain points. Ewwww...
> If anyone's interested in playing with my emulator -- go to
> <http://www.philpem.me.uk/code/3b1emu/>. Hit the link under "Mercurial
> repository", then ".tar.bz2" to get a Tarball of the sources. Untar it.
> Grab the boot PROMs, and put them in a directory called 'roms' as
> '14c.rom' and '15c.rom'. Use IMDU (Imagedisk utility) on a DOS PC (or
> inside Dosbox) to convert the Foundation Set disks from IMDs to binary
> files, then copy the first Foundation disk (Diagnostics) as 'discim'.
> Compile (you'll need libsdl, aka the Simple DirectMedia Layer) and run.
> I know the code is a mess, patches to rectify this (or any of the other
> millions of bugs) would be almost certainly be accepted :)
> There's also no keyboard or mouse emulation yet, just the CPU, video,
> RAM, ROM and a basic memory mapper and DMA emulation. As for Ethernet
> emulation... that's on the "maybe later" list, right after "learn how to
> send and receive Raw Ethernet frames on Linux".
> philpem at philpem.me.uk
More information about the cctech