DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

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

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦258f18e08⟧ TextFile

    Length: 10496 (0x2900)
    Types: TextFile
    Names: »NYROM.TXT«

Derivation

└─⟦237ddb885⟧ Bits:30004603 COMAL-80 version 2.05
    └─ ⟦this⟧ »NYROM.TXT« 

TextFile

Hermed sendes de nye rommer version 2.02 monteret. Eventuelle fejl meldes
skriftligt til Dansk EDB Teknk. Hvis der er tvivl om funktionen af koderne
eller andet, kan henvendelse ske til Dansk EDB Teknik, Jan Jacobsen,
Tlf. 07 - 22 36 55.
     


Blanke taster:


    .....................................
    .           .           .           .
    .     1     .     2     .     3     .
    .           .           .           .
    .....................................
    .           .           .           .
    .     4     .     5     .     6     .
    .           .           .           .
    .....................................
 

1:  Tryk på denne tast vil sætte karaktersæt 0 til at være
    aktivt. Dette karaktersæt er bestemt ved ESC + g + chr$(n) +
    chr$(n1).

    Tryk på shift og 1, vil sætte karaktersæt 1 til at være
    aktivt. Dette karaktersæt er bestemt ved ESC + g + chr$(n) +
    chr$(n1).

    Standard er karaktersæt 0 og karaktersæt 1 bestemt ved n=0 og
    n1=1.

    Sæt 0 kan også byttes med sæt 1 ved hjælp af ESC X.

2:  Ikke brugt.

3:  Tryk shift og tasten vil give skærmdump til aktiv printer og mode.
    Funktionen er flyttet til shift!!
    Skærmdump ligger også i control og shift G.
    Hvis der er monteret et ram-kort og spooleren er aktiv, vil der gå
    et lille stykke tid inden printeren starter. Dumpet skal først 
    lægges over i spooleren, inden printeren starter.

4:  Tryk på denne tast vil sætte cursor on/off. (bistabil).

    Tryk på shift + tasten vil sætte tastaturbufferen on/off. (bistabil)

5:  Tryk på denne tast vil sætte invers on/off. (bistabil).

6:  Tryk på denne tast vil sætte underline on/off. (bistabil).

    Tryk på shift + tasten vil sætte overline on/off. (bistabil).
\f


ESC koder:

Ændrede koder:

  ESC + g + chr$(n) + chr$(n1)

  n angiver karaktersættet fra 0 til 127,
  og n1 angiver karaktersættet fra 128 til 255.
   
  n og n1 kan være fra 0 til 8 og 11.
  0 til 8 er karaktersæt som ligger i rom på normal vis. 
  Dog er kun de første 96 karakterer i karaktersæt 8. De sidste eksisterer
  ikke.
  
  Karaktersæt 11 er softwaregenereret og giver US-ASCII, specielt
  til PASCAL programmering.



  Karaktersæt 10 er en tegnmatrice opdelt i 8 felter:

    .............
    .  1  .  2  .
    .............
    .  3  .  4  .
    .............
    .  5  .  6  .  
    .............
    .  7  .  8  .
    .............

  Felter er fyldt når bitten svarende til feltet er 1. 
  Efter ""27"g";""0"";""10""; vil første byte omsættes til grafik
  og printes, derefter skiftes tilbage til normal karaktersæt.
  Dette er nødvendigt da man skal bruge alle 256 tegn i semigrafikken.
  Så kan man jo ikke printe en ESC kode for at vende tilbage.
  Virker egentlig kun med 12 sweep pr. karakter, svarende til 20 linier
  pr. skærm. (ESC L + CHR$(12)).


\f


Nye ESC koder:

Karaktersæt:

  ESC + X + byte        Byte skal være 0 eller 1.
                        Hvis 0 vil karaktersæt 0-127 være det som er bestemt
                        ved n, og karaktersæt 128-255 som bestemt ved n1,
                        i ESC g n n1.
                        Hvis 1 er det omvendt. Karaktersættene 0 og 1 kan
                        evt. være ens.   

  Uanset hvilket karaktersæt der er det nederste (0), vil visse af de
  nederste 32 karakterer fungere som koder. F.eks. 13 som return og 10 som
  linefeed. Men hvis karaktersættet bliver det øverste vil alle 128, nemlig
  fra 128 til 255 blive skrevet ud med en karakter.
 
 Tastaturbuffer:

  ESC + V    starter tastaturbuffer. Bufferen er aktiv med 128 byte.
  ESC + v    Stopper tastaturbuffer. Bufferen er ikke aktiv. CP/Ms 1 byte
             buffer er aktiv. 

