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

⟦6048ceaa9⟧ COMAL_SAVE

    Length: 1576 (0x628)
    Types: COMAL_SAVE

Derivation

└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
    └─ ⟦eb078fc33⟧ »/LIB.KPL2« 
        └─⟦this⟧ 

UPAS Segment

SAVE filename: "KPL2"

 0010 INPUT "X0=" , X , " Y0=" , Y , "    VX0=" , VX , " VY0=" , VY
 0020 INPUT "TIDSSTEP=" , DT , " INTEGRATIONSTID=" , TMAX
 0030 PRINT "<27><12>"
 0040 DELAY = 1
 0050 EXEC KOSYST
 0055 CALL "GRAPH" , 200 * X + 511 , 200 * Y + 390
 0060 FOR T = 0 TO TMAX STEP DT
 0070   LET R = SQR ( X * X + Y * Y ) ; AX = - X / ( R * R * R ) ; AY = - Y / ( R * R * R )
 0080   IF T = 0 THEN
 0090     LET VX = VX + AX * DT / 2 ; VY = VY + AY * DT / 2
 0100   ELSE 
 0110     LET VX = VX + AX * DT ; VY = VY + AY * DT
 0120   ENDIF 
 0130   LET X = X + VX * DT ; Y = Y + VY * DT
 0150   CALL "VECTOR" , 200 * X + 511 , 200 * Y + 390 , 1
 0160 NEXT 
 0170 PROC KOSYST
 0180   CALL "GRAPH" , 511 , 0
 0190   CALL "VECTOR" , 511 , 780 , 1
 0200   CALL "VECTOR" , 507 , 776
 0210   CALL "VECTOR" , 515 , 776 , 1
 0220   CALL "GRAPH" , 511 , 780
 0230   CALL "OUTVECT" , 515 , 776
 0240   CALL "GRAPH" , 0 , 390
 0250   CALL "OUTVECT" , 1022 , 390
 0260   CALL "GRAPH" , 1022 , 390
 0270   CALL "OUTVECT" , 1018 , 394
 0280   CALL "GRAPH" , 1022 , 390
 0290   CALL "OUTVECT" , 1018 , 386
 0300   CALL "GRAPH" , 200 * X + 511 , 200 * Y + 390
 0310   CALL "OUTVECT" , 200 * X + 511 , 200 * Y + 100 * VY + 390
 0320   CALL "GRAPH" , 200 * X + 511 , 200 * Y + 100 * VY + 390
 0330   CALL "OUTVECT" , 200 * X + 507 , 200 * Y + 100 * VY + 386
 0333   CALL "GRAPH" , 200 * X + 511 , 200 * Y + 100 * VY + 390
 0336   CALL "OUTVECT" , 200 * X + 515 , 200 * Y + 100 * VY + 386
 0340 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] = 0x007a
      stack[1] = 0x0000
      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 = 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# = 0x008b
      Loop Top = 0x008f
      To Val = 10   (0x41a00000)
      Step Val = 0.1   (0x4019999a)
      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 0x00 X
    0x82 0x0002 0x00 Y
    0x83 0x0004 0x00 VX
    0x84 0x0006 0x00 VY
    0x85 0x0008 0x00 DT
    0x86 0x000a 0x00 TMAX
    0x87 0xffff 0x00 KOSYST
    0x88 0x000e 0x00 R
    0x89 0x0010 0x00 AX
    0x8a 0x0012 0x00 AY
    0x8b 0x000c 0x00 T
    0x8c 0xffff 0x00 LELIST
    0x8d 0xffff 0x00 LETX
    0x8e 0xffff 0x00 X1
    0x8f 0xffff 0x00 Y1
    0x90 0xffff 0x00 LIST100

Wrapper

.magic = 0x4e32
.u_pas = 0x0234  // Length of UPAS in words
.u_das = 0x00d1  // Length of UDAS in words
.u_dvs = 0x00bd  // Start på savede variabel indhold (word adr)
.u_nds = 0x0234  // 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)