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

⟦ddf165017⟧ COMAL_SAVE

    Length: 3078 (0xc06)
    Types: COMAL_SAVE

Derivation

└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
    └─ ⟦cf1d1ffe9⟧ »/JT1U.LINIE« 
        └─⟦this⟧ 

UPAS Segment

SAVE filename: "LINIE"

 0010 OPEN FILE ( 0 , 11 ) "$LPT"
 0020 PRINT "DETTE PROGRAM BEREGNER LIGNINGEN FOR DEN BEDSTE RETTE LINJE, OG"
 0030 PRINT "UDSKRIVER DEREFTER ET BILAG, VELEGNET TIL FYSIKRAPPORTER O.L.<10>"
 0040 PRINT "HVIS DU UNDER INDTASTNINGEN HAR LAVET EN FEJL, OG HAR TRYKKET "
 0050 PRINT "PAA <34>RETURN<34>, TRYK DA <34>ESC<34> OG DU KAN INDTASTE DET RIGTIGE"
 0060 PRINT "TALSAET.<10>"
 0070 INPUT "ANTAL PUNKTER ? " , N
 0080 INPUT "HVOR MANGE DECIMALER SKAL UDSKRIVES PAA X ? " , DECX
 0090 INPUT "HVOR MANGE DECIMALER SKAL UDSKRIVES PAA Y ? " , DECY
 0100 DIM X ( N ) , Y ( N ) , FORMAT$ ( 4 , 14 ) , NR$ ( 5 )
 0110 INPUT "FYSIKQVELSE NR. ? " , NR$
 0120 LET XX = 0 ; YY = 0 ; E = 0 ; G = 0 ; LIN = ( 38 - N ) DIV 2 ; YMAX = 0 ; FORMAT$ ( 4 ) = "-######.######"
 0130 LET GDEC = ( DECX + DECY ) DIV 2 ; GDEC = 8 + GDEC - ( GDEC = 0 ) ; DECX = 8 + DECX - ( DECX = 0 ) ; DECY = 8 + DECY - ( DECY = 0 )
 0140 IF GDEC < 14 THEN LET GDEC = GDEC + 1
 0150 LET FORMAT$ ( 1 ) = FORMAT$ ( 4 , 1 , DECX ) ; FORMAT$ ( 2 ) = FORMAT$ ( 4 , 1 , DECY ) ; FORMAT$ ( 3 ) = FORMAT$ ( 4 , 1 , GDEC )
 0160 PRINT "SKRIV PUNKTERNES KOORDINATER (X,Y)"
 0170 ON ESC THEN EXEC ERASE
 0180 FOR I = 1 TO N
 0190   INPUT "(X,Y)= " , X ( I ) , Y ( I )
 0200   LET XX = XX + X ( I ) ; YY = YY + Y ( I ) ; E = E + X ( I ) ^ 2 ; G = G + X ( I ) * Y ( I )
 0210 NEXT 
 0220 LET A = ( N * G - XX * YY ) / ( N * E - XX ^ 2 ) ; B = ( YY - A * XX ) / N ; MAX = X ( N ) ; MIN = X ( 1 )
 0260 PRINT FILE ( 0 ) "BILAG TIL FYSIKQVELSE NR. " ; NR$
 0270 PRINT "<10><10>"
 0300 PRINT FILE ( 0 ) "<10>KOORDINATERNE UDFRA HVILKE LIGNINGEN ER BEREGNET:<10><10>"
 0310 FOR LF = 1 TO N
 0320   LET YV = ABS ( ( A * X ( LF ) + B ) - ( Y ( LF ) ) )
 0330   IF YV > YMAX THEN LET YMAX = YV
 0340   IF X ( LF ) > MAX THEN LET MAX = X ( LF )
 0350   IF X ( LF ) < MIN THEN LET MIN = X ( LF )
 0360   PRINT FILE ( 0 ) FORMAT$ ( 1 ) , X ( LF ) ;
 0370   PRINT FILE ( 0 ) FORMAT$ ( 2 ) , Y ( LF )
 0380 NEXT 
 0390 LET K = ABS ( YMAX / ( ( MAX - MIN ) * SQR ( N / 3 ) ) )
 0400 PRINT FILE ( 0 ) "<10><10>******************************<10><10>"
 0440 PRINT FILE ( 0 ) "LIGNINGEN FOR DEN BEDSTE RETTE LINIE: " ;
 0450 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , A ; "X" ;
 0460 LET FORMAT$ ( 3 , 1 ) = "+"
 0470 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , B
 0480 LET FORMAT$ ( 3 , 1 ) = "-"
 0490 PRINT FILE ( 0 ) "HAELDNINGSKOEFFICIENT: " ;
 0500 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , A
 0510 PRINT FILE ( 0 ) "SKAERING MED X-AKSEN: (" ;
 0520 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , - B / A ; ",0)"
 0530 PRINT FILE ( 0 ) "SKAERING MED Y-AKSEN: (0," ;
 0540 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , B ; ")"
 0550 PRINT FILE ( 0 ) "<10>ABSOLUT USIKKERHED PAA @: " ;
 0560 PRINT FILE ( 0 ) FORMAT$ ( 3 ) , K
 0570 PRINT FILE ( 0 ) "RELATIV USIKKERHED PAA @: ####.#%" , ABS ( K / A * 100 )
 0580 PRINT FILE ( 0 ) "<10><10>******************************<10><10>"
 0630 ON ESC THEN GOTO 0715
 0640 INPUT "QNSKES FUNKTIONSVAERDIER ? " , NR$
 0650 IF NR$ <> "JA" THEN GOTO 0715
 0660 PRINT "TRYK <34>ESCAPE<34> NAAR DU HAR VAERDIER NOK!"
 0670 REPEAT 
 0680   INPUT "X= " , XX
 0690   PRINT FILE ( 0 ) "X= -####.##      Y= " , XX ;
 0700   PRINT FILE ( 0 ) FORMAT$ ( 3 ) , A * XX + B
 0710 UNTIL 0
 0711 DIM B$ ( 5 )
 0712 INPUT "ØNSKES GRAF : " , B$
 0713 IF B$ = "JA" THEN CHAIN "JT08"
 0715 CLOSE
 0720 END  (* ---------- *)«nul»
 0730 PROC ERASE
 0740   LET I = I - 1 ; XX = XX - X ( I ) ; YY = YY - Y ( I ) ; E = E - X ( I ) ^ 2 ; G = G - X ( I ) * Y ( I )
 0750   PRINT
 0760   INPUT "(X,Y) " , X ( I ) , Y ( I )
 0770 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] = 0x0000
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      Var# = 0x0412
      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 = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0095
      Loop Top = 0x0269
      To Val = 2   (0x41200000)
      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 0x00 N
    0x82 0x0002 0x00 DECX
    0x83 0x0004 0x00 DECY
    0x84 0x0006 0x01 X
    0x85 0x000f 0x01 Y
    0x86 0x0018 0x03 FORMAT$
    0x87 0x0043 0x02 NR$
    0x88 0x0049 0x00 XX
    0x89 0x004b 0x00 YY
    0x8a 0x004d 0x00 E
    0x8b 0x004f 0x00 G
    0x8c 0x0051 0x00 LIN
    0x8d 0x0053 0x00 YMAX
    0x8e 0x0055 0x00 GDEC
    0x8f 0xffff 0x00 ERASE
    0x90 0x0057 0x00 I
    0x91 0x0059 0x00 A
    0x92 0x005b 0x00 B
    0x93 0x005d 0x00 MAX
    0x94 0x005f 0x00 MIN
    0x95 0x0061 0x00 LF
    0x96 0x0063 0x00 YV
    0x97 0x0065 0x00 K
    0x98 0xffff 0x00 R40A3
    0x99 0xffff 0x00 ZXCV
    0x9a 0xffff 0x02 B$

Wrapper

.magic = 0x4e32
.u_pas = 0x049e  // Length of UPAS in words
.u_das = 0x0156  // Length of UDAS in words
.u_dvs = 0x00ef  // Start på savede variabel indhold (word adr)
.u_nds = 0x0469  // Address på næste prog.sætning (word adr)
.u_cps = 0x045e  // 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 = 0x03db  // CASE dybde
.u_las = 0xffff  // last (-1)