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

⟦81067f02a⟧

    Length: 3008 (0xbc0)
    Notes: Mikados TextFile, Mikados_K
    Names: »PNKOSYS«

Derivation

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

Text

2040 PROC KOSYS(XI,XX,YI,YX,XC,YC,X0,Y0,XTP,YTP,AK,XTX,YTX)
2050 REM ******************************************************
2060 REM *KOSYS FORETAGER EN AUTOSKALERING OG EN AUTONULPUNKTS*
2070 REM *BESTEMMELSE, HVIS XC OG/ELLER YC ER MINDRE END ELLER*
2080 REM *LIG MED NUL. SKALERINGEN XC,YC BESTEMMES DA AF XI,XX*
2090 REM *OG YI,YX. ELLERS ANVENDES DE UDEFRA ANGIVNE SKALE-  *
2100 REM *RINGER XC,YC OG DE UDEFRA ANGIVNE NULPUNKTER XØ,YØ. *
2110 REM *DESUDEN VIL KOORD, HVIS AK ER LIG MED EEN, UDTEGNE  *
2120 REM *KOORDINATAKSERNE, SÆTTE TEKSTERNE XTX OG YTX PÅ     *
2130 REM *AKSERNE OG ENDELIG UDSKRIVE EN SKALA, SOM VIL VÆRE  *
2140 REM *LINIÆR, HVIS XTP(YTP) ER LIG "LIN" OG EKSPONENTIAL, *
2150 REM *HVIS XTP(YTP) ER FORSKELLIG FRA "LIN".              *
2160 REM ******************************************************
2170 PROC XYDBST(XYC,XYD)
2180 XYD=INT(200/XYC)
2190 IF 200<=XYC AND XYC<400 THEN XYD=0.5
2200 IF 400<=XYC AND XYC<1800 THEN XYD=0.25
2210 IF 1800<=XYC THEN XYD=0.1
2220 ENDPROC ;XYDBST.
2230 SL=3500;SB=2300
2240 IF XC<=0 OR YC<=0 THEN 
2250 XC,YC=INT(SB/(YX-YI))
2260 IF XC=>SL/(XX-XI) THEN XC,YC=INT(SL/(XX-XI))
2270 XO=-XI*XC;YO=-YI*YC;XF=-20;YF=90
2280 IF 0<=XO AND XO<=SL THEN 
2290 XPO=XO
2300 ELSE 
2310 IF XO<0 THEN 
2320 XPO=0
2330 ELSE 
2340 XPO=SL
2350 ENDIF 
2360 ENDIF 
2370 IF 0<=YO AND YO<=SB THEN 
2380 YPO=YO
2390 ELSE 
2400 IF YO<0 THEN 
2410 YPO=0
2420 ELSE 
2430 YPO=SB
2440 ENDIF 
2450 ENDIF 
2460 ELSE 
2470 XC=XC*10;YC=YC*10;XPO,XO=X0*10;YPO,YO=Y0*10;XF=-420;YF=-160
2480 ENDIF 
2490 IF AK=1 THEN 
2500 EXEC FLYTABS((XPO+XF),(YPO+YF))
2510 EXEC NULPKT
2520 EXEC XYDBST(XC,XD)
2530 EXEC AKSE(0,1,XC,XD,XI,XX,XTP$,XTX$)
2540 EXEC XYDBST(YC,YD)
2550 EXEC AKSE(90,1,YC,YD,YI,YX,YTP$,YTX$)
2560 ENDIF 
2570 X0=XO-XPO;Y0=YO-YPO
2580 ENDPROC ;KOSYS.