|
|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC3600/RC7000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC3600/RC7000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5120 (0x1400)
Types: COMAL_SAVE
Names: »NGRF1«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
└─⟦this⟧ »/LIB.NGRF1«
SAVE filename: "NGRF1"
0010 EXEC START
0230 EXEC KOVALG
0240 EXEC GRAF
0250 EXEC CHOICE
0800 PROC MODEL
0810 REM «nul»
0815 REM «nul»
0820 REM «nul»
0825 REM «nul»
0830 REM «nul»
0835 REM «nul»
0840 REM «nul»
0845 REM «nul»
0850 REM «nul»
0855 REM «nul»
0860 REM «nul»
0865 REM «nul»
0870 REM «nul»
0875 REM «nul»
0880 REM «nul»
0885 REM «nul»
0890 REM «nul»
0895 REM «nul»
0900 REM «nul»«nul»
0905 REM «nul»«nul»
0910 ENDPROC
1000 PROC KOVALG
1010 PRINT "<27><12>"
1020 DELAY = 1
1030 INPUT "HOEJKANT SKRIV 0,VANDRET SKRIV 1" , J
1040 LET XOMS = 25 YOMS = 25
1050 LET XMAX = 395 + J * 217 YMAX = 608 - J * 188
1060 PRINT "ANF0R BEGYNDELSESPUNKTETS PLACERING PAA PAPI-"
1070 PRINT "RET MAALT I CM VANDRET OG CM LODRET FRA NEDERSTE VENSTRE"
1080 PRINT "HJ0ERNE."
1090 INPUT "CM VANDRET " , XO , " CM LODRET " , YO
1092 DIM X1 ( NG ) , Y1 ( NG )
1094 FOR IG = 1 TO NG
1095 PRINT " FOR GRAF" ; IG ; ":"
1096 INPUT "1 CM PAA X-AKSEN SKAL SVARE TIL " , X1 ( IG )
1100 INPUT "1 CM PAA Y-AKSEN SKAL SVARE TIL " , Y1 ( IG )
1105 NEXT
1120 ENDPROC
1130 PROC GRAF
1135 ON ESC THEN GOTO 5000
1140 PRINT "<27><12>"
1150 DELAY = 1
1160 LET X0 = XOMS * XO Y0 = YOMS * YO
1170 CALL "GRAPH" , X0 , 0
1180 CALL "OUTVECT" , X0 , YMAX
1190 CALL "OUTVECT" , X0 - 4 * ( X0 >= 4 ) , YMAX - 4
1200 CALL "OUTVECT" , X0 + 4 , YMAX - 4
1210 CALL "OUTVECT" , X0 , YMAX
1220 CALL "GRAPH" , 0 , Y0
1230 CALL "OUTVECT" , XMAX , Y0
1240 CALL "OUTVECT" , XMAX - 4 , Y0 + 4
1250 CALL "OUTVECT" , XMAX - 4 , Y0 - 4 * ( Y0 >= 4 )
1260 CALL "OUTVECT" , XMAX , Y0
1270 FOR I = 1 TO 23 - 7 * J
1280 CALL "GRAPH" , X0 - 2 * ( X0 >= 2 ) , I * YOMS
1290 CALL "OUTVECT" , X0 + 2 , I * YOMS
1300 NEXT
1310 FOR I = 1 TO 15 + 8 * J
1320 CALL "GRAPH" , I * XOMS , Y0 - 2 * ( Y0 > 2 )
1330 CALL "OUTVECT" , I * XOMS , Y0 + 2
1340 NEXT
1342 FOR IG = 1 TO NG
1345 OPEN FILE ( 0 , 1 ) "STOR1"
1346 READ FILE ( 0 ) TSLUT
1348 LET R = 1 VEC = 0
1349 REPEAT
1350 READ FILE ( 0 ) T
1351 FOR I = 1 TO N
1352 READ FILE ( 0 ) X ( I )
1354 NEXT
1358 EXEC MODEL
1360 LET XG = X0 + XOMS * F1 ( IG ) / X1 ( IG )
1370 LET YG = Y0 + YOMS * F2 ( IG ) / Y1 ( IG )
1380 LET VEC = VEC * ( XG >= 0 ) * ( XG <= XMAX ) * ( YG >= 0 ) * ( YG <= YMAX )
1385 IF R = 1 THEN CALL "GRAPH" , XG , YG
1390 CALL "VECTOR" , XG , YG , VEC
1400 LET R = R + 1 VEC = ( XG >= 0 ) * ( XG <= XMAX ) * ( YG >= 0 ) * ( YG <= YMAX )
1410 UNTIL T >= TSLUT
1415 CLOSE FILE ( 0 )
1420 NEXT
1440 CALL "ALPHA"
1560 CALL "GRAPH" , 0 , 780
1570 CALL "ALPHA"
1580 ENDPROC
1590 PROC GRAFH
1600 PRINT "<27><12>"
1610 DELAY = 1
1620 LET X0 = YO * XOMS Y0 = 783 - XO * YOMS
1630 CALL "GRAPH" , X0 , 779
1640 CALL "OUTVECT" , X0 , 779 - YMAX
1650 CALL "OUTVECT" , X0 - 4 * ( X0 >= 4 ) , 783 - YMAX
1660 CALL "OUTVECT" , X0 + 4 , 783 - YMAX
1670 CALL "OUTVECT" , X0 , 779 - YMAX
1680 CALL "GRAPH" , 0 , Y0
1690 CALL "OUTVECT" , XMAX , Y0
1700 CALL "OUTVECT" , XMAX - 4 , Y0 + 4 * ( Y0 <= 775 )
1710 CALL "OUTVECT" , XMAX - 4 , Y0 - 4
1720 CALL "OUTVECT" , XMAX , Y0
1730 FOR I = 1 TO 16
1740 CALL "GRAPH" , X0 - 2 * ( X0 >= 2 ) , 783 - I * YOMS
1750 CALL "OUTVECT" , X0 + 2 , 783 - I * YOMS
1760 NEXT
1770 FOR I = 1 TO 23
1780 CALL "GRAPH" , I * XOMS , Y0 - 2
1790 CALL "OUTVECT" , I * XOMS , Y0 + 2 * ( Y0 <= 775 )
1800 NEXT
1810 FOR I = 1 TO N
1820 LET X = X0 + XOMS * KO ( 2 , I ) / Y1
1830 LET Y = Y0 - YOMS * KO ( 1 , I ) / X1
1840 IF ( X < 2 ) + ( X > 1021 ) + ( Y > 777 ) + ( Y < 777 - YMAX ) THEN GOTO 1890
1850 CALL "GRAPH" , X - 2 , Y + 2
1860 CALL "OUTVECT" , X + 2 , Y - 2
1870 CALL "OUTVECT" , X - 2 , Y - 2
1880 CALL "OUTVECT" , X + 2 , Y + 2
1890 NEXT
1900 LET XSTARTH = YSTART * XOMS / 25 YSTARTH = 783 - XSTART * YOMS / 25
1910 LET XSLUTH = YSLUT * XOMS / 25 YSLUTH = 783 - XSLUT * YOMS / 25
1920 IF YSTARTH > 779 THEN
1930 LET YSTARTH = 779
1940 LET XSTARTH = ( YSTART + 100 * P * X1 / Y1 / YOMS ) * XOMS / 25
1950 ENDIF
1960 IF YSLUTH > 779 THEN
1970 LET YSLUTH = 779
1980 LET XSLUTH = ( YSLUT + 100 * P * X1 / Y1 / YOMS ) * XOMS / 25
1990 ENDIF
2000 CALL "GRAPH" , XSTARTH , YSTARTH
2010 CALL "OUTVECT" , XSLUTH , YSLUTH
2020 CALL "GRAPH" , 0 , 765
2030 CALL "ALPHA"
2040 ENDPROC
2170 ENDPROC
2180 PROC CHOICE
2190 PRINT "DU HAR F0LGENDE VALGMULIGHEDER (INDTAST TALLET):"
2195 PRINT "1=GRAFEN TEGNES PAA PLOTTEREN"
2200 PRINT "2=NYT KOORDINATSYSTEM MED SAMME FUNKTIONER"
2205 PRINT "3=NYT KOORDINATSYSTEM MED ANDRE FUNKTIONER"
2210 PRINT "4=TABEL"
2215 PRINT "5=NY INTEGRATION MED DISSE ELLER ANDRE LIGNINGER"
2220 PRINT "6=STOP"
2225 INPUT Q
2227 LET Q = INT ( Q )
2229 IF ( Q < 1 ) + ( Q > 5 ) THEN GOTO 2225
2235 IF Q = 1 THEN
2260 LET XOMS = 41.8 YOMS = 43.5
2270 LET XMAX = 1023 YMAX = 730
2280 PRINT "<27>AE"
2290 IF J THEN
2300 EXEC GRAF
2310 ELSE
2320 EXEC GRAFH
2330 ENDIF
2340 PRINT "<27>AF"
2360 ENDIF
2370 IF Q = 2 THEN
2380 EXEC KOVALG
2390 EXEC GRAF
2410 ENDIF
2415 IF Q = 3 THEN CHAIN "NGRF1"
2420 IF Q = 4 THEN CHAIN "NTAB1"
2425 IF Q = 5 THEN CHAIN "NDIF1"
2426 IF Q = 6 THEN STOP «nul»
2428 GOTO 2190
2430 ENDPROC
2525 IF Q = 5 THEN CHAIN "NDIF1" THEN GOTO 0300
2790 PROC START
2800 DIM Q$ ( 150 )
2810 PRINT "<27><12>"
2820 DELAY = 1
2830 OPEN FILE ( 0 , 1 ) "DIM1"
2840 READ FILE ( 0 ) N , M
2850 CLOSE FILE ( 0 )
2860 DIM X ( N )
2870 PRINT "HVOR MANGE GRAFER 0NSKES TEGNET (I SAMME KOORDINATSYSTEM)?"
2880 INPUT "INDTAST ANTALLET. " , NG
2890 LET NG = INT ( NG )
2900 IF NG > 10 THEN GOTO 2880
2910 DIM F1$ ( NG , 150 ) , F2$ ( NG , 150 ) , F1 ( NG ) , F2 ( NG )
3010 FOR I = 1 TO NG
3020 PRINT "GRAF " ; I
3030 INPUT "PAA X-AKSEN 0NSKES (FUNKTION):" , F1$ ( I )
3040 INPUT "PAA Y-AKSEN 0NSKES (FUNKTION):" , F2$ ( I )
3050 NEXT
3060 PRINT "HVIS DU 0NSKER AT RETTE, INDTAST 0. ELLERS ET ANDET TAL."
3070 INPUT Q
3080 IF Q = 0 THEN EXEC RETTE
3090 DIM LNUM$ ( 3 ) , I$ ( 2 )
3500 CREATE "GRF" , 1
3510 OPEN FILE ( 0 , 3 ) "GRF"
3530 RESTORE 0000
3540 FOR I = 1 TO NG
3550 READ LNUM$ , I$
3560 WRITE FILE ( 0 ) LNUM$ , "LET F1(" , I$ , ")=" , F1$ ( I ) , "<13><10>"
3570 READ LNUM$
3580 WRITE FILE ( 0 ) LNUM$ , "LET F2(" , I$ , ")=" , F2$ ( I ) , "<13><10>"
3590 NEXT
3600 CLOSE FILE ( 0 )
3610 ENTER "GRF"
3620 DELETE "GRF"
4010 DATA "810" , "1" , "815" , "820" , "2" , "825" , "830" , "3" , "835" , "840" , "4" , "845"
4020 DATA "850" , "5" , "855" , "860" , "6" , "865" , "870" , "7" , "875" , "880" , "8" , "885"
4050 ENDPROC
5000 CLOSE
5010 CALL "ALPHA"
5020 CALL "GRAPH" , 0 , 780
5030 CALL "ALPHA"
6000 ENDPROC
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# = 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# = 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# = 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 0x0000 0x00
0x81 0xffff 0x00 START
0x82 0xffff 0x00 KOVALG
0x83 0xffff 0x00 GRAF
0x84 0xffff 0x00 CHOICE
0x85 0xffff 0x00 MODEL
0x86 0xffff 0x00 J
0x87 0xffff 0x00 XOMS
0x88 0xffff 0x00 YOMS
0x89 0xffff 0x00 XMAX
0x8a 0xffff 0x00 YMAX
0x8b 0xffff 0x00 XO
0x8c 0xffff 0x00 YO
0x8d 0xffff 0x00 X1
0x8e 0xffff 0x00 NG
0x8f 0xffff 0x00 Y1
0x90 0xffff 0x00 IG
0x91 0xffff 0x00 X0
0x92 0xffff 0x00 Y0
0x93 0xffff 0x00 I
0x94 0xffff 0x00 TSLUT
0x95 0xffff 0x00 R
0x96 0xffff 0x00 VEC
0x97 0xffff 0x00 T
0x98 0xffff 0x00 N
0x99 0xffff 0x00 X
0x9a 0xffff 0x00 DX
0x9b 0xffff 0x00 XG
0x9c 0xffff 0x00 F1
0x9d 0xffff 0x00 YG
0x9e 0xffff 0x00 F2
0x9f 0xffff 0x00 GRAFH
0xa0 0xffff 0x00 KO
0xa1 0xffff 0x00 Y
0xa2 0xffff 0x00 XSTARTH
0xa3 0xffff 0x00 YSTART
0xa4 0xffff 0x00 YSTARTH
0xa5 0xffff 0x00 XSTART
0xa6 0xffff 0x00 XSLUTH
0xa7 0xffff 0x00 YSLUT
0xa8 0xffff 0x00 YSLUTH
0xa9 0xffff 0x00 XSLUT
0xaa 0xffff 0x00 P
0xab 0xffff 0x00 Q
0xac 0xffff 0x02 Q$
0xad 0xffff 0x00 M
0xae 0xffff 0x02 F1$
0xaf 0xffff 0x02 F2$
0xb0 0xffff 0x00 RETTE
0xb1 0xffff 0x02 LNUM$
0xb2 0xffff 0x02 I$
0xb3 0xffff 0x00 O
0xb4 0xffff 0x00 LST
0xb5 0xffff 0x00 N9
.magic = 0x4e32 .u_pas = 0x0820 // Length of UPAS in words .u_das = 0x0176 // Length of UDAS in words .u_dvs = 0x0176 // Start på savede variabel indhold (word adr) .u_nds = 0x0000 // 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)