Grafik:

  ESC + B + word1 + word2  giver  DRAW word1,word2
  ESC + t + word1 + word2  giver  DRAWTO word1,word2
  ESC + N + word1 + word2  giver  MOVE word1,word2
  ESC + n + word1 + word2  giver  MOVETO word1,word2
  ESC + s + byte           giver  SETMASK byte
  ESC + R + byte           giver  PENCOLOR byte  byte=0 giver baggrund 
                                                 byte=1 giver forgrund
                                                 byte=255 giver invert

  ESC + r                  inverterer hele skærmen

  ESC + x + word1 + word2 + word3  giver CIRKEL x , y , r

  ESC + ? + word1 + word2   sætter sand/falsk værdi om pixel er tændt i FFFE 

  Word1 og word2 er hver for sig en dobbeltbyte og adresseres i comal
  som CHR$(x div 256)+CHR$(x mod 256)+CHR$(y div 256)+CHR$(y mod 256)
  hvor word1 er x, og word2 er y.

  
  Radius i CIRKEL må IKKE være negativ.

  Arbejdsarealet ved grafikken er fra -32K til 32K. Hvis det er et negativt
  tal, skal det først gøres positivt inden div og mod. Dette gøres ved at 
  lægge 64K til tallet.
  
  X:+2^16 og Y:+2^16

  Se vedlagte comalprogram.
\f


LYD

  ESC + Q + 14 parametre  hvor hver parameter svarer til indholdet i de 14
  registre.

  ESC + q + p1 + p2       hvor p1 er registeret og p2 er indholdet.

  Under kørsel vil tastaturet ikke mere give et break i lyden.

DUMP til disk

  ESC + $ + 14 parametre   sætter drev og navn på filen til diskdump.

  parameter 1 og 2:     A:   a:      drev a
                        B:   b:      drev b
                        P:   p:      drev p (ramdisk)
                        @:           aktuelt drev (default).

  parameter 3-10:       filnavn

  parameter 11:         skal være et punktum

  parameter 12-14       filnavn extension

  eks:    CHR$(27)+"$"+"A:DUMP    .PIC" eller
          ""27"$A:DUMP    .PIC"

  Alle 14 parametre skal være der.

  Når maskinen starter op vil der være sat en defaultværdi op til diskdump.
  Værdien er: aktivt drev (defaultdrevet) + SKÆRMDMP.PIC


  CALL 8  gemmer et billede på disken.
  CALL 16 henter et billede på disken.
\f


Ram acces:

  ESC + # + byte + word          byte angiver bank og kan antage værdierne
                                 1 til og med 7
                                 Word angiver adresse i rammen og må være 
                                 fra 0 til 56K -1. (0 - 57343 incl.)

  ESC + > + byte                 Lægger en byte ud i rammen på adressen 
                                 bestemt ved ESC #. Efter koden vil adressen
                                 selv tælle 1 op. Det vil sige at man sætter
                                 adressen og kan bare lægge data ud.
  
  ESC + <                        Henter data fra ram i adressen bestemt ved  
                                 ESC #. Adressen tæller selv en op.
                                 Resultatet kan hentes i FFFE.

  Når man bruger en af disse koder vil spooleren og ramdisken blive sat ud
  af funktion, og indholdet være væk.

  ESC + !                        Sætter spooleren tilbage i funktion og re-
                                 setter ramdisk klar til brug.

Spooler:

  ESC + &         Sætter spooleren ud af funktion. Ramdisken fungerer 
                  normalt.
                  Spooleren kan kun sættes igang igen ved at resette maskinen
                  eller ved at bruge ESC !. Herved fjernes også indholdet i
                  ramdisken.

       

Ændringer af adresser:

  Starten på F-tasterne er flyttet til 64171 (FAAB), hvor den var
  63499 (F80B) i version 1.30.

