Beschreibung der Funktionen aus DEFF3.CRL ----------------------------------------- Dies Bibliothe is fue de KC85/ unte de Betriebssyste KC-MicroDO geschrieben E werde di Funktione au de "Hand buc fue de Programmierer" realisiert Darueberhinau sin noc einig zusaetzlich Routine zu Unterstuetzun de Arbei in Fenstertechnik enthalten. Autoren: Uwe Felgentreu Am Fuerstenberg 46 O-5210 Arnstadt (15. Oktober 1991) Mario Leubner Chemnitztalstrasse 25 09236 Markersdorf (6. Februar 1994) ---------------------------------------------------------------- Grafik-Funktionen: GCLS() Grafikbildschirm (Pixel) loeschen PSET(xx,y) Punkt setzen auf Position xx,y PRES(xx,y) Punkt loeschen auf Position xx,y PTEST(xx,y) Punkt auf Position xx,y testen PA: 1=Punkt gesetzt, 0=nicht gesetzt GFARB(f) Farbe fuer Grafikfunktionen einstellen LINE(xx1,y1,xx2,y2) Linie von Punkt xx1,y1 zu Punkt xx2,y2 CIRCL(xx,y,r) Kreis mit Mittelpunkt xx,y und Radius r Bildschirmgestaltung: LOCATE(x,y) Cursor zu Position x,y WININI(n,x1,y1,x2,y2) Fenster n initialisieren x1=Spaltenbeginn y1=Zeilenbeginn x2=Anzahl Spalten y2=Anzahl Zeilen WINDOW(n) Fenster n aufrufen (n=9..9) INK(f) Vordergrund wechseln BACK(h) Hintergrund wechseln TFARB(f,h) Textfarbe einstellen (f=Vordergrund-, h=Hintergrundfarbe) BSMODE(s) Wechsel Bildschirmmodus (s=40/80) ZSATZ(s) Zeichensatz auswaehlen s=0 -> USA s=1 -> deutsch IBM() IBM-Zeichensatz einstellen PA: -1, wenn ZAS nicht aktiv ist! ASCII() auf ASCII-Zeichensatz zurueckstellen PAGEMOD(s) PAGE-Modus waehlen s=0 -> scroll s=1 -> paging KBDMOD(s) Tastaturmodus waehlen s=0 -> Programmeingabemodus s=1 -> Texteingabemodus CURSOR(s) Cursor schalten s=0 -> Cursor aus s=1 -> Cursor ein INVERS(s) Inversdarstellung schalten s=1 -> Beginn Inversdarstellung s=0 -> Ende Inversdarstellung OLDFARB() PA: aktuellen Farbwert (COLOR) lesen OLDINK() PA: aktuelle Vordergrundfarbe lesen OLDBACK() PA: aktuelle Hintergrundfarbe lesen BEEP() Ausgabe Signalton HOME() Cursor in linke obere Ecke CLS() Bildschirm loeschen CUU() Cursor nach unten CUO() Cursor nach oben CUL() Cursor nach links CUR() Cursor nach rechts Spezielle CAOS-Funktionen: SOUND(t1,v1,t2,v2,l,z Tonausgabe ueber CAOS-UP 35H t1=Tonhoehe Kanal 1 v1=Vorteiler Kanal 1 t2=Tonhoehe Kanal 2 v2=Vorteiler Kanal 2 l=Lautstaerke (0..31) z=Tondauer (0..255, 0=Dauerton) PCEXIT() Rueckkehr zum CAOS CAOSP(n) Aufruf CAOS-UP mit Nummer n (n=0..48H) IRMEB(s) Wechsel IRM-Ebene (s=Steuerbyte) IRMHI() IRM-Aufloesung hoch (16/8 Farbmodus) IRMLO() IRM-Aufloesung niedrig (4 Farben) MSWITCH(m,s) Modul schalten m=Steckplatzadresse, s=Steuerbyte FKEY(n) F-Taste n belegen (n=0..15) READ1(aa) Byte auf Adresse aa im KC lesen PA: int mit gelesenem Byte READN(aa,n Leseforderun fue *256 Byte a KC- Adress aa, die Daten muessen danach blockweis de Puffe a 0FE00H ent- nommen werden. WRITE1(aa,b) Byte b auf Adresse aa im KC schreiben WRITEN(aa,nn) Start der Uebertragung von nn Bytes zum K a Adress aa di n Datenbytes muessen danach z.B. ueber bios(4,b) oder f2esc(b) ausgegeben werden GOSUB(aa) Aufruf eines Unterprogramms im KC mit der Adresse aa USOUT2(b) Ausgabe b ueber CAOS-Userport 2 USOUT3(b) Ausgabe b ueber CAOS-Userport 3 CAOSBS(b) Direktausgabe b als CAOS-Zeichencode ueber CAOS-UP 24H (OCHR) Interne Funktionen aus DEFF3.CRL: F1ESC(xx,y) BIOS-Ausgabe Adresse, Byte F2ESC(f) BIOS-Ausgabe Byte F3ESC(xx1,y1,xx2,y2) BIOS-Ausgabe Wort, Byte Wort, Byte F4ESC(xx,y,r) BIOS-Ausgabe Wort, Byte, Byte F5ESC(n,x1,y1,x2,y2) BIOS-Ausgabe 5 Bytes F6ESC(f,h) BIOS-Ausgabe 2 Bytes F7ESC(xx) BIOS-Ausgebe Adresse FN(n) Aufruf ESCape-Funktion ueber Nummer Fenstertechnik-Unterprogramme: FEN(sa,se,za,ze,v,h) Fenster erzeugen RAHMEN(xa,xe,ya,ye,r) Rahmen zeichnen D_RAHMEN(xa,xe,ya,ye,r) Doppelrahmen zeichnen, der innere Rahmen wird 3, der aeussere 1 Pixel weiter innen gezeichnet FEN_S(sa,se,za,ze,v,h,s) Fenster mit Schatten erzeugen F_RAHMEN(sa,se,za,ze,r) Doppelrahmen in Fenster erzeugen FEN_R(sa,se,za,ze,v,h,r) Fenster mit Doppelrahmen erzeugen FEN_RS(sa,se,za,ze,v,h,r,s) Fenster mit Rahmen und Schatten dabei bedeuten: sa=Spaltenanfang se=Spaltenende za=Zeilenanfang v=Vordergrundfarbe h=Hintergrundfarbe s=Hintergrundfarbe des Schattens xa,xe=Begrenzungen in X-Richtung ya,ye=Begrenzung in Y-Richtung r=Farbe des Rahmens MicroDOS-Funktionen fuer Datum und Uhr: TIMESE() Lesen der Sekunden der Systemuhr TIMEMI() Lesen der Minuten der Systemuhr TIMEST() Lesen des Stunden der Systemuhr TIMESET(st,mi,se) Systemuhr stellen DATETT() Lesen des Tages des Systemdatums DATEMM() Lesen des Monats des Systemdatums DATEJJ() Lesen des Jahres des Systemdatums DATESET(tt,mm,jj) Datum setzen DATE(puffer) Daten aus Bytekoppelpuffer lesen Legende: xx.......X-Koordinate 0...319 (int) y........Y-Koordinate 0...255 ...31 (int) x........X-Koordinate 0...39 (int) f........Farbe 0...15 (int) h........Farbe 0...7 (int) s........Steuerbyte 0...255 (int) n........Nummerbyte 0...255 (int) m........Modulschacht 0...255 (int) b........Byte 0...255 (int) aa.......Adresse 0...2^16-1 (unsigned) nn.......Anzahl 0...2^16-1 (unsigned) r........Radius 0...255 (int) t1,t2....Takt-CTC 0...255 (int) v1,v2....Vorteiler-CTC 0...255 (int) l........Lautstaerke 0...255 (int) z........Tondauer 0...255 (int) jj.......Jahr 0...99 (int) mm.......Monat 0...12 (int) tt.......Tag 0...31 (int) st.......Stunde 0...23 (int) mi.......Minute 0...59 (int) se.......Sekunde 0...59 (int)