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

⟦bdc4bac57⟧ EM, TextFile

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

Derivation

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

TextFile

!READ_SYS_BUFFER - macro to read the buffer in any of many modes.
!Specify the Transmit or Receive Section, and then the addressing
! mode. Typing CR at the Address prompt will cause the current value
! of the Buffer_Address_Register to be used, while any
! value specified will be loaded into the BAR.
!Calling the macro with /I causes data to be inverted before being
! written to the tube. This produces the data

[set MODE [eq, %1%,]
    [read,Transmit or Receive Mode (T,R) ?]
    [else] %1% [end]]
[set GROUP [eq, %2%,]
    [read, Direct, Data, Header, Status (Z,D,H,S) ?]
    [else] %2% [end]]
[set ADDRESS [eq, %3%,]
    [read, Address ?]
    [else] %3% [end]]
[set WORDS [eq, %4%,]
    [read, Number of Words ?]
    [else] %4% [end]]
[ne,[var ADDRESS],]
    [xeq sys LOAD_BAR [var ADDRESS] 0]
    [set NO_PRIME 0]
[else]
    [set NO_PRIME 1]
[end]
[set EXPGROUP,
    [case, [var GROUP]]
	[when,Z]BUFF
	[when,D]DATA
	[when,H]HEADER
	[when,S]STATUS
    [endcase]]
[set INVERT [eq,%0/I%,/I]1[else]0[end]]
[eq, [var MODE], R]
    [set EXPNAME READ_R[var EXPGROUP],[var INVERT]]
[else]
    [set EXPNAME READ_X[var EXPGROUP],[var INVERT]]
[end]
[READ_BUFF_WORDS 1 [var WORDS] [var NO_PRIME]]
[kill MODE]
[kill GROUP]
[kill WORDS]
[kill EXPGROUP]
[kill INVERT]
[kill EXPNAME]
[kill RESULT]«nul»