|
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: 6144 (0x1800) Types: COMAL_SAVE Names: »NGRF2«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files └─⟦this⟧ »/NGRF2«
SAVE filename: "NGRF2" 0010 PRINT "<27>AF" 0020 LET AFBRYD = 1 0030 ON ESC THEN EXEC OUTESC 0040 ON ERR THEN EXEC OUTERR 0050 EXEC START 0060 EXEC KOVALG 0070 EXEC GRAF 0080 EXEC CHOICE 0090 END «nul» 0800 PROC MODEL 0810 REM MELLEM 800 OG 900«nul» 0815 REM SKRIVES DE FUNK-«nul»«nul» 0820 REM TIONER, DER 0NSKES«nul»E 0825 REM AFBILDET. DETTE SKER«nul»L 0830 REM AUTOMATISK UNDER«nul»K 0835 REM K0RSLEN.«nul»K 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 ENDPROC 1000 PROC KOVALG 1010 PRINT "<27><12>" 1020 DELAY = 1 1030 PRINT "HVIS DU 0NSKER KOORDINATSYSTEMET PAA H0JKANT, INDTAST 0." 1040 PRINT "0NSKER DU VANDRET KOORDINATSYSTEM, INDTAST 1." 1050 INPUT J 1060 IF ( J <> 0 ) * ( J <> 1 ) THEN GOTO 1050 1070 LET XOMS = 25 YOMS = 25 1080 LET XMAX = 395 + J * 217 YMAX = 608 - J * 188 1090 PRINT "ANF0R BEGYNDELSESPUNKTETS PLACERING PAA PAPI-" 1100 PRINT "RET MAALT I CM VANDRET OG CM LODRET FRA NEDERSTE VENSTRE" 1110 PRINT "HJ0ERNE." 1120 INPUT "CM VANDRET " , XO , " CM LODRET " , YO 1130 DIM X1 ( NG ) , Y1 ( NG ) 1140 FOR IG = 1 TO NG 1150 PRINT 1160 PRINT " FOR GRAF" ; IG ; ":" 1170 INPUT "1 CM PAA X-AKSEN SKAL SVARE TIL " , X1 ( IG ) 1180 INPUT "1 CM PAA Y-AKSEN SKAL SVARE TIL " , Y1 ( IG ) 1190 PRINT "HVIS DU 0NSKER AT RETTE I DETTE, INDTAST 0. ELLERS ET ANDET" 1200 INPUT "TAL. " , R 1210 IF R = 0 THEN GOTO 1160 1220 NEXT 1230 ENDPROC 1240 PROC GRAF 1250 LET AFBRYD = 2 1260 PRINT "<27><12>" 1270 DELAY = 1 1280 LET X0 = XOMS * XO Y0 = YOMS * YO 1290 CALL "GRAPH" , X0 , 0 1300 CALL "OUTVECT" , X0 , YMAX 1310 CALL "OUTVECT" , X0 - 4 * ( X0 >= 4 ) , YMAX - 4 1320 CALL "OUTVECT" , X0 + 4 , YMAX - 4 1330 CALL "OUTVECT" , X0 , YMAX 1340 CALL "GRAPH" , 0 , Y0 1350 CALL "OUTVECT" , XMAX , Y0 1360 CALL "OUTVECT" , XMAX - 4 , Y0 + 4 1370 CALL "OUTVECT" , XMAX - 4 , Y0 - 4 * ( Y0 >= 4 ) 1380 CALL "OUTVECT" , XMAX , Y0 1390 FOR I = 1 TO 23 - 7 * J 1400 CALL "GRAPH" , X0 - 2 * ( X0 >= 2 ) , I * YOMS 1410 CALL "OUTVECT" , X0 + 2 , I * YOMS 1420 NEXT 1430 FOR I = 1 TO 15 + 8 * J 1440 CALL "GRAPH" , I * XOMS , Y0 - 2 * ( Y0 > 2 ) 1450 CALL "OUTVECT" , I * XOMS , Y0 + 2 1460 NEXT 1470 FOR IG = 1 TO NG 1480 OPEN FILE ( 0 , 1 ) "STOR2" 1490 READ FILE ( 0 ) TSLUT 1500 LET R = 1 VEC = 0 1510 REPEAT 1520 READ FILE ( 0 ) T 1530 FOR I = 1 TO N 1540 READ FILE ( 0 ) X ( I ) , DX ( I ) 1550 NEXT 1560 EXEC MODEL 1570 LET XG = X0 + XOMS * F1 ( IG ) / X1 ( IG ) 1580 LET YG = Y0 + YOMS * F2 ( IG ) / Y1 ( IG ) 1590 LET VEC = VEC * ( XG >= 0 ) * ( XG <= XMAX ) * ( YG >= 0 ) * ( YG <= YMAX ) 1600 IF R = 1 THEN CALL "GRAPH" , XG , YG 1610 CALL "VECTOR" , XG , YG , VEC 1620 LET R = R + 1 VEC = ( XG >= 0 ) * ( XG <= XMAX ) * ( YG >= 0 ) * ( YG <= YMAX ) 1630 UNTIL ( T >= TSLUT ) + ( AFBRYD = 3 ) 1640 CLOSE FILE ( 0 ) 1650 NEXT 1660 CALL "ALPHA" 1670 CALL "GRAPH" , 0 , 780 1680 CALL "ALPHA" 1690 LET AFBRYD = 1 1700 ENDPROC 1710 PROC GRAFH 1720 LET AFBRYD = 2 1730 PRINT "<27><12>" 1740 DELAY = 1 1750 LET X0 = YO * XOMS Y0 = 783 - XO * YOMS 1760 CALL "GRAPH" , X0 , 779 1770 CALL "OUTVECT" , X0 , 779 - YMAX 1780 CALL "OUTVECT" , X0 - 4 * ( X0 >= 4 ) , 783 - YMAX 1790 CALL "OUTVECT" , X0 + 4 , 783 - YMAX 1800 CALL "OUTVECT" , X0 , 779 - YMAX 1810 CALL "GRAPH" , 0 , Y0 1820 CALL "OUTVECT" , XMAX , Y0 1830 CALL "OUTVECT" , XMAX - 4 , Y0 + 4 * ( Y0 <= 775 ) 1840 CALL "OUTVECT" , XMAX - 4 , Y0 - 4 1850 CALL "OUTVECT" , XMAX , Y0 1860 FOR I = 1 TO 16 1870 CALL "GRAPH" , X0 - 2 * ( X0 >= 2 ) , 783 - I * YOMS 1880 CALL "OUTVECT" , X0 + 2 , 783 - I * YOMS 1890 NEXT 1900 FOR I = 1 TO 23 1910 CALL "GRAPH" , I * XOMS , Y0 - 2 1920 CALL "OUTVECT" , I * XOMS , Y0 + 2 * ( Y0 <= 775 ) 1930 NEXT 1940 FOR IG = 1 TO NG 1950 OPEN FILE ( 0 , 1 ) "STOR2" 1960 READ FILE ( 0 ) TSLUT 1970 LET R = 1 VEC = 0 1980 REPEAT 1990 READ FILE ( 0 ) T 2000 FOR I = 1 TO N 2010 READ FILE ( 0 ) X ( I ) , DX ( I ) 2020 NEXT 2030 EXEC MODEL 2040 LET XG = X0 + XOMS * F2 ( IG ) / Y1 ( IG ) 2050 LET YG = Y0 - YOMS * F1 ( IG ) / X1 ( IG ) 2060 LET VEC = VEC * ( XG >= 0 ) * ( XG <= XMAX ) * ( YG >= 777 - YMAX ) * ( YG <= 777 ) 2070 IF R = 1 THEN CALL "GRAPH" , XG , YG 2080 CALL "VECTOR" , XG , YG , VEC 2090 LET R = R + 1 VEC = ( XG >= 0 ) * ( XG <= XMAX ) * ( YG >= 777 - YMAX ) * ( YG <= 777 ) 2100 UNTIL ( T >= TSLUT ) + ( AFBRYD = 3 ) 2110 CLOSE FILE ( 0 ) 2120 NEXT 2130 CALL "ALPHA" 2140 CALL "GRAPH" , 0 , 200 2150 CALL "ALPHA" 2160 LET AFBRYD = 1 2170 ENDPROC 2180 PROC CHOICE 2190 PRINT "DU HAR F0LGENDE VALGMULIGHEDER (INDTAST TALLET):" 2200 PRINT "1=GRAFEN TEGNES PAA PLOTTEREN" 2210 PRINT "2=NYT KOORDINATSYSTEM MED SAMME FUNKTIONER" 2220 PRINT "3=NYT KOORDINATSYSTEM MED ANDRE FUNKTIONER" 2230 PRINT "4=TABEL" 2240 PRINT "5=NY INTEGRATION MED DISSE ELLER ANDRE LIGNINGER" 2250 PRINT "6=STOP" 2260 INPUT Q 2270 LET Q = INT ( Q ) 2280 IF ( Q < 1 ) + ( Q > 6 ) THEN GOTO 2260 2290 IF Q = 1 THEN 2300 LET XOMS = 41.8 YOMS = 43.5 2310 LET XMAX = 1023 YMAX = 730 2320 PRINT "<27>AE" 2330 IF J THEN 2340 EXEC GRAF 2350 ELSE 2360 EXEC GRAFH 2370 ENDIF 2380 PRINT "<27>AF" 2390 ENDIF 2400 IF Q = 2 THEN 2410 EXEC KOVALG 2420 EXEC GRAF 2430 ENDIF 2440 IF Q = 3 THEN CHAIN "NGRF2" 2450 IF Q = 4 THEN CHAIN "NTAB2" 2460 IF Q = 5 THEN CHAIN "NDIF2" THEN GOTO 0300 2470 IF Q <> 6 THEN GOTO 2190 2480 ENDPROC 2490 PROC START 2500 DIM Q$ ( 150 ) 2510 PRINT "<27><12>" 2520 DELAY = 1 2530 OPEN FILE ( 0 , 1 ) "DIM2" 2540 READ FILE ( 0 ) N , M 2550 CLOSE FILE ( 0 ) 2560 PRINT "VED DEN GRAFISKE AFBILDNING, KAN DU I DET F0LGENDE BENYTTE AL-" 2570 PRINT "LE FUNKTIONERNE X(1),...,X(N),DX(1),...,DX(N),T OG KOMBINATIO-" 2580 PRINT "NER AF DISSE." 2590 PRINT 2600 DIM X ( N ) , DX ( N ) 2610 PRINT "HVOR MANGE GRAFER 0NSKES TEGNET (I SAMME KOORDINATSYSTEM)?" 2620 INPUT "INDTAST ANTALLET. " , NG 2630 LET NG = INT ( NG ) 2640 IF NG > 10 THEN GOTO 2620 2650 DIM F1$ ( NG , 150 ) , F2$ ( NG , 150 ) , F1 ( NG ) , F2 ( NG ) 2660 FOR I = 1 TO NG 2670 PRINT 2680 PRINT "GRAF " ; I 2690 INPUT "PAA X-AKSEN 0NSKES (FUNKTION):" , F1$ ( I ) 2700 INPUT "PAA Y-AKSEN 0NSKES (FUNKTION):" , F2$ ( I ) 2710 PRINT "HVIS DU 0NSKER AT RETTE I DETTE, INDTAST 0. ELLERS ET ANDET" 2720 INPUT "TAL. " , R 2730 IF R = 0 THEN GOTO 2680 2740 NEXT 2750 DIM LNUM$ ( 3 ) , I$ ( 2 ) 2760 LET AFBRYD = 0 2770 CREATE "GRF" , 1 2780 OPEN FILE ( 0 , 3 ) "GRF" 2790 RESTORE 0000 2800 FOR I = 1 TO NG 2810 READ LNUM$ , I$ 2820 WRITE FILE ( 0 ) LNUM$ , "LET F1(" , I$ , ")=" , F1$ ( I ) , "<13><10>" 2830 READ LNUM$ 2840 WRITE FILE ( 0 ) LNUM$ , "LET F2(" , I$ , ")=" , F2$ ( I ) , "<13><10>" 2850 NEXT 2860 CLOSE FILE ( 0 ) 2870 ENTER "GRF" 2880 DELETE "GRF" 2890 IF SYS ( 7 ) = 2 THEN STOP «nul» 2900 LET AFBRYD = 1 2910 DATA "810" , "1" , "815" , "820" , "2" , "825" , "830" , "3" , "835" , "840" , "4" , "845" 2920 DATA "850" , "5" , "855" , "860" , "6" , "865" , "870" , "7" , "875" , "880" , "8" , "885" 2930 DATA "890" , "9" , "895" 2940 ENDPROC 2950 PROC OUTESC 2960 ON ESC THEN EXEC OUTESC 2970 IF AFBRYD = 1 THEN 2980 PRINT 2990 PRINT "PROGRAMMET AFBRUDT." 3000 END «nul» 3010 ENDIF 3020 IF AFBRYD = 2 THEN LET AFBRYD = 3 3030 ENDPROC 3040 PROC OUTERR 3050 CLOSE 3060 CALL "ALPHA" 3070 CALL "GRAPH" , 0 , 780 3080 CALL "ALPHA" 3090 PRINT 3100 IF ( SYS ( 7 ) = 16 ) + ( SYS ( 7 ) = 34 ) THEN 3110 PRINT "DER ER OPSTAAET FEJL. DE BENYTTEDE FUNKTIONER ER IKKE OVER-" 3120 PRINT "ALT VELDEFINEREDE. START FORFRA." 3130 ENDIF 3140 IF ( SYS ( 7 ) = 17 ) + ( SYS ( 7 ) = 31 ) + ( SYS ( 7 ) = 38 ) THEN 3150 PRINT "DER ER BENYTTET ET ELLER FLERE FORKERTE UDTRYK I FUNKTIONER-" 3160 PRINT "NE. START FORFRA." 3170 ENDIF 3180 PRINT 3190 PRINT "FEJLKODE " ; SYS ( 7 ) ; ". SE MANUAL FOR YDERLIGERE OPLYSNINGER." 3200 END «nul» 3210 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 AFBRYD 0x82 0xffff 0x00 OUTESC 0x83 0xffff 0x00 OUTERR 0x84 0xffff 0x00 START 0x85 0xffff 0x00 KOVALG 0x86 0xffff 0x00 GRAF 0x87 0xffff 0x00 CHOICE 0x88 0xffff 0x00 MODEL 0x89 0xffff 0x00 J 0x8a 0xffff 0x00 XOMS 0x8b 0xffff 0x00 YOMS 0x8c 0xffff 0x00 XMAX 0x8d 0xffff 0x00 YMAX 0x8e 0xffff 0x00 XO 0x8f 0xffff 0x00 YO 0x90 0xffff 0x00 X1 0x91 0xffff 0x00 NG 0x92 0xffff 0x00 Y1 0x93 0xffff 0x00 IG 0x94 0xffff 0x00 R 0x95 0xffff 0x00 X0 0x96 0xffff 0x00 Y0 0x97 0xffff 0x00 I 0x98 0xffff 0x00 TSLUT 0x99 0xffff 0x00 VEC 0x9a 0xffff 0x00 T 0x9b 0xffff 0x00 N 0x9c 0xffff 0x00 X 0x9d 0xffff 0x00 DX 0x9e 0xffff 0x00 XG 0x9f 0xffff 0x00 F1 0xa0 0xffff 0x00 YG 0xa1 0xffff 0x00 F2 0xa2 0xffff 0x00 GRAFH 0xa3 0xffff 0x00 Q 0xa4 0xffff 0x02 Q$ 0xa5 0xffff 0x00 M 0xa6 0xffff 0x02 F1$ 0xa7 0xffff 0x02 F2$ 0xa8 0xffff 0x02 LNUM$ 0xa9 0xffff 0x02 I$ 0xaa 0xffff 0x00 LIAT 0xab 0xffff 0x00 FEJL 0xac 0xffff 0x00 FEJL0 0xad 0xffff 0x00 LIST2850
.magic = 0x4e32 .u_pas = 0x0a1e // 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 = 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)