|
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 - download
Length: 4608 (0x1200) Types: COMAL_SAVE Names: »GRAFT«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files └─⟦this⟧
SAVE filename: "GRAFT" 0010 EXEC START 0100 PRINT 0290 REM I DENNE LINIE DEFINERES FUNKTIONEN UNDER K0RSEL«nul» 0302 EXEC IND 0304 EXEC TEGN 0306 EXEC CHOICE 0450 PROC TEGN 0460 PRINT "<27><12>" 0470 DELAY = 1 0480 LET A2 = XAKS * ( XAKS >= 45 ) * ( XAKS <= FELT - 45 ) + 5 * ( XAKS < 45 ) + 5 * ( XAKS > FELT - 45 ) 0482 LET A1 = 145 A3 = FELT + 100 A4 = A2 C1 = - 5 C2 = 3 C3 = C1 C4 = - 3 C5 = 8 C6 = 0 0487 LET X0 = INT ( ( XAKS - 45 ) / S ) Y0 = INT ( ( YAKS - 145 ) / S ) 0490 LET Y = A2 + 4 START = YAKS - Y0 * S SLUT = START + 11 * S 0500 EXEC KOORD 0502 LET A1 = YAKS * ( YAKS >= 145 ) * ( YAKS <= FELT + 100 ) + 105 * ( YAKS < 145 ) + 105 * ( YAKS > FELT + 100 ) 0510 LET A2 = 45 A3 = A1 A4 = FELT C1 = 3 C2 = - 5 C3 = - 3 C4 = C2 C5 = 0 C6 = 8 0520 LET X = A1 + 4 START = XAKS - X0 * S SLUT = START + 11 * S 0530 EXEC KOORD 0540 LET A1 = 650 0550 IF YAKS > 640 THEN LET A1 = 150 0560 CALL "GRAPH" , A1 , FELT - 40 0570 CALL "ALPHA" 0580 PRINT "Y=" ; GEM$ 0600 LET DX = ( X2 - X1 ) / 250 VEC = 0 0610 CALL "GRAPH" , X1 * XSTEP + YAKS , FNY ( X1 ) * YSTEP + XAKS 0620 FOR T = X1 TO X2 STEP DX 0630 LET X = T * XSTEP + YAKS Y = FNY ( T ) * YSTEP + XAKS 0640 IF ( X > FELT + 100 ) + ( Y < 45 ) + ( Y > FELT ) THEN 0650 LET VEC = 0 0660 ELSE 0670 CALL "VECTOR" , X , Y , VEC 0680 LET VEC = 1 0690 ENDIF 0700 NEXT 0710 CALL "GRAPH" , 0 , 780 0730 CALL "ALPHA" 0732 ENDPROC 0738 PROC CROSS 0740 ON ERR THEN EXEC OUTERR 0741 LET AFBRYD = 2 0742 PRINT "<29>" ; 0746 INPUT "<27><26>" , G$ ; 0748 IF LEN ( G$ ) = 0 THEN GOTO 0810 0749 PRINT "<31>" ; 0750 LET X = ( ORD ( G$ ( 2 ) ) - 33 ) * 32 + ORD ( G$ ( 3 ) ) 0752 LET Y = ( ORD ( G$ ( 4 ) ) - 33 ) * 32 + ORD ( G$ ( 5 ) ) 0770 LET XKOR = ( X - YAKS ) / XSTEP YKOR = ( Y - XAKS ) / YSTEP 0775 IF AFBRYD = 3 THEN GOTO 0741 0790 PAGE = 72 0800 PRINT "(" ; XKOR ; "," ; YKOR ; ")" 0802 GOTO 0741 0810 PRINT "<31>" 0820 LET AFBRYD = 1 0830 LET A = 1 / 0 0840 ENDPROC 0930 PROC KOORD 0940 CALL "GRAPH" , A1 , A2 0950 CALL "OUTVECT" , A3 , A4 0960 CALL "OUTVECT" , A3 + C1 , A4 + C2 0970 CALL "OUTVECT" , A3 + C3 , A4 + C4 0980 CALL "OUTVECT" , A3 , A4 0990 FOR T = START TO SLUT STEP S 1000 IF C5 THEN LET X = T 1010 IF C6 THEN LET Y = T 1020 CALL "GRAPH" , X , Y 1030 CALL "OUTVECT" , X - C6 , Y - C5 1040 NEXT 1050 DELAY = 1 1060 ENDPROC 1110 PROC IND 1120 PRINT " INDTAST MINDSTE OG ST0RSTE X-VAERDI: " ; 1130 INPUT "XMIN,XMAX ? " , X1 , X2 1140 IF X1 >= X2 THEN GOTO 1130 1150 PRINT 1160 PRINT " INDTAST MINDSTE OG ST0RSTE Y-VAERDI: " ; 1170 INPUT "YMIN,YMAX ? " , Y1 , Y2 1180 IF Y1 >= Y2 THEN GOTO 1170 1190 LET S = 50 FELT = 650 1202 LET E ( 1 ) = S * ( X2 - X1 ) / FELT E ( 2 ) = S * ( Y2 - Y1 ) / FELT 1210 FOR I = 1 TO 2 1215 LET ENH = 0 1220 IF E ( I ) > 1 THEN 1230 LET D1 = 2.5 D2 = 5 D3 = 7.5 D4 = 10 1240 REPEAT 1250 LET ENH = D1 * ( E ( I ) <= D1 ) + D2 * ( E ( I ) > D1 ) * ( E ( I ) <= D2 ) + D3 * ( E ( I ) > D2 ) * ( E ( I ) <= D3 ) + D4 * ( E ( I ) > D3 ) * ( E ( I ) <= D4 ) 1260 LET D1 = 10 * D1 D2 = 10 * D2 D3 = 10 * D3 D4 = 10 * D4 1270 UNTIL ENH 1280 ELSE 1300 LET D1 = 0.1 D2 = 0.25 D3 = 0.5 D4 = 0.75 1310 REPEAT 1320 LET ENH = D2 * ( E ( I ) > D1 ) * ( E ( I ) <= D2 ) + D3 * ( E ( I ) > D2 ) * ( E ( I ) <= D3 ) + D4 * ( E ( I ) > D3 ) * ( E ( I ) <= D4 ) + 10 * D1 * ( E ( I ) > D4 ) 1330 LET D1 = D1 / 10 D2 = D2 / 10 D3 = D3 / 10 D4 = D4 / 10 1340 UNTIL ENH 1345 ENDIF 1350 LET E ( I ) = ENH 1360 NEXT 1362 LET XSTEP = S / E ( 1 ) YSTEP = S / E ( 2 ) 1364 LET XAKS = - YSTEP * Y1 + 45 YAKS = - XSTEP * X1 + 145 1365 PRINT 1368 PRINT 1370 PRINT " ET INTERVAL PAA X-AKSEN ER LIG " ; E ( 1 ) 1375 PRINT " ET INTERVAL PAA Y-AKSEN ER LIG " ; E ( 2 ) 1380 PRINT 1381 PRINT 1382 INPUT " NAAR DU ER PARAT, TAST RETURN" , G$ 1390 ENDPROC 1983 PRINT "" ; 2000 PROC CHOICE 2010 PRINT "DU HAR F0LGENDE MULIGHEDER (INDTAST TALLET):" 2020 PRINT "1 = KOORDINATS0GNING (KOORDINATERNE TIL KORSET FAAS VED AT" 2022 PRINT " TRYKKE PAA ET BOGSTAV. DU VENDER TILBAGE TIL HOVED-" 2024 PRINT " PROGRAMMET VED AT TASTE RETURN)" 2030 PRINT "2 = DEN NUVAERENDE GRAF TEGNES PAA PLOTTEREN" 2035 PRINT "3 = SAMME FUNKTION I NYT INTERVAL" 2040 PRINT "4 = STOP" 2050 INPUT Q 2060 LET Q = INT ( Q ) 2070 IF ( Q < 1 ) + ( Q > 4 ) THEN GOTO 2050 2080 IF Q = 1 THEN EXEC CROSS 2130 IF Q = 2 THEN 2140 LET S = 60 FELT = 780 2141 LET XSTEP = S / E ( 1 ) YSTEP = S / E ( 2 ) 2142 LET XAKS = - YSTEP * Y1 + 45 YAKS = - XSTEP * X1 + 145 2150 PRINT "<27>AE" 2160 EXEC TEGN 2170 PRINT "<27>AF" 2200 ENDIF 2210 IF Q = 3 THEN 2220 PRINT "<27><12>" 2230 DELAY = 1 2240 EXEC IND 2250 EXEC TEGN 2260 ENDIF 2262 IF Q = 1 THEN GOTO 2050 2264 IF ( Q = 2 ) + ( Q = 3 ) THEN GOTO 2010 2290 ENDPROC 2300 PROC START 2310 PRINT "<27>AF" 2320 PRINT "<27><12>" 2330 DELAY = 1 2335 DIM G$ ( 5 ) 2336 DIM GEM$ ( 100 ) 2340 PRINT TAB ( 20 ) ; "*** GRAFTEGNER ***" 2350 PRINT 2360 PRINT " PROGRAMMET TEGNER GRAFEN FOR ENHVER FUNKTION Y=F(X) I ET" 2370 PRINT "VILKAARLIGT INTERVAL I DEFINITIONSOMRAADET. I TVIVLSTILFAEL-" 2380 PRINT "DE, SE DEN SAERLIGE VEJLEDNING I PROGRAMMAPPEN." 2390 PRINT 2400 PRINT 2451 LET AFBRYD = 0 2452 ON ESC THEN EXEC OUTESC 2460 CREATE "GEM" , 1 2470 OPEN FILE ( 0 , 2 ) "GEM" 2480 PRINT " INDTAST FUNKTIONEN: " ; 2490 INPUT "Y=" , GEM$ 2500 WRITE FILE ( 0 ) " 290 DEF FNY(X)=" , GEM$ , "<13><10>" 2510 CLOSE 2520 ENTER "GEM" 2530 CLOSE 2540 DELETE "GEM" 2570 LET AFBRYD = 1 2575 IF SYS ( 7 ) <> 0 THEN STOP «nul» 2580 DIM E ( 2 ) 2600 ENDPROC 2800 PROC OUTESC 2810 ON ESC THEN EXEC OUTESC 2820 IF AFBRYD THEN 2830 END «nul» 2840 ENDIF 2850 ENDPROC 3000 PROC OUTERR 3010 IF AFBRYD = 1 THEN GOTO 3030 3020 ON ERR THEN EXEC OUTERR 3025 LET AFBRYD = 3 3030 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 0x02 GEM$ 0x82 0xffff 0x00 E 0x83 0xffff 0x00 IND 0x84 0xffff 0x00 TEGN 0x85 0xffff 0x00 CHOICE 0x86 0xffff 0x00 A2 0x87 0xffff 0x00 XAKS 0x88 0xffff 0x00 FELT 0x89 0xffff 0x00 A1 0x8a 0xffff 0x00 A3 0x8b 0xffff 0x00 A4 0x8c 0xffff 0x00 C1 0x8d 0xffff 0x00 C2 0x8e 0xffff 0x00 C3 0x8f 0xffff 0x00 C4 0x90 0xffff 0x00 C5 0x91 0xffff 0x00 C6 0x92 0xffff 0x00 X0 0x93 0xffff 0x00 S 0x94 0xffff 0x00 Y0 0x95 0xffff 0x00 YAKS 0x96 0xffff 0x00 Y 0x97 0xffff 0x00 START 0x98 0xffff 0x00 SLUT 0x99 0xffff 0x00 KOORD 0x9a 0xffff 0x00 X 0x9b 0xffff 0x00 DX 0x9c 0xffff 0x00 X2 0x9d 0xffff 0x00 X1 0x9e 0xffff 0x00 VEC 0x9f 0xffff 0x00 YSTEP 0xa0 0xffff 0x00 T 0xa1 0xffff 0x00 XSTEP 0xa2 0xffff 0x00 CROSS 0xa3 0xffff 0x00 XKOR 0xa4 0xffff 0x00 YKOR 0xa5 0xffff 0x02 G$ 0xa6 0xffff 0x00 ERR2 0xa7 0xffff 0x00 Y1 0xa8 0xffff 0x00 Y2 0xa9 0xffff 0x00 I 0xaa 0xffff 0x00 ENH 0xab 0xffff 0x00 D1 0xac 0xffff 0x00 D2 0xad 0xffff 0x00 D3 0xae 0xffff 0x00 D4 0xaf 0xffff 0x00 Q 0xb0 0xffff 0x00 AFBRYD 0xb1 0xffff 0x00 OUTERR 0xb2 0xffff 0x00 A 0xb3 0xffff 0x00 ENPROC 0xb4 0xffff 0x00 OUTER 0xb5 0xffff 0x00 ONESC 0xb6 0xffff 0x00 OUTESC 0xb7 0xffff 0x00 L502 0xb8 0xffff 0x02 Q$
.magic = 0x4e32 .u_pas = 0x0722 // Length of UPAS in words .u_das = 0x0185 // Length of UDAS in words .u_dvs = 0x0185 // 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)