-- File: InitialMicrocode.RIM - last edit: -- BJackson.Pa 6-Jun-85 0:44:50 -- Copyright (C) 1985 by Xerox Corporation. All rights reserved. -- -- The purpose of this RIM file is to be the absolute very top level -- starting point for generation of SAx000Initial.db {the Dandelion Initial microcode} -- The intended use of is to set the target to "Everything" which builds the -- Dandelion boot file, then SModels all the df files. -- -- {Note: there aren't any bringovers since I expect that you have all the code -- lying on your disk} -- -- Last Edited by: BJackson, June 8, 1985 2:35:34 am PDT Everything: SAx000Initial.db = SModel EPromMicrocode.df/ap = SModel InitialMicrocode.df/ap -- from EPromMicrocode.df -- exports: IOPInit.bin -- imports: SmallDomino.bin, SmallDominoBuffer.bin, Mesa.fb, RavenMesa.fb, TridentRavenMesa.fb -- Here's where we do the "Asm8085" 8085SelfTest.bin: 8085SelfTest.asm = Asm8085 8085SelfTest AltBoot.bin: AltBoot.asm = Asm8085 AltBoot BootMain.bin: BootMain.asm = Asm8085 BootMain Defs.bin: Defs.asm = Asm8085 Defs FDCTest.bin: FDCTest.asm = Asm8085 FDCTest IOPInit.bin: IOPInit.asm = Asm8085 IOPInit PreBootSimple.bin: PreBootSimple.asm = Asm8085 PreBootSimple PreBootSource.bin: PreBootSource.asm = Asm8085 PreBootSource RAMPromSource.bin: RAMPromSource.asm = Asm8085 RAMPromSource RST.bin: RST.asm = Asm8085 RST RSTLinksF.bin: RSTLinksF.asm = Asm8085 RSTLinksF RSTLinksK.bin: RSTLinksK.asm = Asm8085 RSTLinksK StartIOPBootProm.bin: StartIOPBootProm.asm = Asm8085 StartIOPBootProm StartIOPBootRAM.bin: StartIOPBootRAM.asm = Asm8085 StartIOPBootRAM -- Here's where we do the "Bind8085" BindRAMProm.bin: RAMPromSource.bin BindRAMProm.cfg = Bind8085 BindRAMProm = Copy BindRAMPromBind.log ¬ Bind8085.log BootEProm.bin: RST.bin BootMain.bin BootSubs.bin StartIOPBootProm.bin Phase0BootEProm.cfg = Bind8085 BootEProm = Copy BootEPromBind.log ¬ Bind8085.log BootEpromRAM.bin: Defs.bin Phase0.bin BootMain.bin BootSubs.bin StartIOPBootRAM.bin PreBootSimple.bin AltBootBootEpromRAM.cfg = Bind8085 BootEpromRAM = Copy BootEpromRAMBind.log ¬ Bind8085.log BootEPromRAMIOPInit.bin: Defs.bin Phase0.bin IOPInit.bin BootMain.bin BootSubs.bin StartIOPBootRAM.bin PreBootSimple.bin AltBoot.bin BootEPromRAMIOPInit.cfg = Bind8085 BootEPromRAMIOPInit = Copy BootEPromRAMIOPInitBind.log ¬ Bind8085.log BootSubs.bin: BootSubs.asm = Asm8085 BootSubs PreBoot.bin: RSTLinksF.bin PreBootSource.bin 8085SelfTest.bin FDCTest.bin AltBoot.bin PreBoot.cfg = Bind8085 PreBoot = Copy PreBootBind.log ¬ Bind8085.log PreBootEPROMRAM.bin: Defs.bin BootMain.bin BootSubs.bin StartIOPBootRAM.bin PreBootSource.bin 8085SelfTest.bin FDCTest.bin AltBoot.bin PreBootEPROMRAM.cfg = Bind8085 PreBootEPROMRAM = Copy PreBootEPROMRAMBind.log ¬ Bind8085.log -- Here's where we do "Mass" BootKernel.fb: Dandelion.dfn BootKernel.mc = Mass BootKernel/o Dandelion/d BootKernel Phase0Protected.fb: Dandelion.dfn Protected.mc IOPBoot.mc = Mass Phase0Protected/o Dandelion/d Protected IOPBoot Phase0.fb: Dandelion.dfn Phase0.mc EtherBootDLion.mc DiskBootDLion.mc TridentBootDLion.mc = Mass Phase0/o Dandelion/d Phase0 EtherBootDLion DiskBootDLion TridentBootDLion -- Here's where we do "MakeDLionMicroBoot" Phase0.bin: BootKernel.fb Phase0Protected.fb Phase0.fb DiskBoot.uReg = MakeDLionMicroBoot Phase0.bin ¬ BootKernel.fb Phase0Protected.fb Phase0.fb DiskBoot.uReg SmallMesa.db: Mesa.fb SmallDomino.bin = MakeDLionMicroBoot SmallMesa.db ¬ Mesa.fb SmallDomino.bin SmallRavenMesa.db: RavenMesa.fb SmallDomino.bin = MakeDLionMicroBoot SmallRavenMesa.db ¬ RavenMesa.fb SmallDomino.bin SmallTridentRavenMesa.db: TridentRavenMesa.fb SmallDomino.bin = MakeDLionMicroBoot SmallTridentRavenMesa.db ¬ TridentRavenMesa.fb SmallDomino.bin -- from InitialMicrocode.df -- exports: EtherInitial.db, EtherInitialAlt.db, FloppyInitial.db, SAx000Initial.db, TridentFloppyInitial.db, TridentInitial.db -- imports: IOPInit.bin -- Here's where we do the "Bind8085" IOPInitial.bin: IOPInit.bin IOPInitial.cfg = Bind8085 IOPInitial -- Here's where we do the "MakeDLionCpr" DiskBootIOCBs.cpr: DiskBootIOCBs.bravo = MakeDLionCpr DiskBootIOCBs.cpr ¬ DiskBootIOCBs.bravo TridentBootIOCBs.cpr: TridentBootIOCBs.bravo = MakeDLionCpr TridentBootIOCBs.cpr ¬ TridentBootIOCBs.bravo -- Here's where we do the "Mass" MesaInit.fb: Dandelion.dfn InitDLion.mc InitDummy.mc = Mass MesaInit/o Dandelion/d InitDLion InitDummy/t TridentMesaInit.fb: Dandelion.dfn InitDLion.mc InitDummy = Delete InitDLion.si = Mass TridentMesaInit/o dandelion/d InitDLion InitDummy 2/ct InitialProtected.fb: Dandelion.dfn Protected.mc IOP.mc = Mass InitialProtected/o Dandelion/d Protected IOP/t SAx000Initial.fb: Dandelion.dfn DiskDLion.dfn InitDLion.mc DiskDLionA.mc DiskDLionB.mc CoreInitial.mc SAx000Initial.mc Recalibrate.mc = Mass SAx000Initial/o Dandelion/d DiskDLion/d InitDLion DiskDLionA DiskDLionB CoreInitial SAx000Initial Recalibrate/t FloppyInitial.fb: Dandelion.dfn InitDLion.mc CoreInitial.mc FloppyInitial.mc = Mass FloppyInitial/o Dandelion/d InitDLion CoreInitial FloppyInitial/t TridentFloppyInitial.fb: Dandelion.dfn InitDLion.mc CoreInitial.mc FloppyInitial.mc = Delete FloppyInitial.si = Mass TridentFloppyInitial/o Dandelion/d InitDLion CoreInitial FloppyInitial 2/ct TridentInitial.fb: Dandelion.dfn InitDLion.mc TridentDLion.mc CoreInitial.mc TridentInitial.mc = Mass TridentInitial/o Dandelion/d InitDLion TridentDLion CoreInitial TridentInitial 2/ct EtherInitial.fb: Dandelion.dfn InitDLion.mc CoreInitial.mc EtherInitial.mc = Mass EtherInitial/o Dandelion/d InitDLion CoreInitial EtherInitial 3/ct EtherInitialAlt.fb: Dandelion.dfn InitDLion.mc CoreInitial.mc EtherInitialAlt.mc = Delete EtherInitial.si = Mass EtherInitialAlt/o Dandelion/d InitDLion CoreInitial EtherInitialAlt 3/ct -- Here's where we do the MakeDLionMicroBoot's EtherInitial.db: EtherInitial.fb InitialProtected.fb = MakeDLionMicroBoot EtherInitial.db ¬ EtherInitial.fb InitialProtected.fb EtherInitialAlt.db: EtherInitialAlt.fb InitialProtected.fb MakeDLionMicroBoot EtherInitialAlt.db ¬ EtherInitialAlt.fb InitialProtected.fb FloppyInitial.db: = MakeDLionMicroBoot FloppyInitial.db ¬ FloppyInitial.fb InitialProtected.fb IOPInitial.bin/3000 SAx000Initial.db: DiskBootIOCBs.cpr SAx000Initial.fb InitialProtected.fb = MakeDLionMicroBoot SAx000Initial.db ¬ DiskBootIOCBs.cpr SAx000Initial.fb InitialProtected.fb TridentFloppyInitial.db: = MakeDLionMicroBoot TridentFloppyInitial.db ¬ TridentFloppyInitial.fb InitialProtected.fb IOPInitial.bin/3000 TridentInitial.db: TridentBootIOCBs.cpr TridentInitial.fb InitialProtected.fb = MakeDLionMicroBoot TridentInitial.db ¬ TridentBootIOCBs.cpr TridentInitial.fb InitialProtected.fb -- from Stuffers.cm -- exports: {ExtraBanksKernel.fb} -- imports: BootSubs.bin -- Here's some stuff I got out of "Stuffers" that I think Howard used for -- ??? -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- testing IOP patch -- build an IOP program to be loaded by Burdock that contains the patch, -- along with the basic Boot code normally in th ROM. -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * LoadExtraBanks.bin: LoadExtraBanks.asm = Asm8085 AltBoot LoadExtraBanksX.bin: LoadExtraBanksX.asm = Asm8085 AltBoot EtherBootPatchCode.bin: EtherBootPatchCode.asm = Asm8085 EtherBootPatchCode BootExtra.bin: Defs.bin Phase0.bin BootMain.bin BootSubs.bin StartIOPBootRAM.bin PreBootSimple.bin AltBoot.bin LoadExtraBanksX.bin BootExtra.cfg = Bind8085 BootExtra = Copy BootExtraBind.log ¬ Bind8085.log BootEther.bin: Defs.bin Phase0.bin BootMain.bin BootSubs.bin StartIOPBootRAM.bin PreBootSimple.bin AltBoot.bin EtherBootPatchCode.bin BootEther.cfg = Bind8085 BootEther = Copy BootEtherBind.log ¬ Bind8085.log -- build the IOP patch, -- this uses a version of EtherBootPatchCode, -- which exports certain fake entries for bootsubs BootMultiEther.bin: Defs.bin EtherBootPatchCode.bin BootSubs.bin BootMultiEther.cfg = Bind8085 BootMultiEther = Copy BootMultiEtherBind.log ¬ Bind8085.log -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- PreEtherBurdock is for burdock testing of PreEtherInitial -- because burdock can not load multiple files into CP correctly -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * PreEtherInitialProtected: APilot100Dandelion.dfn Protected IOPPreEtherInitial = Mass PreEtherInitialProtected/o APilot100Dandelion/d Protected IOPPreEtherInitial PreEtherInitial.fb: APilot100Dandelion.dfn PreEtherInitial.mc = Mass PreEtherInitial/o APilot100Dandelion/d PreEtherInitial PreEtherBurdock: APilot100Dandelion.dfn TestPreEtherProtected.mc IOPPreEtherInitial.mc PreEtherInitial.mc = Mass PreEtherBurdock/o APilot100Dandelion/d TestPreEtherProtected IOPPreEtherInitial PreEtherInitial -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- Testing basic pilot microcode -- and booting Cedar from Burdock -- (requires InitBurdock.fb ???) -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * InitSAx000Q.fb: Dandelion.dfn Boot.dfn CoreInitial.mc SAx000InitialQ.mc DiskDLion.dfn DiskDLionA.mc DiskDLionB.mc InitDLion.mc Recalibrate.mc = Mass InitSAx000Q/o Dandelion/d Boot/d CoreInitial SAx000InitialQ DiskDLion/d DiskDLionA DiskDLionB InitDLion Recalibrate/a InitBurdock.fb: Dandelion.dfn Boot.dfn CoreInitial.mc BurdockInitial.mc DiskDLion/d InitDLion.mc = Mass InitBurdock/o Dandelion.dfn Boot.dfn CoreInitial BurdockInitial DiskDLion.dfn InitDLion EtherInitialProtected.fb: Dandelion.dfn Boot.dfn EtherInitialDefs.dfn Protected.mc IOPBoot.mc = Mass EtherInitialProtected/o Dandelion/d Boot/d EtherInitialDefs/d Protected IOPBoot EtherInitial.fb: Dandelion.dfn Boot.dfn EtherInitialDefs.dfn CoreInitial.mc EtherInitial.mc DiskDLion.dfn InitDLion.mc = Mass EtherInitial/o Dandelion/d Boot/d EtherInitialDefs/d CoreInitial EtherInitial DiskDLion/d InitDLion/a -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- map examination facilities -- -- As far as I can tell, ExamineMap is never used. It appears that Howard once -- used this for looking at the map after the initial microcode had completed -- in order to debug some Map problem he was having, but then again, -- you can never be *really* sure -- bj -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ScanMap.fb: APilot100Dandelion.dfn ExamineMap.mc = Mass ScanMap/o APilot100Dandelion/d ExamineMap -- build the PreEtherInitial.db file, -- this file sits in the boot server '6' slot -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- put PreEtherInitial.db on [Nebula] -- -- look on [Nebula]Nebula.txt at the entry -- ------------------------------------------------------ -- DLion: Microcode xxx yyy.db -- ------------------------------------------------------ -- -- also look at [Nebula]PupGateway.typescript, -- to see what happened and confirm the change -- -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * PreEtherInitial.db: PreEtherInitialProtected.fb PreEtherInitial.fb BootMultiEther.bin = MakeDLionMicroBoot PreEtherInitial.db ¬ PreEtherInitialProtected.fb PreEtherInitial.fb BootMultiEther.bin StorePreEtherOnNebula: foo = FTP Nebula Store/s PreEtherInitial.db yyy.db = FTP Nebula Ret/c PupGateway.typescript -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- put EtherInitial.db on [Nebula] -- -- look on [Nebula]Nebula.txt at the entry -- ------------------------------------------------------ -- DLion: Microcode 25200000120 CedarEtherInitialDLion.db -- ------------------------------------------------------ -- -- also look at [Nebula]PupGateway.typescript, -- to see what happened and confirm the change -- -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * HowardsEtherInitial.db: EtherInitialProtected.fb EtherInitial.fb = MakeDLionMicroBoot EtherInitial.db ¬ EtherInitialProtected.fb EtherInitial.fb StoreOnNebula: foo = FTP Nebula Store/s HowardsEtherInitial.db CedarEtherInitialDLion.db = FTP Nebula Ret/c PupGateway.typescript -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -- put SAx000InitialQ.db on [Nebula] -- and on [Indigo]Top>SomethingButIDontKnowWhat.eb -- -- look on [Nebula]Nebula.txt at the entry -- ------------------------------------------------------ -- DLion: Microcode 25200000120 SomethingButIDontKnowWhat.db -- ------------------------------------------------------ -- -- also look at [Nebula]PupGateway.typescript, -- to see what happened and confirm the change -- -- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SAx000InitialQ.db: DiskBootIOCBs.cpr InitSAx000Q.fb InitialProtected.fb = MakeDLionMicroBoot SAx000InitialQ.db _ DiskBootIOCBs.cpr InitSAx000Q.fb InitialProtected.fb StoreSomethingOnNebula: foo = FTP Indigo Dir/c Top> Store/s SAx000InitialQ.db SomethingButIDontKnowWhat.eb = FTP Nebula Ret/c PupGateway.typescript