DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 DFS Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 DFS Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦50481c28a⟧ EM, TextFile

    Length: 2048 (0x800)
    Types: EM, TextFile
    Names: »RESTORE_MEM_STATE.EM«

Derivation

└─⟦b4205821b⟧ Bits:30000743 8mm tape, Rational 1000, DFS, D_12_7_3 SEQ288
    └─ ⟦this⟧ »RESTORE_MEM_STATE.EM« 
└─⟦bc1274df5⟧ Bits:30000750 8mm tape, Rational 1000, DFS backup from PAM's R1000
    └─ ⟦this⟧ »RESTORE_MEM_STATE.EM« 

TextFile

! We do RESTORE_RDR_TVR on highest priority mem first so it can clear DRIVE_HIT
! to prevent HIT wires from screwing itself up on lower pri mems. 
! RESTORE_STATE clears parity errors and leaves the DFSM in MAINTAIN_FREEZE. 

[eq [mem3_exists],TRUE]
    [xeq mem3 RESTORE_RDR_TVR [var mem3.rdr] [var mem3.tvr] [var mem3.hits] 0C0]
[end]
[eq [mem2_exists],TRUE]
    [xeq mem2 RESTORE_RDR_TVR [var mem2.rdr] [var mem2.tvr] [var mem2.hits] 080]
[end]
[eq [mem1_exists],TRUE]
    [xeq mem1 RESTORE_RDR_TVR [var mem1.rdr] [var mem1.tvr] [var mem1.hits] 040]
[end]
[eq [mem0_exists],TRUE]
    [xeq mem0 RESTORE_RDR_TVR [var mem0.rdr] [var mem0.tvr] [var mem0.hits] 000]
[end]

[eq [quad_density] TRUE]
  [eq [mem3_exists],TRUE]
    [xeq mem3 RESTORE_STATE [var mem3.mar]  [var mem3.wdr],
                            [var mem3.misc] [var mem3.cntl] TRUE]
  [end]
  [eq [mem2_exists],TRUE]
    [xeq mem2 RESTORE_STATE [var mem2.mar]  [var mem2.wdr],
                            [var mem2.misc] [var mem2.cntl] TRUE]
  [end]
  [eq [mem1_exists],TRUE]
    [xeq mem1 RESTORE_STATE [var mem1.mar]  [var mem1.wdr],
                            [var mem1.misc] [var mem1.cntl] TRUE]
  [end]
  [eq [mem0_exists],TRUE]
    [xeq mem0 RESTORE_STATE [var mem0.mar]  [var mem0.wdr],
                            [var mem0.misc] [var mem0.cntl] TRUE]
  [end]
[else]
  ! RESTORE_STATE is run on lowest priority mem first because it sets DRIVE_HIT
  ! and could prevent itself from doing LOAD_WDR on the higher priority mem.
  [eq [mem0_exists],TRUE]
    [xeq mem0 RESTORE_STATE [var mem0.mar]  [var mem0.wdr],
                            [var MEM0.HITS] [var mem0.cntl] TRUE]
  [end]
  [eq [mem2_exists],TRUE]
    [xeq mem2 RESTORE_STATE [var mem2.mar]  [var mem2.wdr],
                            [var MEM2.HITS] [var mem2.cntl] TRUE]
  [end]
[end]«nul»