Nye adresser:

  Adressen på rommens nummer er: 65440  E   for enkeltbruger
                                 65441  2
                                 65442  0   for version 2.02
                                 65443  2

  Ramdisk flag:  65463 (FFB7)  :       00  Ramdisk (P:) er aktiv
                                       01  Ramdisk ikke aktiv, men der er
                                           isat et rammodul.
                                       FF  Der er ikke isat et rammodul.
\f


Generelle ændringer:

  Karaktersæt nul har et tegnsæt der ikke har to ens tegn mere.

  Der er lagt ekstra karaktersæt ind fra 1 til 8
  Der er lagt karaktersæt 11 ind til pascal programmering (US-ASCII)
  Der er lagt et semigrafisk karaktersæt ind i 10.

  Skærmen er hurtigere i 80 karakterer og normal skærm.

  Rutiner til RAMdisk er lagt ind. De tester selv om der er en RAMdisk.
  Der er printer spooler på 56 K.

  Rutiner til skærmdump til disk er lagt ind.

  GRAFIKB virker ikke mere og må IKKE bruges.
  Istedet skal GRAFIKC bruges.

  Grafikrutinerne virker ikke i alle tilfælde i COMAL 2.03.
  Disse virker til gengæld i COMAL 2.05.
  COMAL 2.05 virker både på rom 2.02 og på rom 1.30 (1.31).

  Ved tryk på taster under diskacces vil der ikke mere kunne ske
  at CP/M melder BDOS ERR.


Kendte fejl:
   

  De nye ESC koder kan ikke bruges i alle tilfælde i Comal 2.03, da der
  ligger en tabel med antal af parametre efter en ESC kode i comal.
  Denne tabel skal opdateres. (Comal 2.05). Dette betyder at F.eks.
  en chr$(13) ikke slipper gennem comal til rommen, og vil give en fejl
  i udførelsen af en ESC kode.


Dansk EDB Teknik
Jan Jacobsen

\f




Forslag til cml-fil til grafikordrer.

9000 PROC MOVE(X, Y)
9010   EXEC NEG(X,Y)
9020   PRINT ""27"N";CHR$(X DIV 256);CHR$(X MOD 256);
9030   PRINT CHR$(Y DIV 256);CHR$(Y MOD 256);
9040 ENDPROC MOVE
9050 PROC MOVETO(X, Y)
9060   EXEC NEG(X,Y)
9070   PRINT ""27"n";CHR$(X DIV 256);CHR$(X MOD 256);
9080   PRINT CHR$(Y DIV 256);CHR$(Y MOD 256);
9090 ENDPROC MOVETO
9100 PROC DRAW(X, Y)
9110   EXEC NEG(X,Y)
9120   PRINT ""27"B";CHR$(X DIV 256);CHR$(X MOD 256);
9130   PRINT CHR$(Y DIV 256);CHR$(Y MOD 256);
9140 ENDPROC DRAW
9150 PROC DRAWTO(X, Y)
9160   EXEC NEG(X,Y)
9170   PRINT ""27"t";CHR$(X DIV 256);CHR$(X MOD 256);
9180   PRINT CHR$(Y DIV 256);CHR$(Y MOD 256);
9190 ENDPROC DRAWTO
9200 PROC PENCOLOR(P)
9210   IF P=-1 THEN P:=255
9220   PRINT ""27"R";CHR$(P);
9230 ENDPROC PENCOLOR
9240 PROC SETMASK(P)
9250   PRINT ""27"s";CHR$(P);
9260 ENDPROC SETMASK
9270 PROC INVERT
9280   PRINT ""27"r";
9290 ENDPROC INVERT
9300 PROC CIRKEL(X, Y, R)
9310   EXEC NEG(X,Y)
9320   PRINT ""27"x";CHR$(X DIV 256);CHR$(X MOD 256);
9330   PRINT CHR$(Y DIV 256);CHR$(Y MOD 256);
9340   PRINT CHR$(R DIV 256);CHR$(R MOD 256);
9350 ENDPROC CIRKEL
9360 PROC NEG(REF X, REF Y)
9370   IF X<0 THEN X:+2^16
9380   IF Y<0 THEN Y:+2^16
9390 ENDPROC NEG
«eof»