-- stuffers.cm

--- last edited: Sturgis:      14-Jun-84 12:52:42


-- this file contains assorted stuffers and other information
--	associated with the Cedar Dlion microcode


-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-- 		saving state
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

@SaveDlionDebugger.cm
@GetDlionDebugger.cm

-- these commands depend on following files:
--	DlionDebuggerFiles.cm
--	DlionTopFiles.cm
--	DlionMicroCodeFiles.cm
--	SDDCopies.cm



-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-- 		building pilot microcode
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

-- build CedarIO.db  (goes into bank 0)

Mass CedarIO/o Dandelion/d Mesa/d  cedarops/d cedaropsy/d cedaropsb cedaropsc EtherDLion FixedDisplay IOPMain DiskDlion/d DiskDlionA DiskDlionB/ta

-- build Cedar1.db  (goes into bank 1)

Mass Cedar1/o Dandelion/d Mesa/d CedarOps/d CedarOpsy/d BBSubs BBInit BBLoops Block CommonSubs Jump LoadStore CedarMisc Process Read Refill Stack StringField Write fixedXfer CedarFptAll CedarOpsA StartMesa/ta

Mass Cedar1/o Dandelion/d Mesa/d CedarOps/d CedarOpsy/d BBSubs BBInit BBLoops Block CommonSubs Jump LoadStore CedarMisc Process Read Refill Stack StringField Write fixedXfer CedarFptAll CedarOpsA StartMesa/ta

 -- build extra banks kernel
 
 Mass ExtraBanksKernel/o ExtraBanksKernel
 
 
 -- binaries needed for ExtraBanksPatch
 
 Asm BootSubs
 
 -- build IOP patch
 
 Asm   LoadExtraBanks
 Bind  ExtraBanksPatch
 
 -- build the pilot microcode
 
MakeDlionMicroboot extracedario.db ← ExtraBanksKernel.fb cedario.fb ExtraBanksPatch.bin
MakeDlionMicroboot cedar1.db ← cedar1.fb domino.bin

Makedlionmicroboot ExtraCedar.db ← extracedario.db cedar1.db


-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
--		Building Initial microcode
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


-- assemble the microcode

Mass Initsax000q/o Dandelion/d Boot/d CoreInitial sax000initialq DiskDLion/d diskdliona diskdlionb InitDLion Recalibrate/a

-- make the .db file

Makedlionmicroboot sax000initialq.db ←  DiskBootIOCBs.cpr Initsax000q.fb InitialProtected.fb



-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-- 		Testing basic pilot microcode
--		and booting Cedar from Burdock
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

-- make sure that CedarIO.fb, Cedar1.fb, and the corresponding .st files are present

-- make up BurdockInitial.fb and BurdockInitial.st
 
Mass InitBurdock/o Dandelion/d Boot/d CoreInitial BurdockInitial DiskDLion/d InitDLion

-- then run Cedar.Burdock in the CP Panel of Burdock



-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-- 		testing IOP patch
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

-- first assemble some needed binaries

Asm Defs BootMain StartIOPBootRAM PreBootSimple AltBoot

-- build an IOP program to be loaded by Burdock that contains the patch, along with the basic Boot code normally in th ROM.

Asm   LoadExtraBanks LoadExtraBanksX
Bind  BootExtra

-- build extra banks kernel as for regular PilotMicroCode

Mass ExtraBanksKernel/o ExtraBanksKernel



-- build a version of pilot microcode without the IOP patch, and with a samll version of Domino  (since BootExtra does not have room for the full Domino)

makeDlionMicroboot cedario.db ← ExtraBanksKernel.fb cedario.fb
makeDlionMicroboot cedar1.db ← cedar1.fb smalldomino.bin

makedlionmicroboot smallCedar.db ← cedario.db cedar1.db

-- using Othello, place this version of Pilotmicrocode on the subject machine disk

-- then run BootSmallCedar.burdock in the IOP panel of Burdock

