summaryrefslogtreecommitdiff
path: root/system/shard-x86-at/7/doc/CONTROLS.ELA
blob: 1ea49788c0ae6e19efece9391699bb2113145325 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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) :
  -