PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:diy:progtools:tablesdatas

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:diy:progtools:tablesdatas [09/04/2009 12:04] 8088software:diy:progtools:tablesdatas [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 73: Zeile 73:
 |062|>|094|ˆ|126|~|158|ћ|190|╛|222|▐|254|■| |062|>|094|ˆ|126|~|158|ћ|190|╛|222|▐|254|■|
 |063|?|095|_|127|⌂|159|ƒ|191|┐|223|▀|255|   | |063|?|095|_|127|⌂|159|ƒ|191|┐|223|▀|255|   |
 +
  
  
 ===== Tastatur Scancodes ===== ===== Tastatur Scancodes =====
 +Der Porfolio besitzt keinen Tastatur-Controller wie der IBM-PC und keine intelligente Tastatur. Seine 63 Tasten werden über eine 16x16-Matrix abgefragt, deren letztes Ergebnis an Port 8000h der CPU anliegt. Zusätzlich stellt das BIOS die üblichen Tastatur Scancodes zur Verfügung, die auch von Portfolio´s Zeileneditor verwendet werden. Die Tastatur kann Hardwareseitig über den Port 08000h, oder Softwareseitig über den BIOS-Interrupt 16h (Portfolio´s GetKey-Funktion) abgefragt werden.\\
 +
 Dies sind die vom BIOS generierten Scan-Codes für die deutsche Tastaturbelegung. Wenn eine Taste oder Tastenkombination gedrückt wird, so wird der jeweils folgende Scan-Code zurückgegeben. Dies sind die vom BIOS generierten Scan-Codes für die deutsche Tastaturbelegung. Wenn eine Taste oder Tastenkombination gedrückt wird, so wird der jeweils folgende Scan-Code zurückgegeben.
  
Zeile 148: Zeile 151:
 |<key>Atari</key>|00  59|<key>Shift</key>+<key>Atari</key>|00  59|<key>Alt</key>+<key>Atari</key>| 00  59|<key>Ctrl</key>+<key>Atari</key>|00  59| |<key>Atari</key>|00  59|<key>Shift</key>+<key>Atari</key>|00  59|<key>Alt</key>+<key>Atari</key>| 00  59|<key>Ctrl</key>+<key>Atari</key>|00  59|
  
-Ist der Wert des Key-Codes 0 so handelt es sich um einen erweiterten Key-Code. Dieser ist zweistellig, so muß er ein weiteres mal ausgelesen werden.+Ist der Wert des Key-Codes 0 so handelt es sich um einen erweiterten Key-Code. Dieser ist zweistellig, so muß er ein weiteres mal ausgelesen werden.\\ 
 +\\ 
 +*Dieser Scan-Code kann seltsames Verhalten der Software verursachen.\\ 
 +\\ 
 +Einen direkten Zugang zur Tastatur bietet der Port 08000h. Jede der 63 Tasten des Portfolio besitzt einen eindeutigen “Make Code”, der beim Niederdrücken an der Portadresse 8000h erscheint. Beim Loslassen einer Taste geschieht dasselbe mit ihrem “Break Code”, der stets um 128 größer ist als der Make Code. Somit lässt sich jederzeit feststellen, welche Taste zuletzt niedergedrückt oder losgelassen wurde.\\
  
-*Dieser Scan-Code kann seltsames Verhalten der Software verursachen. +^   Taste  ^Make Code^  Taste ^Make Code^ 
- +|      ,     38    |    A     62    | 
-Der Porfolio besitzt keinen Tastatur-Controller wie der IBM-PC und keine intelligente TastaturSeine 63 Tasten werden über eine 16x16-Matrix abgefragt, deren letztes Ergebnis an Port 8000h der CPU anliegt. Die hier lesbaren "echten" Scancodes unterscheiden sich komplett von den oben angegebenen Werten! Der Abschnitt +|        |   26    |    B     58    | 
-[[software:diy:assembler:kkurs#gruesse_von_der_atari-taste]] enthält eine entsprechende Tabelle.+|        |   52    |    C     56    | 
 +|      /     61    |    D      5    | 
 +|      0     24    |    E     19    | 
 +|      1      2    |    F     40    | 
 +|      2      3    |    K     47    | 
 +|      3      4    |    G     35    | 
 +|      4     34    |    H     41    | 
 +|      5      6    |    I     25    | 
 +|      6      7    |    J     42    | 
 +|      7     13    |    K     47    | 
 +|      8     46    |    L     39    | 
 +|      9     15    |    M     60    | 
 +|      ;     51    |    N     59    | 
 +|      =     53    |    O     12    | 
 +|  links     43    |    P     33    | 
 +|  rechts  |   44    |    Q     10    | 
 +|  oben      29    |    R     20    | 
 +|  unten     37    |    S     32    | 
 +|  lShift  |   27    |    T     21    | 
 +|  rShift  |   36    |    U     11    | 
 +|   Fn       54    |    V     57    | 
 +|   Esc    |   63    |    W     17    | 
 +|  Enter     22    |    X     55    | 
 +|  Space     50    |   Z/ |   23    | 
 +|     Ä    |   30    |   Y/ |   49    | 
 +|     Ü    |   28    |   Alt  |    9    | 
 +|   \ / <  |   48    |  Atari |    0    | 
 +|   + / ]  |   31    |    BS  |   14    | 
 +|   Caps     45    |  Ctrl  |   18    | 
 +|   Del    |    8    |                 || 
 +\\ 
 +siehe [[software:diy:assembler:kkurs#gruesse_von_der_atari-taste]] 
 +\\
  
 ===== Port-Adressen ===== ===== Port-Adressen =====
 Ports sind Speicheradressen in denen das BIOS wichtige Daten für die Kommunikation mit den Schnittstellen ablegt. Eine Liste aller bekannten Port-Adressen des Portfolio:  Ports sind Speicheradressen in denen das BIOS wichtige Daten für die Kommunikation mit den Schnittstellen ablegt. Eine Liste aller bekannten Port-Adressen des Portfolio: 
-^^Adresse^Länge^Inhalt+^^Adresse^Beschreibung
-|8000|  1|Tastatur: Scan-Code (Controller)| +|8000|Tastatur: Scan-Code (Controller)| 
-|8010|  1|Datenregister des LCD-Controllers| +|8010|Datenregister des LCD-Controllers| 
-|8011|  1|Befehlsregister des LCD-Controllers| +|8011|Befehlsregister des LCD-Controllers| 
-|8020|  1|Daten-Register des Soundchips| +|8020|Daten-Register des Soundchips| 
-|8030|  1|Power-Management| +|8030|Power-Management| 
-|8040|  1|Zähler| +|8040|Zähler| 
-|8051|  1|Batterie-Status (C2h=ok, 82h=leer)       | +|8051|Batterie-Status (C2h=ok, 82h=leer)       | 
-|8060|  1|Kontrastwert des Bildschirms| +|8060|Kontrastwert des Bildschirms| 
-|8070|  1|RX/TX der seriellen Schnittstelle| +|8070|RX/TX der seriellen Schnittstelle| 
-|8071|  1|Interrupt enable der seriellen Schnittstelle| +|8071|Interrupt enable der seriellen Schnittstelle| 
-|8072|  1|Interrupt identity der seriellen Schnittstelle| +|8072|Interrupt identity der seriellen Schnittstelle| 
-|8073|  1|Line control der seriellen Schnittstelle| +|8073|Line control der seriellen Schnittstelle| 
-|8074|  1|MODEM control der seriellen Schnittstelle| +|8074|MODEM control der seriellen Schnittstelle| 
-|8075|  1|Line status der seriellen Schnittstelle| +|8075|Line status der seriellen Schnittstelle| 
-|8076|  1|MODEM status der seriellen Schnittstelle| +|8076|MODEM status der seriellen Schnittstelle| 
-|8077|  1|Scratch-Register der seriellen Schnittstelle| +|8077|Scratch-Register der seriellen Schnittstelle| 
-|8078|  1|Port A der parallelen schnittstelle| +|8078|Port A der parallelen schnittstelle| 
-|8079|  1|Port B der parallelen schnittstelle| +|8079|Port B der parallelen schnittstelle| 
-|807A|  1|Port C der parallelen Schnittstelle| +|807A|Port C der parallelen Schnittstelle| 
-|807B|  1|Kontroll-Register der parallelen Schnittstelle| +|807B|Kontroll-Register der parallelen Schnittstelle| 
-|807C|  1|ROM-Extension enable| +|807C|ROM-Extension enable| 
-|8080|  1|Peripheral ID|+|8080|Peripheral ID|
 \\ \\
 \\ \\
- 
- 
- 
  
 ===== Peripheral IDs ===== ===== Peripheral IDs =====
Zeile 334: Zeile 370:
 \\ \\
 \\ \\
 +
 +
 +===== Die Parallel-Ports =====
 +Vier Ports dienen der Kommunikation mit dem UART 82C55, wie er in Portfolio´s intelligenter parallelen Schnittstelle verbaut ist. Er besitzt ein Kontrollregister (Port 807B) und 3 I/O Ports (8078, 8079 und 807A), die sich individuell als Ein- oder Ausgang konfigurieren lassen, Port C sogar separat für das höhere und niedere Nibble. Das Kontrollregister (807B) bestimmt wie die einzelnen Ports geschaltet sind.\\
 +
 +^^  Kontrollregister Port 807B  ^^^^^^
 +^^  Wert  ^^  Ports  ^^^^
 +^^Hex^Dezimal^Port A^Port B^Port C (lo)^Port C (hi)^
 +|0080|  128  |  OUT  |  OUT  |  OUT  |  OUT  |
 +|0081|  129  |  OUT  |  OUT  |  IN  |  OUT  |
 +|0082|  130  |  OUT  |  IN  |  OUT  |  OUT  |
 +|0083|  131  |  OUT  |  IN  |  IN  |  OUT  |
 +|0088|  137  |  OUT  |  OUT  |  OUT  |  IN  |
 +|0089|  138  |  OUT  |  OUT  |  IN  |  IN  |
 +|008A|  139  |  OUT  |  IN  |  OUT  |  IN  |
 +|008B|  140  |  OUT  |  IN  |  IN  |  IN  |
 +|0090|  144  |  IN  |  OUT  |  OUT  |  OUT  |
 +|0091|  145  |  IN  |  OUT  |  IN  |  OUT  |
 +|0092|  146  |  IN  |  IN  |  OUT  |  OUT  |
 +|0093|  147  |  IN  |  IN  |  IN  |  OUT  |
 +|0098|  152  |  IN  |  OUT  |  OUT  |  IN  |
 +|0099|  153  |  IN  |  OUT  |  IN  |  IN  |
 +|009A|  154  |  IN  |  IN  |  OUT  |  IN  |
 +|009B|  155  |  IN  |  IN  |  IN  |  IN  |
 +\\
 +Portfolio´s intelligente parallele Schnittstelle verwendet nur 17 der 24 möglichen Bits.\\
 +-Port A (8078) verfügt über alle acht Bits (0..7)\\
 +-Port B (8079) führt nur die unteren 4 Bits (0..3) heraus\\
 +-Port C (807C) führt 5 Bits (0,1, und 3..5) heraus\\
 +Im Normalzustand (Drucker) enthält das Kontrollregister den Wert 138 (089h), Port A und B auf Ausgang (Daten und Steuerung) und Port C auf Eingang (Acknowledge, Busy, Fehler...)\\
 +\\
 +^^ ^  Port A  ^^  Port B  ^^  Port C  ^^
 +^^Bit^Pin^Signal^Pin^Signal^Pin^Signal^
 +^  0  |  2  |  DATA0  |  1  |  Strobe  |  12  |  Paper  |
 +^  1  |  3  |  DATA1  |  14  |  Autofeed  |  13  |  Select  |
 +^  2  |  4  |  DATA2  |  16  |  Init/Reset  |  -  |  -  |
 +^  3  |  5  |  DATA3  |  17  |  Select In  |  15  |  Error  |
 +^  4  |  6  |  DATA4  |  -  |  -  |  11  |  Busy  |
 +^  5  |  7  |  DATA5  |  -  |  -  |  10  |  Acknowledge  |
 +^  6  |  8  |  DATA6  |  -  |  -  |  -  |  -  |
 +^  7  |  9  |  DATA7  |  -  |  -  |  -  |  -  |
 +\\
 +Die Einschränkung auf 17 Bits ist Hardware-bedingt, Portfolio´s intelligente parallele Schnittstelle führt nicht alle Leitungen des 82C55 heraus. Softwareseitig werden alle 24 (3x8) Bits geschaltet. Eine Erweiterung der Schnittstelle, oder der Bau einer eigenen ermöglicht den Betrieb als 24-Bit I/O (3x8 oder 2x8+2x4).\\
 +\\
 +\\
 +
 +
  
 ===== Melody-Codes ===== ===== Melody-Codes =====
software/diy/progtools/tablesdatas.1239271573.txt.gz · Zuletzt geändert: 16/02/2024 17:02 (Externe Bearbeitung)