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

⟦83e62de2c⟧ EM, TextFile

    Length: 1762 (0x6e2)
    Types: EM, TextFile
    Names: »GET_MEM_CONFIG.EM«

Derivation

└─⟦24d56d853⟧ Bits:30000744 8mm tape, Rational 1000, DFS, D_12_6_5 SEQ293
    └─ ⟦this⟧ »GET_MEM_CONFIG.EM« 
└─⟦9031b0687⟧ Bits:30000407 8mm tape, Rational 1000, DFS, D_12_7_3
    └─ ⟦this⟧ »GET_MEM_CONFIG.EM« 

TextFile

[#eq,[model],2060]
[set TEMP [xeq IOA0 READ_NOVRAM 80 0]]

[set QUAD_DENSITY [#eq [#extract [var TEMP] 3B 1] 1]TRUE[else]FALSE[end]]
[set MEM0_EXISTS  [#eq [#extract [var TEMP] 3C 1] 1]TRUE[else]FALSE[end]]
[set MEM1_EXISTS  [#eq [#extract [var TEMP] 3D 1] 1]TRUE[else]FALSE[end]]
[set MEM2_EXISTS  [#eq [#extract [var TEMP] 3E 1] 1]TRUE[else]FALSE[end]]
[set MEM3_EXISTS  [#eq [#extract [var TEMP] 3F 1] 1]TRUE[else]FALSE[end]]
[end]
[set MEM0.MISC 0]
[set MEM1.MISC 0]
[set MEM2.MISC 0]
[set MEM3.MISC 0]
[set BOARD_COUNT 0]

[eq,[MEM0_EXISTS],true]
    [set BOARD_COUNT 1]
    [set MEM0.MISC 20]      ! set FORCE_DRIVE
[end]

[eq,[MEM1_EXISTS],true]
    [set BOARD_COUNT  [add [var BOARD_COUNT] 1]]
    [eq [var BOARD_COUNT] 1]
        [set MEM1.MISC 20]
    [end]
[end]

[eq,[MEM2_EXISTS],true]
    [set BOARD_COUNT  [add [var BOARD_COUNT] 1]]
    [eq [var BOARD_COUNT] 1]
        [set MEM2.MISC 20]
    [end]
[end]

[eq,[MEM3_EXISTS],true]
    [set BOARD_COUNT  [add [var BOARD_COUNT] 1]]
    [eq [var BOARD_COUNT] 1]
        [set MEM3.MISC 20]
    [end]
[end]

[set TEMP [lshift [sub [var BOARD_COUNT] 1] 6]]  ! MRU = (board_count - 1)

[eq [QUAD_DENSITY] TRUE]
    [set TEMP [or [var TEMP] 1F]]   ! set QUAD_DENSITY bit, clear PAR_ERR bits
[else]
    [set TEMP [or [var TEMP] 0F]]   ! clr QUAD_DENSITY bit, clear PAR_ERR bits
[end]

[set MEM0.MISC [or [var MEM0.MISC] [var TEMP]]]
[set MEM1.MISC [or [var MEM1.MISC] [var TEMP]]]
[set MEM2.MISC [or [var MEM2.MISC] [var TEMP]]]
[set MEM3.MISC [or [var MEM3.MISC] [var TEMP]]]

[write [var BOARD_COUNT],,[eq [QUAD_DENSITY] true]8[else]32[end]MB,
 MEMORY BOARDS IN PROCESSOR - TOTAL OF,
 [convert [mul [var BOARD_COUNT] [eq [QUAD_DENSITY] true]8[else]20[end]],10,A],MEGABYTES.]
[kill TEMP]
[kill BOARD_COUNT]