-- 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]<Gateway>Nebula.txt at the entry
-- ------------------------------------------------------
-- DLion: Microcode xxx yyy.db
-- ------------------------------------------------------
--
--  also look at [Nebula]<Gateway>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]<Gateway>Nebula.txt at the entry
-- ------------------------------------------------------
-- DLion: Microcode 25200000120 CedarEtherInitialDLion.db
-- ------------------------------------------------------
--
--  also look at [Nebula]<Gateway>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]<Cedar5.2>Top>SomethingButIDontKnowWhat.eb
--
--  look on [Nebula]<Gateway>Nebula.txt at the entry
-- ------------------------------------------------------
-- DLion: Microcode 25200000120 SomethingButIDontKnowWhat.db
-- ------------------------------------------------------
--
--  also look at [Nebula]<Gateway>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 <Cedar5.2>Top> Store/s SAx000InitialQ.db SomethingButIDontKnowWhat.eb
= FTP Nebula Ret/c PupGateway.typescript