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

⟦ec4e5071a⟧ COMAL_SAVE

    Length: 1748 (0x6d4)
    Types: COMAL_SAVE

Derivation

└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
    └─ ⟦cdef42baa⟧ »/KLO« 
        └─⟦this⟧ 

UPAS Segment

SAVE filename: "KLO"

 0002 PRINT "<27>AF"
 0004 PRINT "<27><12>"
 0005 PRINT "ER DU KLOG (J/N)" ; KL$
 0006 DELAY = 1
 0010 PRINT "ER DU KLOG?"
 0020 IF JA THEN
 0030   PRINT "HOLD OP HVOR ER DU SELVGLAD!"
 0040 ELSE 
 0050   PRINT "DU ER SGU HELT I ORDEN!"
 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] = 0x00e1
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      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 = 0   (0x00000000)
      Step Val = 3.3735e-80   (0x00010000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      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 0xffff 0x00 X
    0x82 0xffff 0x00 Y
    0x83 0xffff 0x00 VX
    0x84 0xffff 0x00 VY
    0x85 0xffff 0x00 DT
    0x86 0xffff 0x00 TMAX
    0x87 0xffff 0x00 KOSYST
    0x88 0xffff 0x00 R
    0x89 0xffff 0x00 AX
    0x8a 0xffff 0x00 AY
    0x8b 0xffff 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 0xffff 0x00 X0
    0x93 0xffff 0x00 VX0
    0x94 0xffff 0x00 VY0
    0x95 0xffff 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
    0xab 0xffff 0x02 KL$
    0xac 0xffff 0x00 J
    0xad 0xffff 0x00 JA

Wrapper

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