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

⟦fb5657176⟧ COMAL_SAVE

    Length: 2048 (0x800)
    Types: COMAL_SAVE
    Names: »ALFA«

Derivation

└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
    └─⟦this⟧ 

UPAS Segment

SAVE filename: "ALFA"

 0010 PRINT "<27>AF"
 0020 PRINT "<27><12>"
 0030 DELAY = 1
 0040 INPUT "ATOMNUMMER Z=" , Z , "     MASSETAL A=" , A
 0050 PRINT
 0060 INPUT "ALFA PARTIKLERNES ENERGI I MEV=" , E
 0070 PRINT
 0080 INPUT "TIDSSTEP (I ENHEDER AF 1E-21 SEK) =" , DT
 0090 LET DT = 2.4 * DT
 0100 LET V0 = SQR ( E / 12 )
 0110 PRINT "<27><12>"
 0120 PRINT "<27>AE"
 0130 DELAY = 1
 0140 EXEC KERNE
 0150 RANDOMIZE 
 0160 FOR Y1 = - 350 TO 350 STEP 70
 0170   LET X = - 500 Y = Y1
 0180   LET VX = V0 VY = 0 T = 0
 0190   EXEC INTEG
 0200 NEXT 
 0210 PRINT "<27>AF"
 0220 PROC INTEG
 0230   CALL "GRAPH" , X + 511 , Y + 390
 0240   REPEAT 
 0250     LET R = SQR ( X * X + Y * Y ) AX = Z * X / ( R * R * R ) AY = Z * Y / ( R * R * R )
 0260     IF T = 0 THEN
 0270       LET VX = VX + AX * DT / 2 VY = VY + AY * DT / 2
 0280     ELSE 
 0290       LET VX = VX + AX * DT VY = VY + AY * DT
 0300     ENDIF 
 0310     CALL "VECTOR" , X + 511 , Y + 390 , 1
 0320     LET X = X + VX * DT Y = Y + VY * DT
 0330     LET T = T + DT
 0340     IF R <= RADIUS THEN PRINT "<7>"
 0350   UNTIL ( X < - 500 ) + ( X > 500 ) + ( Y < - 380 ) + ( Y > 380 ) + ( R <= RADIUS )
 0360 ENDPROC
 0370 PROC KERNE
 0380   LET RADIUS = 10 * EXP ( LOG ( A ) / 3 )
 0390   CALL "GRAPH" , 511 + RADIUS , 390
 0400   FOR O = 0 TO 6.3 STEP 0.1
 0410     CALL "VECTOR" , 511 + RADIUS * COS ( O ) , 390 + RADIUS * SIN ( O ) , 1
 0420   NEXT 
 0430 ENDPROC

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 = 0x0001
      stack[0] = 0x00e1
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0001
      Var# = 0x00fb
      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# = 0x0000
      Loop Top = 0x0000
      To Val = 5.14756e-85   (0x00000001)
      Step Val = 3.3735e-80   (0x00010000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 3.08853e-84   (0x00000006)
      Var# = 0x008f
      Loop Top = 0x00bf
      To Val = 350   (0x4315e000)
      Step Val = 70   (0x42460000)
      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 0x0010 0x00 X
    0x82 0x0012 0x00 Y
    0x83 0x0014 0x00 VX
    0x84 0x0016 0x00 VY
    0x85 0x0006 0x00 DT
    0x86 0xffff 0x00 TMAX
    0x87 0xffff 0x00 KOSYST
    0x88 0x001a 0x00 R
    0x89 0x001c 0x00 AX
    0x8a 0x001e 0x00 AY
    0x8b 0x0018 0x00 T
    0x8c 0xffff 0x00 LELIST
    0x8d 0xffff 0x00 LETX
    0x8e 0xffff 0x00 X1
    0x8f 0x000e 0x00 Y1
    0x90 0xffff 0x00 LIST100
    0x91 0xffff 0x00 INTEG
    0x92 0xffff 0x00 X0
    0x93 0xffff 0x00 VX0
    0x94 0xffff 0x00 VY0
    0x95 0xffff 0x00 Y0
    0x96 0xffff 0x00 LIST10
    0x97 0xffff 0x00 LIST60
    0x98 0x000c 0x00 O
    0x99 0xffff 0x00 C0S
    0x9a 0x0000 0x00 Z
    0x9b 0x0002 0x00 A
    0x9c 0x0004 0x00 E
    0x9d 0xffff 0x00 N
    0x9e 0xffff 0x00 KERNE
    0x9f 0xffff 0x00 LISTT
    0xa0 0x000a 0x00 RADIUS
    0xa1 0xffff 0x00 R1
    0xa2 0xffff 0x00 R2
    0xa3 0xffff 0x00 SIGN
    0xa4 0xffff 0x00 I
    0xa5 0xffff 0x00 RENUBER
    0xa6 0xffff 0x00 R11
    0xa7 0xffff 0x00 LIST130
    0xa8 0x0008 0x00 V0
    0xa9 0xffff 0x00 Y2
    0xaa 0xffff 0x00 LISST
    0xab 0xffff 0x00 S

Wrapper

.magic = 0x4e32
.u_pas = 0x01c9  // Length of UPAS in words
.u_das = 0x0164  // Length of UDAS in words
.u_dvs = 0x0144  // Start på savede variabel indhold (word adr)
.u_nds = 0x0138  // Address på næste prog.sætning (word adr)
.u_cps = 0x012e  // Address på curr prog.sætning (word adr)
.u_tll = 0x0048  // Page størrelse
.u_tts = 0x000e  // TAP størrelse
.u_ran = 0x0001  // Random tal
.u_cdl = 0x0006  // Current DATA sætning ptr
.u_cdb = 0x3db8  // 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)