|
|
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: 3584 (0xe00)
Types: COMAL_SAVE
Names: »GRAFT«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
└─⟦this⟧ »/LIB.GRAFT«
SAVE filename: "GRAFT"
0010 REM (+UDVIKLET AF IB I. OLSEN - 1982+)«nul»
0020 PRINT "<27>AF"
0030 PRINT "<27><12>"
0040 DELAY = 1
0050 PRINT TAB ( 20 ) ; "*** GRAFTEGNER ***"
0060 PRINT
0065 TAB = 10
0070 PRINT "" , "GRAFTEGNEREN KAN TEGNE EN ENKELT FUNKTION"
0080 PRINT "" , " BAGEFTER ER DET MULIGT AT LAVE KOORDINAT-"
0090 PRINT "" , "SOEGNING VED HJAELP AF KORSET, SOM FREMKOMMER."
0100 PRINT "" , "KORSET INDSTILLES V.H.A. DE TO KNAPPER I"
0110 PRINT "" , "HOEJRE SIDE AF TASTATURET. NAAR KORSET ER INDSTIL-"
0120 PRINT "" , "LET OVER DEN SOEGTE KOORDINAT TRYKKES DER PAA ET BOG-"
0130 PRINT "" , "STAV. NAAR SOEGNINGEN ER FORBI TRYKKES PAA -RETURN-"
0135 PRINT
0140 DIM GEM$ ( 40 )
0150 ON ERR THEN GOTO 0190
0160 CREATE "GEM" , 0
0170 OPEN FILE ( 0 , 2 ) "GEM"
0180 OPEN FILE ( 0 , 2 ) "GEM"
0190 ON ERR THEN GOTO 0250
0200 PRINT "" , "INDTAST FUNKTIONEN : " ;
0210 INPUT "Y=" , GEM$
0220 WRITE FILE ( 0 ) " 290 DEF FNY(X)=" , GEM$ , "<13><10>"
0230 CLOSE
0240 ENTER "GEM"
0250 CLOSE
0260 DELETE "GEM"
0270 IF SYS ( 7 ) <> 42 THEN PRINT "DER ER EN FEJL I DIN LIGNING. PROEV IGEN!"
0280 IF SYS ( 7 ) <> 42 THEN GOTO 0150
0290 DEF FNY ( VAR98 ) = SIN ( [LVAR] ) / COS ( [LVAR] ^ 2 )
0300 PRINT
0310 PRINT "" , "INDTAST STOERSTE OG MINDSTE X-VAERDI: " ;
0320 INPUT "XMIN,XMAX ? " , X1 , X2
0330 PRINT
0340 PRINT "" , "INDTAST STOERSTE OG MINDSTE Y-VAERDI: " ;
0350 INPUT "YMIN,YMAX ? " , Y1 , Y2
0360 IF X1 > 0 THEN LET X1 = 0
0370 IF Y1 > 0 THEN LET Y1 = 0
0380 IF X2 < 0 THEN LET X2 = 0
0390 IF Y2 < 0 THEN LET Y2 = 0
0400 LET X1 = INT ( X1 ) Y1 = INT ( Y1 )
0410 IF INT ( X2 ) < X2 THEN LET X2 = INT ( X2 + 1 )
0420 IF INT ( Y2 ) < Y2 THEN LET Y2 = INT ( Y2 + 1 )
0430 LET XSTEP = 770 / ( X2 - X1 ) YSTEP = 770 / ( Y2 - Y1 )
0440 LET XAKS = - YSTEP * Y1 + 4 YAKS = - XSTEP * X1 + 125
0450 PRINT "<27>AE"
0460 PRINT "<27><12>"
0470 DELAY = 1
0480 LET A1 = 125 A2 = XAKS A3 = 895 A4 = A2 C1 = - 5 C2 = 3 C3 = C1 C4 = - 3 C5 = 8 C6 = 0
0490 LET S = XSTEP Y = XAKS + 4 START = ( X2 - X1 ) * XSTEP + 125 SLUT = 125
0500 EXEC KOORD
0510 LET A1 = YAKS A2 = 4 A3 = A1 A4 = 774 C1 = 3 C2 = - 5 C3 = - 3 C4 = C2 C5 = 0 C6 = 8
0520 LET S = YSTEP X = YAKS + 4 START = ( Y2 - Y1 ) * YSTEP + 4 SLUT = 4
0530 EXEC KOORD
0540 LET A1 = 520
0550 IF YAKS > 510 THEN LET A1 = 120
0560 CALL "GRAPH" , A1 , 760
0570 CALL "ALPHA"
0580 PRINT "Y=" ; GEM$
0590 ON ERR THEN EXEC ERR2
0600 LET S = ( X2 - X1 ) / 1000 VEC = 0
0610 CALL "GRAPH" , 125 , FNY ( X1 ) * YSTEP + XAKS
0620 FOR T = X1 TO X2 STEP S
0630 LET X = T * XSTEP + YAKS Y = FNY ( T ) * YSTEP + XAKS
0640 IF Y < 4 OR Y > 774 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 , 100
0720 PRINT "<27>AF"
0730 CALL "ALPHA"
0740 REPEAT
0750 PRINT "<29>" ;
0760 EXEC CROSS
0770 LET XKOR = ( X - 125 ) * ( X2 - X1 ) / 770 + X1 YKOR = ( Y - 4 ) * ( Y2 - Y1 ) / 770 + Y1
0780 PRINT "<31>" ;
0790 PAGE = 72
0800 PRINT "(" ; XKOR ; "," ; YKOR ; ")"
0810 UNTIL 0
0820 PROC CROSS
0830 DIM G$ ( 5 )
0840 ON ERR THEN GOTO 0840
0850 INPUT "<27><26>" , G$ ;
0860 IF LEN ( G$ ) = 0 THEN
0870 PRINT "<31>"
0880 END «nul»
0890 ENDIF
0900 LET X = ( ORD ( G$ ( 2 ) ) - 33 ) * 32 + ORD ( G$ ( 3 ) )
0910 LET Y = ( ORD ( G$ ( 4 ) ) - 33 ) * 32 + ORD ( G$ ( 5 ) )
0920 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 - S 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
1070 PROC ERR2
1080 ON ERR THEN EXEC ERR2
1090 LET VEC = 0
1100 ENDPROC
1110 PROC INFO
1120 PRINT
1130 PRINT "JEG SKAL LIGE FINDE PAA NOGET !!??"
1140 ENTER "PLOIN"
1150 EXEC PLOIN
1160 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 = 0x01e5
FNZ definition = 0xffff
FN[ definition = 0xffff
FN\ definition = 0xffff
FN] definition = 0xffff
GOSUB-RETURN stack pointer = 0x0000
stack[0] = 0x03d8
stack[1] = 0x032f
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
FOR-NEXT stack pointer = 0x0000
Var# = 0x03cd
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# = 0x009c
Loop Top = 0x03a1
To Val = 4 (0x41400000)
Step Val = 0.008 (0x3f20c49c)
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 0xffff 0x02 GEM$
0x82 0xffff 0x00 X1
0x83 0xffff 0x00 X2
0x84 0xffff 0x00 Y1
0x85 0xffff 0x00 Y2
0x86 0xffff 0x00 XSTEP
0x87 0xffff 0x00 YSTEP
0x88 0xffff 0x00 XAKS
0x89 0xffff 0x00 YAKS
0x8a 0xffff 0x00 A1
0x8b 0xffff 0x00 A2
0x8c 0xffff 0x00 A3
0x8d 0xffff 0x00 A4
0x8e 0xffff 0x00 C1
0x8f 0xffff 0x00 C2
0x90 0xffff 0x00 C3
0x91 0xffff 0x00 C4
0x92 0xffff 0x00 C5
0x93 0xffff 0x00 C6
0x94 0xffff 0x00 S
0x95 0xffff 0x00 Y
0x96 0xffff 0x00 START
0x97 0xffff 0x00 SLUT
0x98 0xffff 0x00 KOORD
0x99 0xffff 0x00 X
0x9a 0xffff 0x00 ERR2
0x9b 0xffff 0x00 VEC
0x9c 0xffff 0x00 T
0x9d 0xffff 0x00 CROSS
0x9e 0xffff 0x02 G$
0x9f 0xffff 0x00 XKOR
0xa0 0xffff 0x00 YKOR
0xa1 0xffff 0x00 LIST200
0xa2 0xffff 0x00 INFO
0xa3 0xffff 0x00 PLOIN
.magic = 0x4e32 .u_pas = 0x0504 // Length of UPAS in words .u_das = 0x011c // Length of UDAS in words .u_dvs = 0x011c // Start på savede variabel indhold (word adr) .u_nds = 0x007b // 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 = 0x000a // 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)