DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

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

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦022da663d⟧ TextFile

    Length: 3968 (0xf80)
    Types: TextFile
    Names: »GRAFIKA.TXT«

Derivation

└─⟦0d02879d3⟧ Bits:30004605 COMPAS Pascal version 3.03
    └─ ⟦this⟧ »GRAFIKA.TXT« 

TextFile

Grafikpakke til Butler under Metanic COMAL-80.
---------------------------------------------

Der er fremstillet nogle grafikrutiner, der kan bruges under Metanic
COMAL-80 på en Butler. De ligger som extensions, og indeholder linie- og
punkt-tegningsrutiner. For at kunne bruge dem, skal filen 'GRAFIKA.EXT'
være kopieret over på den diskette, hvorfra COMAL-80 startes.
Grafikrutinerne kan tilkobles COMAL-80 på 2 måder:

Enten i opstartsfilen 'COMAL80I.NIT', for eksempel således:

0010 // Y
0020 // EXTENSION GRAFIKA

Eller når COMAL-80 er startet op, ved at skrive:

EXTENSION GRAFIKA

Kommer fejlmeldingen 'fejl 220 - Filen findes ikke', er det fordi
filen 'GRAFIKA.EXT' ikke findes på disketten. Dette afhjælpes ved at
kopiere filen 'GRAFIKA.EXT' over på disketten og starte forfra.

Fås fejlen 'Ikke nu' er det fordi, der ligger et program i
arbejdslageret. Gem det eventuelt på disketten, skriv NEW og skriv så
igen 'EXTENSION GRAFIKA'.

Skærmen, hvorpå der tegnes, er 640 punkter bred og 240 punkter høj.
Skærmen starter i nederste venstre hjørne, der har koordinatsættet
(0,0). Dette svarer nøje til 1. kvadrant i et normalt koordinatssystem.
Øverste højre hjørne har koordinatsættet (639,239). X kommer før Y. 
Bruges punkter større end disse værdier, ignoreres disse. Bruges
punkter mindre end (0,0), bliver punkterne automatisk sat til (0,0).



Grafikpakken indeholder følgende rutiner:

  PLOT    Syntaks: 0010 PLOT 100,200
          Herved tændes prikken i (100,200).

  UNPLOT  Syntaks: 0020 UNPLOT 123,201
          Herved slukkes en eventuelt tændt prik i (123,201).

  MOVETO  Syntaks: 0030 MOVETO 20,50
          Herved sættes startpunktet for næste linie til (20,50).

  MOVE    Syntaks: 0040 MOVE 10,30
          Herved sættes startpunktet for næste linie, til det forrige
          startpunkt plus (10,30).   
  
  DRAWTO  Syntaks: 0050 DRAWTO 100,50
          Herved tegnes en linie fra det nuværende startpunkt til
          koordinatpunktet (100,50).

  DRAW    Syntaks: 0060 DRAW 23,12
          Herved tegnes en linie fra det nuværende startpunkt til
          startpunktet plus (23,12).

  SETMASK Syntaks: 0060 SETMASK 255
          Herved vil alle linier fremover blive tegnet fuldt optrukne.
          Det, der sættes med denne ordre er i virkeligheden et
          bitmønster, og således vil: 

                          0070 SETMASK 85

          bevirke, at der fremover tegnes halvoptrukne linier. Tallet 85
          svarer bitmæssigt til: 01010101.



Grafikpakkens sætninger kan både benyttes som kommandoer og
instruktioner i COMAL-80.


Når grafikpakken kobles til COMAL-80 med 'EXTENSION GRAFIKA' sætningen,
udføres der automatisk en 'MOVETO 0,0' samt en 'SETMASK 255'.
Har man lavet et program, der bruger nogle af disse COMAL-80 grafik
instruktioner, og man så gemmer programmet ved hjælp af save, skal man
huske at sørge for, næste gang man ønsker at bruge programmet,
at koble extensionen GRAFIKA til, før programmet loades. Dette skal dog
ikke gøres, hvis der allerede er udført en 'EXTENSION GRAFIKA' sætning
- enten af COMAL80I.NIT eller af brugeren.
Hvis extensionen GRAFIKA allerede er indlæst, fås fejlmeldingen:
'Allerede eksisterende extension - XXX'. Her fortsætter man blot, uden
at foretage sig noget, idet GRAFIKA så allerede er koblet på COMAL-80. 

Nedenfor følger et lille eksempel, der kan tastes ind:

  0010 SETMASK 85 // Sætter masken til halvtoptrukne linier
  0020 MOVETO 0, 0 // Sætter startpunkt til (0,0)
  0030 DRAWTO 639, 239 // Tegner en diagonal
  0040 MOVETO 0, 239 // 
  0050 DRAWTO 639, 0 // Tegner en diagonal
  0060 MOVETO 639/2, 0 
  0070 DRAW 0, 239 // Tegner en lodret linie
  0080 END

Grafikrutinerne i GRAFIKA er udarbejdet af:
Projekt EDB i undervisningen, Ribe amt.
«eof»