DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦8e0e54e57⟧

    Length: 7584 (0x1da0)
    Notes: Mikados TextFile, Mikados_K
    Names: »DEMO1«

Derivation

└─⟦cb138137f⟧ Bits:30005281 Grafikpakke til COMAL & DMP-7
    └─ ⟦this⟧ »DEMO1« 

Text

0100 REM ***************************************************
0110 REM *PROCEDURERNE I DENNE FIL ER DE NØDVENDIGE GRUND- *
0120 REM *ELEMENTER TIL STYRING AF PLOTTEREN, OG ER DEFOR  *
0130 REM *DIREKTE AFHÆNGIG AF DEN ANVENDTE PLOTTER.        *
0140 REM *PROCEDURERNE HER KAN KUN ANVENDES TIL STYRING AF *
0150 REM *                                                 *
0160 REM *                     HI PLØT                     *
0170 REM *MODEL        DMP-3,DMP-4,DMP-6,DMP-7             *
0180 REM *FRA            HOUSTON INSTRUMENT                *
0190 REM *                                                 *
0200 REM *DDE                                          1982*
0210 REM ***************************************************
0220 REM LIN ANVENDES I PROCEDUREN LINKRV.
0230 REM XT,YT ANVENDES I PROCEDUREN LOGKRV.
0240 DIM LIN$(3),XT$(3),YT$(3)
0250 REM ROU AFRUNDER ET REELT TAL TIL HELTAL
0260 REM OG ANVENDES I PROCEDURERNE STIPREL OG AKSE.
0270 DEF ROU(Z)=INT(Z+0.5)
0280 PI=3.1415926
0290 PROC PLOTINIT
0300 REM ÅBNER PLOTTEREN OG LØFTER PENNEN,
0310 REM FLYTTER PENNEN TIL (0,0) = HOME.
0320 PRINT "I;: I;: U H"
0330 ENDPROC ;PLOTINIT.
0340 PROC PLOTSLUT
0350 REM AFBRYDER PLOTTEREN.
0360 PRINT "@"
0370 ENDPROC ;PLOTSLUT.
0380 PROC PLOTTEST
0390 REM KØRER PLOTTERENS SELVTEST PROGRAM.
0400 PRINT "T"
0410 ENDPROC ;PLOTTEST.
0420 PROC NULPKT
0430 REM FASTSÆTTER NULPUNKTET.
0440 PRINT "O"
0450 ENDPROC ;NULPKT.
0460 PROC PENNED
0470 REM SÆTTER PENNEN NED PÅ PAPIRET.
0480 PRINT "D"
0490 ENDPROC ;PENNED.
0500 PROC PENOP
0510 REM HÆVER PENNEN OP FRA PAPIRET.
0520 PRINT "U"
0530 ENDPROC ;PENOP.
0540 PROC FLYTABS(X,Y)
0550 REM FLYTTER PENNEN ABSOLUT TIL KOORDINATERNE (X,Y).
0560 X=INT(X);Y=INT(Y)
0570 PRINT "U A";X;",";Y
0580 ENDPROC ;FLYTABS.
0590 PROC TEGNABS(LINTYP,X,Y)
0600 REM TEGNER LINIE ABSOLUT TIL KOORDINATERNE (X,Y)
0610 REM MED DEN ANGIVNE LINIETYPE.
0620 X=INT(X);Y=INT(Y)
0630 PRINT "D A L"+CHR(48+LINTYP);X;",";Y
0640 ENDPROC ;TEGNABS.
0650 PROC FLYTREL(X,Y)
0660 REM FLYTTER PENNEN RELATIVT TIL KOORDINATERNE (X,Y).
0670 X=INT(X);Y=INT(Y)
0680 PRINT "U R";X;",";Y
0690 ENDPROC ;FLYTREL.
0700 PROC TEGNREL(X,Y)
0710 REM TEGNER LINIE RELATIVT TIL KOORDINATERNE (X,Y).
0720 X=INT(X);Y=INT(Y)
0730 PRINT "D R L0";X;",";Y
0740 ENDPROC ;FLYTREL.
0750 PROC FLYTPOL(VINKEL,LÆNGDE)
0760 REM FLYTTER PENNEN DEN ANGIVNE LÆNGDE OG MED DEN
0770 REM ANFGIVNE VINKEL I FORHOLD TIL VANDRET.
0780 X=INT(LÆNGDE*COS(VINKEL/180*PI))
0790 Y=INT(LÆNGDE*SIN(VINKEL/180*PI))
0800 PRINT "U R";X;",";Y
0810 ENDPROC ;FLYTPOL.
0820 PROC TEGNPOL(VINKEL,LÆNGDE)
0830 REM TEGNER EN LINIE MED DEN ANGIVNE LÆNGDE OG MED
0840 REM DE ANGIVNE VINKEL I FORHOLD TIL VANDRET.
0850 X=INT(LÆNGDE*COS(VINKEL/180*PI))
0860 Y=INT(LÆNGDE*SIN(VINKEL/180*PI))
0870 PRINT "D R";X;",";Y
0880 ENDPROC ;TEGNPOL.
0890 PROC SYMBOL(HØJDE,FIGUR)
0900 REM TEGNER ET AF FIGURERNE:PLUS(0),KORS(1),FIRKANT(2),OTTEKANT(3),
0910 REM TREKANT(4),TIMEGLAS(5), MED EN AF HØJDERNE 0,1,2,3,4,5.
0920 PRINT "M"+CHR(48+HØJDE)+CHR(48+FIGUR)+" U"
0930 ENDPROC ;SYMBOL.
0940 PROC TEKST(VINKEL,HØJDE,TEXT)
0950 REM UDSKRIVER EN TEKST MED DEN ANGIVNE HØJDE
0960 REM OG VINKEL I FORHOLD TIL VANDRET.
0970 V=1+((360-VINKEL) DIV 90) MOD 4
0980 PRINT "S"+CHR(48+V)+CHR(48+HØJDE);" ";TEXT$;"_"
0990 ENDPROC ;TEKST.
1000 PROC TAL(VINKEL,HØJDE,NR)
1010 REM UDSKRIVER ET TAL MED DEN ANGIVNE HØJDE OG VINKEL I
1020 REM FORHOLD TIL VANDRET.
1030 V=1+((360-VINKEL) DIV 90) MOD 4
1040 PRINT "S"+CHR(48+V)+CHR(48+HØJDE);
1050 IF NR<=-1 OR NR=0 OR 1<=NR THEN 
1060 PRINT NR;"_"
1070 ELSE 
1080 PRINT USING " #.## _":NR
1090 ENDIF 
1100 ENDPROC ;TAL.
1110 PROC STIPREL(STREG,MLRUM,XS,YS)
1120 REM ****************************************************
1130 REM *STIPREL TEGNER RELATIVT EN STIPLET LINIE TIL XS,YS*
1140 REM *MED STREGLÆNGDEN STREG OG MELLEMRUMSLÆNGDEN MLRUM.*
1150 REM ****************************************************
1160 PROC ROUF(T,A,R,S)
1170 T=T+S;D=A;A=ROU(T);R=A-D
1180 ENDPROC ;ROUF.
1190 L=SQR(XS**2+YS**2)
1200 XL,YL,XA,YA,XR,YR=0
1210 IF L<>0 AND STREG<>0 THEN 
1220 SX=STREG*XS/L;SY=STREG*YS/L;MX=MLRUM*XS/L;MY=MLRUM*YS/L
1230 EXEC ROUF(XL,XA,XR,SX)
1240 EXEC ROUF(YL,YA,YR,SY)
1250 WHILE SGN(XS-XA)=SGN(XS) AND SGN(YS-YA)=SGN(YS) DO 
1260 EXEC TEGNREL(XR,YR)
1270 EXEC ROUF(XL,XA,XR,MX)
1280 EXEC ROUF(YL,YA,YR,MY)
1290 EXEC FLYTREL(XR,YR)
1300 EXEC ROUF(XL,XA,XR,SX)
1310 EXEC ROUF(YL,YA,YR,SY)
1320 ENDWHILE 
1330 EXEC ROUF(XL,XA,XR,-SX)
1340 EXEC ROUF(YL,YA,YR,-SY)
1350 IF SGN(XS-XA)=SGN(XS) AND SGN(YS-YA)=SGN(YS) THEN 
1360 EXEC TEGNREL((XS-XA),(YS-YA))
1370 ELSE 
1380 EXEC FLYTREL((XS-XA),(YS-YA))
1390 ENDIF 
1400 ELSE 
1410 EXEC FLYTREL(XS,YS)
1420 ENDIF 
1430 ENDPROC ;STIPREL.
1500 DIM NAVN$(20)
1507 OUTPUT P1
1510 EXEC PLOTINIT
1520 NAVN$="DDE PLOTTER DEMO-1"
1530 EXEC FLYTABS(0,2300)
1540 EXEC TEKST(0,4,NAVN$)
1550 EXEC FLYTABS(1000,300)
1560 EXEC NULPKT
1570 EXEC TEGNABS(0,1800,1800)
1580 EXEC FLYTREL(-1800,0)
1590 EXEC TEGNABS(7,1800,0)
1600 EXEC STIPREL(100,50,0,1800)
1610 EXEC STIPREL(10,100,-1800,0)
1620 EXEC TEGNPOL(225,1272.79)
1630 EXEC FLYTPOL(-45,1272.79)
1640 EXEC TEGNREL(-900,900)
1650 EXEC FLYTABS(115,650)
1660 NAVN$="DDE"
1670 EXEC TEKST(90,5,NAVN$)
1680 EXEC FLYTABS(720,1600)
1690 EXEC TEKST(0,4,NAVN$)
1700 EXEC FLYTABS(1600,970)
1710 EXEC TEKST(270,3,NAVN$)
1720 EXEC FLYTABS(935,130)
1730 EXEC TEKST(180,2,NAVN$)
1740 NAVN$="DEMO-1 SLUT"
1750 EXEC FLYTABS(-1000,-300)
1760 EXEC TEKST(0,1,NAVN$)
1770 EXEC PLOTSLUT
1780 STOP