-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-- 		ether boot facilities
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

-- save this stuff
ftp ivy dir/c <sturgis>dlion>debugger store/ua stuffers.cm EtherBootPatchCode.asm bootether.cfg bootether.burdock IOPPreEtherInitial.mc apilot100dandelion.mc preetherinitial.mc testPreEther.burdock TestPreEtherProtected.mc bootmultiether.cfg EtherInitial.mc TestEtherInitial.burdock EtherInitial.db DlionDebuggerFiles.cm junk.burdock TestBEtherInitial.burdock EtherInitialDefs.df




asm EtherBootPatchCode.asm

-- following binds for test under BootEther.burdock

bind bootether

-- form the PreEtherInitial.db

mass PreEtherInitialProtected/o apilot100dandelion/d Protected IOPPreEtherInitial

mass PreEtherInitial/o apilot100dandelion/d preEtherInitial

-- following is for burdock testing of PreEtherInitial
--	because burdock can not load multiple files into CP correctly

Mass PreEtherBurdock/o apilot100dandelion/d TestPreEtherProtected IOPPreEtherInitial PreEtherInitial

-- build the IOP patch, this uses a version of EtherBootPatchCode which exports certain fake entries ofrfor bootsubs

bind bootMultiEther

-- build the PreEtherInitial.db file, this file sits in the boot server '6' slot

Makedlionmicroboot PreEtherInitial.db ←  PreEtherInitialProtected.fb PreEtherInitial.fb BootMultiEther.bin

-- build etherInitial.db

Mass EtherInitialProtected/o Dandelion/d Boot/d EtherInitialDefs/d Protected IOPBoot

Mass EtherInitial/o Dandelion/d Boot/d EtherInitialDefs/d CoreInitial EtherInitial diskDLion/d InitDLion/a

Makedlionmicroboot EtherInitial.db ← EtherInitialProtected.fb EtherInitial.fb

-- put etherinitial.db out on Nebula
--	look at [nebula]nebula.txt 
--	at the entry
--	 DLion: Microcode 25200000120 CedarEtherInitialDLion.db
--
-- also look at [nebula]pupgateway.typescript to see what happened

Ftp nebula store/s etherinitial.db CedarEtherInitialDLion.db
FTP nebula ret/c pupgateway.typescript

-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-- 		map examination facilities
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

mass scanMap/o  APilot100Dandelion/d ExamineMap


-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
-- 		newCedarOpCodes for Cedar5   Pilot Microcode
-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

-- print the new stuff

old Stuffers.cm TestNewCedar.burdock NewCedarOps.df NewCedarMisc.mc ModifiedCedarOpsA.mc NewCedarOpsA.mc NewCedarOpsB.mc NewCedarOpsC.mc NewCedarOpsD.mc DriveCedar5.burdock FixedRefill.mc FixedLoadStore.mc

-- now form the basic pilot microcode
--  ether boot this with DriveCedar5.burdock
--  disk boot this with DiskBootCedar5.burdock

-- bank 0

Mass NewCedarIO/o Dandelion/d Mesa/d EtherDLion FixedDisplay IOPMain DiskDlion/d DiskDlionA DiskDlionB NewCedarOps/d NewCedarOpsC NewCedarOpsD/ta

-- bank 1

Mass NewCedar1/o Dandelion/d Mesa/d BBSubs BBInit BBLoops Block CommonSubs Jump FixedLoadStore NewCedarMisc Process Read FixedRefill Stack StringField Write fixedXfer StartMesa CedarFptAll NewCedarOps/d NewCedarOpsA NewCedarOpsB/ta

-- finish building the microcode

MakeDLionMicroboot newcedario.db ← ExtraBanksKernel.fb newCedario.fb ExtraBanksPatch.bin

MakeDLionMicroboot Newcedar1.db ← newcedar1.fb domino.bin

MakeDlionMicroboot Cedar52.db ← newcedario.db newcedar1.db


-- now we put assorted files on Nebula, all designed for the 6 boot, 20 subboot slot.

