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

⟦266a9e729⟧ COMAL_SAVE

    Length: 1742 (0x6ce)
    Types: COMAL_SAVE

Derivation

└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
    └─ ⟦6b08b8357⟧ »/ALF2« 
        └─⟦this⟧ 

UPAS Segment

SAVE filename: "ALF2"

 0002 PRINT "<27>AF"
 0004 PRINT "<27><12>"
 0006 DELAY = 1
 0010 INPUT "ATOMNUMMER Z=" , Z , "     MASSETAL A=" , A
 0020 PRINT
 0030 INPUT "ALFA PARTIKLERNES ENERGI I MEV=" , E
 0050 PRINT
 0060 INPUT "TIDSSTEP (I ENHEDER AF 1E-21 SEK) =" , DT
 0062 LET DT = 2.4 * DT
 0070 LET V0 = SQR ( E / 12 )
 0080 PRINT "<27><12>"
 0082 PRINT "<27>AE"
 0090 DELAY = 1
 0100 EXEC KERNE
 0110 RANDOMIZE 
 0120 FOR Y1 = - 350 TO 350 STEP 70
 0130   LET X = - 500 ; Y = Y1
 0150   LET VX = V0 ; VY = 0 ; T = 0
 0160   EXEC INTEG
 0170 NEXT 
 0172 PRINT "<27>AF"
 0180 PROC INTEG
 0190   CALL "GRAPH" , X + 511 , Y + 390
 0200   REPEAT 
 0210     LET R = SQR ( X * X + Y * Y ) ; AX = Z * X / ( R * R * R ) ; AY = Z * Y / ( R * R * R )
 0220     IF T = 0 THEN
 0230       LET VX = VX + AX * DT / 2 ; VY = VY + AY * DT / 2
 0240     ELSE 
 0250       LET VX = VX + AX * DT ; VY = VY + AY * DT
 0260     ENDIF 
 0270     CALL "VECTOR" , X + 511 , Y + 390 , 1
 0280     LET X = X + VX * DT ; Y = Y + VY * DT
 0290     LET T = T + DT
 0300     IF R <= RADIUS THEN PRINT "<7>"
 0310   UNTIL ( X < - 500 ) + ( X > 500 ) + ( Y < - 380 ) + ( Y > 380 ) + ( R <= RADIUS )
 0320 ENDPROC
 0330 PROC KERNE
 0340   LET RADIUS = 10 * EXP ( LOG ( A ) / 3 )
 0350   CALL "GRAPH" , 511 + RADIUS , 390
 0360   FOR O = 0 TO 6.3 STEP 0.1
 0370     CALL "VECTOR" , 511 + RADIUS * COS ( O ) , 390 + RADIUS * SIN ( O ) , 1
 0380   NEXT 
 0390   CALL "GRAPH" , 0 , 390
 0400   CALL "OUTVECT" , 511 - RADIUS , 390
 0410   CALL "GRAPH" , 511 + RADIUS , 390
 0420   CALL "OUTVECT" , 1022 , 390
 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 = 0x0000
      stack[0] = 0x008d
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      Var# = 0x00ac
      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 = 0   (0x00000000)
      Step Val = 3.3735e-80   (0x00010000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0082
      Loop Top = 0x006c
      To Val = 1.8   (0x411ccccd)
      Step Val = 0.2   (0x40333333)
      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 0x000a 0x00 X
    0x82 0x0008 0x00 Y
    0x83 0x000c 0x00 VX
    0x84 0x000e 0x00 VY
    0x85 0x0006 0x00 DT
    0x86 0xffff 0x00 TMAX
    0x87 0xffff 0x00 KOSYST
    0x88 0x0014 0x00 R
    0x89 0x0016 0x00 AX
    0x8a 0x0018 0x00 AY
    0x8b 0x0010 0x00 T
    0x8c 0xffff 0x00 LELIST
    0x8d 0xffff 0x00 LETX
    0x8e 0xffff 0x00 X1
    0x8f 0xffff 0x00 Y1
    0x90 0xffff 0x00 LIST100
    0x91 0xffff 0x00 INTEG
    0x92 0x0000 0x00 X0
    0x93 0x0002 0x00 VX0
    0x94 0x0004 0x00 VY0
    0x95 0x0012 0x00 Y0
    0x96 0xffff 0x00 LIST10
    0x97 0xffff 0x00 LIST60
    0x98 0xffff 0x00 O
    0x99 0xffff 0x00 C0S
    0x9a 0xffff 0x00 Z
    0x9b 0xffff 0x00 A
    0x9c 0xffff 0x00 E
    0x9d 0xffff 0x00 N
    0x9e 0xffff 0x00 KERNE
    0x9f 0xffff 0x00 LISTT
    0xa0 0xffff 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 0xffff 0x00 V0
    0xa9 0xffff 0x00 Y2
    0xaa 0xffff 0x00 LISST

Wrapper

.magic = 0x4e32
.u_pas = 0x01ff  // Length of UPAS in words
.u_das = 0x0159  // Length of UDAS in words
.u_dvs = 0x013f  // Start på savede variabel indhold (word adr)
.u_nds = 0x01ff  // Address på næste prog.sætning (word adr)
.u_cps = 0x0000  // 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 = 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)