summaryrefslogtreecommitdiff
path: root/system/shard-x86-at/7/doc/CONTROLS.ELA
diff options
context:
space:
mode:
Diffstat (limited to 'system/shard-x86-at/7/doc/CONTROLS.ELA')
-rw-r--r--system/shard-x86-at/7/doc/CONTROLS.ELA76
1 files changed, 76 insertions, 0 deletions
diff --git a/system/shard-x86-at/7/doc/CONTROLS.ELA b/system/shard-x86-at/7/doc/CONTROLS.ELA
new file mode 100644
index 0000000..1ea4978
--- /dev/null
+++ b/system/shard-x86-at/7/doc/CONTROLS.ELA
@@ -0,0 +1,76 @@
+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) :
+ -
+
+
+
+
+
+