-- put etherinitial.db out for the alt slot
--   look at [nebula]nebula.txt
--    at the entry DLion: Microcode 25200000120
--		CedarEtherInitialDLion.db
-- 
--  also look at [nebula]pupgateway.typescript to see what happened

Ftp nebula store/s etherinitial.db CedarEtherInitialDLion.db
FTP nebula ret/c pupgateway.typescript  



-- put the pilot microcode on nebula
--   look at [nebula]nebula.txt 
--	at the entry DLion: Microcode 25200000130
--	   CedarDLion.db
--
-- also look at [nebula]pupgateway.typescript to see what happened

Ftp nebula store/s Cedar52.db CedarDLion.db
FTP nebula ret/c pupgateway.typescript
 

-- make up a check summed germ

FTP Indigo dir/c <Cedar5.2>germ> ret/s dlion.germ checksummeddlion.germ
fixchecksum checksummeddlion.germ

-- put out checkSummedDlion.germ 
--   look at [nebula]nebula.txt
--    at the entry DLion: Germ 25200000140
--		CedarDLion.germ
-- 
--  also look at [nebula]pupgateway.typescript to see what happened

Ftp nebula store/s checkSummedDlion.germ CedarDLion.germ
FTP nebula ret/c pupgateway.typescript    

-- now get and store the boot file
--   look at [nebula]nebula.txt
--    at the entry Alto: 25205445201 CedarOthelloDlion.pb
--		(at the moment some of the sub boot 21 entries have "alt" in their names, and some do not)


-- HMM, life is confusing, but there seems to be another place to put a boot file also.  My notes say that this place is no longer used, but my EtherInitial leaves an address in this area for the germ.  Perhaps some day I have to fix EtherInitial.

Ftp Indigo dir/c <Cedar5.2>top> ret/c basicCedarDlion.pb
FTP nebula store/s basicCedarDlion.pb CedarOthelloDLion.pb
ftp nebula ret/c pupgateway.typescript

-- now put the disk initial microcode out on Indigo
-- the target name will change later

Ftp indigo dir/c <Cedar5.2>top> store/s sax000initialq.db SomethingButIDontKnowWhat.eb

-- now put the cedar microcode out on Indigo
-- the target name may change later

Ftp indigo dir/c <cedar5.2>top> store/s Cedar52.db CedarDlion.db






-- form a version of Cedar 4 microcode that includes the new op codes for testing.  Use TestNewCedar.burdock to run this code

Mass ModCedarIO/o Dandelion/d Mesa/d  cedarops/d cedaropsy/d cedaropsb cedaropsc EtherDLion FixedDisplay IOPMain DiskDlion/d DiskDlionA DiskDlionB NewCedarOps/d NewCedarOpsC/ta

Mass ModCedar1/o Dandelion/d Mesa/d CedarOps/d CedarOpsy/d BBSubs BBInit BBLoops Block CommonSubs Jump LoadStore NewCedarMisc Process Read Refill Stack StringField Write fixedXfer CedarFptAll ModifiedCedarOpsA NewCedarOps/d NewCedarOpsB StartMesa/ta


-- special versions of the files
-- NewCedarOpsANoAssignRef.mc  (assign ref is turned off)
-- NewNewCedarOpsC.mc (new code that doesn't yet assemble)

Mass NewCedar1/o Dandelion/d Mesa/d BBSubs BBInit BBLoops Block CommonSubs Jump LoadStore NewCedarMisc Process Read FixedRefill Stack StringField Write fixedXfer StartMesa CedarFptAll NewCedarOps/d NewCedarOpsANoAssignRef NewCedarOpsB/ta

Mass ModCedarIO/o Dandelion/d Mesa/d  cedarops/d cedaropsy/d cedaropsb cedaropsc EtherDLion FixedDisplay IOPMain DiskDlion/d DiskDlionA DiskDlionB NewCedarOps/d NewNewCedarOpsC/ta