SHard-Spezifische 'control'-Funktionen (V2.7, AT-SHard) Kanal 32: control (-3, x, mcr*256+kanal, r) : Modem-Control-Register setzen mcr: Bit 0: DTR Bit 1: RTS Bit 2: OUT1 Bit 3: OUT2 (Interrupt enable) muss 1 sein Bit 4: Diagnostic-Mode (muss 0 sein) Bit 5: - Bit 6: - Bit 7: - control (-5, x, x, r) : Anforderung nach 'shutup' Systemreset. blockin (clock, -4, x, r) : HW-Clock auslesen clock (1) = jahrhundert clock (2) = jahr clock (3) = monat clock (4) = tag clock (5) = stunden clock (6) = minuten clock (7) = sekunden Kanal 2..13 (sofern vorhanden) : control (-3, x, x, r) : 8250 Linestatusregister/Modemstatusregister lesen Bit 1: 1 = Receiver overrun detected 2: 1 = Parity Error detected 3: 1 = Framing Error detected 4: 1 = Break Interrupt Detected Bit 8..15 nicht im Standard-SHard (Bit 8: 1 = CTS changed 9: 1 = DSR changed 10: 1 = RI changed to inactive 11: 1 = DCD changed 12: CTS input 13: DSR input 14: RI input 15: DCD input) control (-4, x, x, r) ; r = Anzahl Eingabezeichen, seit letzter Abfrage control (-5, x, x, r) ; r = Anzahl Ausgabezeichen, seit letzter Abfrage control (-6, x, x, r) ; Break senden control (-10, x, x, r) ; DTR+RTS inactive setzen (stop!) control (-11, x, x, r) ; DTR+RTS active setzen (weiter) Kanal 14..16 (falls vorhanden): control (-3, x, x, r) ; Printeroutput nicht mehr ueber SHard sondern BIOS control (-4, 256 * retry + wartezeit, x, r) ; Setzt fuer langsame Drucker retrys und Wartezeit zwischen den Zeichen. Kanal 1 : control (-3, attribut, x, r) ; Textattribut fuer Bildschirmausgaben setzen control (-4, x, palette, r) ; Colorpalette fuer Farbkarte setzen. control (-5, 256 * karte + mode, x, r) ; Videomodus einschalten karte: 1 = tecmar(mode=0..5), 2 = hercules (mode=0) karte: 0 = Bios (mode=0, 7, 8=graphik) control (-6, xpos, ypos, r) ; Draw line to (xpos, ypos) control (-7, xpos, ypos, r) ; Move to (xpos, ypos) control (-8, maske, linetype, r) ; Set pen control (-9, p1, p2, r) ; Set color pen 1 control (-10, p1, p2, r) ; Set color pen 2 control (-11, new mask count, mode, old mask count) ; Set Mask Mode mode = 0 : Kein Mask mode mode = 1 : Mask Mode einschalten. Kanal 28, 29 (Harddisk): control (-10, x, x, r) : r = Anzahl Cylinder-1 (Gesamte Platte) control (-11, x, x, r) : r = Anzahl Sektoren control (-12, x, x, r) : r = Anzahl Heads Kanal 30, 31 (Floppy) : -