DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC3600/RC7000

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

See our Wiki for more about RegneCentralen RC3600/RC7000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦99d114d89⟧ COMAL_SAVE

    Length: 3416 (0xd58)
    Types: COMAL_SAVE

Derivation

└─⟦3d9d2c4f1⟧ Bits:30001780 SG0000 Floppy
    └─ ⟦f708f3df5⟧ »/ØHIMP « 
        └─⟦this⟧ 

UPAS Segment

SAVE filename: "ØHIMP"

 0010 REM  JAN 82 IMPULSBEVARELSE PÅ KØREBANEN  ØH«nul»S
 0015 CLOSE
 0018 CONNECT "LIB" , 36554
 0020 PAGE = 0
 0030 DIM A$ ( 5 ) , B$ ( 5 ) , TYPE$ ( 1 ) , S$ ( 1 ) , C$ ( 80 )
 0040 PRINT "<12><13><10>I  INDLÆSNING AF FORSØGSRESULTATER PÅ FIL<13><10>U  UDSKRIFT AF FORSØGSRESULTATER PÅ LINIESKRIVER ($SP)"
 0050 INPUT "<13><10>HVILKEN FUNKTION ØNSKES ? " , S$ , "<13><10><10>HOLDNUMMER ? " , A
 0060 LET A$ = "ØHI1" , CHR ( A + 64 ) ; B$ = "ØHI2" , CHR ( A + 64 )
 0070 CLOSE
 0080 CASE S$ OF
 0090   PRINT "<13><10>DU KAN KUN VÆLGE MELLEM I OG U ! "
 0100   DELAY = 3
 0110 WHEN "I"
 0120   ON ESC THEN GOTO 0000
 0130   INPUT "<13><10>FANELÆNGDER AF VOGN 1 OG VOGN 2 (cm) ? " , L1 , L2
 0140   CREATE A$ , 50
 0150   CREATE B$ , 50
 0160   OPEN FILE ( 0 , 11 ) A$
 0170   OPEN FILE ( 1 , 11 ) B$
 0180   GOSUB 0490
 0190   PRINT FILE ( 0 ) "! TYPE !   M1   !   M2   !  T1   !  T2   !  T3   !   V1   !   C1   !   C2   !"
 0200   PRINT FILE ( 1 ) "! TYPE !   PF    !   PE    !  WF   !  WE   ! DP% ! DW% !! DWT% !"
 0210   GOSUB 0490
 0220   PRINT FILE ( 0 ) "!      !   (g)  !   (g)  !  (s)  !  (s)  !  (s)  ! (cm/s) ! (cm/s) ! (cm/s) !"
 0230   PRINT FILE ( 1 ) "!      ! (g*m/s) ! (g*m/s) !  (mJ) !  (mJ) !     !     !!      !"
 0240   INPUT "TYPE (E ELASTISK/UELSTISK STØD ? " , TYPE$ , "<13><10> NYE VOGNMASSER (JA/NEJ) ?" , S$
 0250   IF S$ = "J" THEN INPUT " M1 0G M2  (g) ? " , M1 , M2
 0260   INPUT "T1 0G T2 (s/1000) ?" , T1 , T2
 0270   LET T1 = T1 / 1000 ; T2 = T2 / 1000 ; T3 = 10000 ; V1 = L1 / T1 ; C1 = 0 ; C2 = L2 / T2 ; PF = M1 * ( V1 / 100 ) ; WF = 0.5 * M1 * ( V1 / 100 ) ^ 2 ; S$ = "A"
 0280   IF TYPE$ = "E" THEN INPUT "<13><10> STOPPER VOGN 1 TILNÆRMELSESVIS EFTER STØDDET  (JA/NEJ) ?" , S$
 0290   IF S$ = "N" THEN INPUT " T3 (HUSK NEGATIV VED FORNYET PASSAGE AF FØRSTE FOTOCELLE ( s/1000 )  ? " , T3
 0300   IF TYPE$ = "U" THEN LET T3 = T2 * 1000
 0310   IF T3 <> 10000 THEN LET C1 = L1 / ( T3 / 1000 )
 0320   LET PE = ( M1 * C1 + M2 * C2 ) / 100
 0322   LET WT = 0.5 * ( M1 * V1 / 100 ) ^ 2 / ( M1 + M2 )
 0324   LET WE = 0.5 * ( M1 * ( C1 / 100 ) ^ 2 + M2 * ( C2 / 100 ) ^ 2 )
 0330   IF TYPE$ = "E" THEN LET WT = 0.5 * ( M1 * ( ( V1 / 100 ) * ( M1 - M2 ) / ( M1 + M2 ) ) ^ 2 + M2 * ( 2 * M1 * V1 / 100 / ( M1 + M2 ) ) ^ 2 )
 0340   LET T3 = T3 / 1000 ; DP = ( PE - PF ) * 100 / PF ; DW = ( WE - WF ) * 100 / WF ; DWT = ( WT - WF ) * 100 / WF
 0350   PRINT "<13><10>---------------------"
 0360   PRINT "! DP% ! DW% !! DWT% !"
 0370   PRINT "---------------------"
 0380   PRINT "! --# ! --# !! --#  !" , DP , DW , DWT
 0390   PRINT "---------------------"
 0400   INPUT "<13><10> ØNSKES DET PÅGÆLDENDE FORSØG SKREVET PÅ FIL (JA/NEJ) ?  " , S$
 0410   IF S$ = "N" THEN GOTO 0240
 0420   GOSUB 0490
 0430   PRINT FILE ( 0 ) "!  #   ! ###.## ! ###.## ! #.### ! #.### !--.### !" , TYPE$ , M1 , M2 , T1 , T2 , T3 ;
 0440   PRINT FILE ( 0 ) " ###.#  !----.#  ! ###.#  !" , V1 , C1 , C2
 0450   PRINT FILE ( 1 ) "!  #   !  ###.#  !  ###.#  ! ###.# ! ###.# ! --# ! --# !! --#  !" , TYPE$ , PF , PE , WF , WE , DP , DW , DWT
 0460   GOTO 0240
 0470   GOSUB 0490
 0480   GOTO 0680
 0490   PRINT FILE ( 0 ) "------------------------------------------------------------------------------"
 0500   PRINT FILE ( 1 ) "------------------------------------------------------------"
 0510   RETURN «nul»
 0520 WHEN "U"
 0530   OPEN FILE ( 0 , 9 ) A$
 0540   OPEN FILE ( 1 , 9 ) B$
 0550   OPEN FILE ( 2 , 11 ) "$LPT"
 0560   FOR X = 0 TO 1
 0570     IF X = 1 THEN PRINT FILE ( 2 ) "<12>"
 0580     PRINT FILE ( 2 ) "<13><10> HOLDNUMMER : " ; A ; "<14><14> IMPULSBEVARELSESFORSØG"
 0590     LET T = 0
 0600     INPUT FILE ( [FAIL RENDER FUNC INPUT 94f785e2][94f785e2]
 0610     WHILE NOT EOF ( X ) DO
 0620       LET T = T + 1
 0630       IF T MOD 67 = 0 THEN PRINT FILE ( 2 ) "<12>"
 0640       PRINT FILE ( 2 ) C$
 0650       INPUT FILE ( [FAIL RENDER FUNC INPUT 94f785e2][94f785e2]
 0660     ENDWHILE
 0670   NEXT 
 0675   CLOSE
 0680 ENDCASE «nul» 
 0690 GOTO 0040

UDAS Segment

    FNA definition = 0xffff
    FNB definition = 0xffff
    FNC definition = 0xffff
    FND definition = 0xffff
    FNE definition = 0xffff
    FNF definition = 0xffff
    FNG definition = 0xffff
    FNH definition = 0xffff
    FNI definition = 0xffff
    FNJ definition = 0xffff
    FNK definition = 0xffff
    FNL definition = 0xffff
    FNM definition = 0xffff
    FNN definition = 0xffff
    FNO definition = 0xffff
    FNP definition = 0xffff
    FNQ definition = 0xffff
    FNR definition = 0xffff
    FNS definition = 0xffff
    FNT definition = 0xffff
    FNU definition = 0xffff
    FNV definition = 0xffff
    FNW definition = 0xffff
    FNX definition = 0xffff
    FNY definition = 0xffff
    FNZ definition = 0xffff
    FN[ definition = 0xffff
    FN\ definition = 0xffff
    FN] definition = 0xffff
    GOSUB-RETURN stack pointer = 0x0000
      stack[0] = 0x03de
      stack[1] = 0x014d
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 6.36727e-73   (0x05120000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0094
      Loop Top = 0x04d3
      To Val = 1   (0x41100000)
      Step Val = 1   (0x41100000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
    REPEAT-UNTIL stack pointer = 0x0000
      stack[0] = 0x0000
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    WHILE-ENDWHILE stack pointer = 0x0000
      stack[0] = 0x0000
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    IF-ELSE stack pointer = 0x0000
      stack[0] = 0x0000
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
Variables:
    0x80 0xffff 0x00 
    0x81 0x0000 0x02 A$
    0x82 0x0006 0x02 B$
    0x83 0x000c 0x02 TYPE$
    0x84 0x0010 0x02 S$
    0x85 0x0014 0x02 C$
    0x86 0x003f 0x00 A
    0x87 0xffff 0x00 L1
    0x88 0xffff 0x00 L2
    0x89 0xffff 0x00 M1
    0x8a 0xffff 0x00 M2
    0x8b 0xffff 0x00 T1
    0x8c 0xffff 0x00 T2
    0x8d 0xffff 0x00 T3
    0x8e 0xffff 0x00 V1
    0x8f 0xffff 0x00 C1
    0x90 0xffff 0x00 C2
    0x91 0xffff 0x00 PF
    0x92 0xffff 0x00 WF
    0x93 0xffff 0x00 T
    0x94 0xffff 0x00 X
    0x95 0xffff 0x00 CE
    0x96 0xffff 0x00 R[KKE
    0x97 0xffff 0x00 TYPE
    0x98 0xffff 0x00 PE
    0x99 0xffff 0x00 WE
    0x9a 0xffff 0x00 WT
    0x9b 0xffff 0x00 DP
    0x9c 0xffff 0x00 DW
    0x9d 0xffff 0x00 DWT
    0x9e 0xffff 0x00 COMN

Wrapper

.magic = 0x4e32
.u_pas = 0x0559  // Length of UPAS in words
.u_das = 0x0144  // Length of UDAS in words
.u_dvs = 0x0103  // Start på savede variabel indhold (word adr)
.u_nds = 0x00d7  // Address på næste prog.sætning (word adr)
.u_cps = 0x0000  // Address på curr prog.sætning (word adr)
.u_tll = 0x0000  // Page størrelse
.u_tts = 0x000e  // TAP størrelse
.u_ran = 0x0001  // Random tal
.u_cdl = 0x0006  // Current DATA sætning ptr
.u_cdb = 0x0000  // Current DATA byte ptr
.u_esa = 0x0042  // ON ESE (word adr)
.u_era = 0x0000  // ON ERR (word adr)
.u_cas = 0xffff  // CASE dybde
.u_las = 0xffff  // last (-1)