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 [19/09/2007 20:09] – ergänzt. uxtsoftware: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 =====
-Dies sind die Tastatur Scan-Codes für die deutsche Tastaturbelegung. Wenn eine Taste oder Tastenkombination gedrückt wird, so wird der jeweils folgende Scan-Code zurückgegeben.+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.
  
 |<key>a</key> 97|<key>Shift</key>+<key>a</key> 65|<key>Alt</key>+<key>a</key>| 00 30|<key>Ctrl</key>+<key>a</key> 1*| |<key>a</key> 97|<key>Shift</key>+<key>a</key> 65|<key>Alt</key>+<key>a</key>| 00 30|<key>Ctrl</key>+<key>a</key> 1*|
Zeile 147: 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    | 
 +|      -     26    |    B     58    | 
 +|        |   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 217: Zeile 235:
 |.....|reserved| |.....|reserved|
 |063|reserved| |063|reserved|
-|064|ATARIs Beispiel-Peripheral (siehe [[hardware:doku:techrefguide:anhangc|Technical Reference Guide]])|+|064|user peripheral|
 |065|user peripheral| |065|user peripheral|
 |066|[[hardware:3rd:messen:PortaLog]]| |066|[[hardware:3rd:messen:PortaLog]]|
 |067|user peripheral| |067|user peripheral|
 +|.....|user peripheral|
 +|100|ATARIs Beispiel-Erweiterung (siehe [[hardware:doku:techrefguide:anhangc|Technical Reference Guide)]]|
 |.....|user peripheral| |.....|user peripheral|
 |111|user peripheral| |111|user peripheral|
Zeile 226: Zeile 246:
 |113|user peripheral| |113|user peripheral|
 |.....|user peripheral| |.....|user peripheral|
 +|125|[[hardware:3rd:interface:nw800]]|
 +|126|user peripheral|
 |127|IDE oder [[hardware:3rd:interface:Packet-Radio]]| |127|IDE oder [[hardware:3rd:interface:Packet-Radio]]|
 |128|File-transfer interface| |128|File-transfer interface|
Zeile 246: Zeile 268:
 |041C|  2|Zeiger auf Ende des Tastaturpuffers| |041C|  2|Zeiger auf Ende des Tastaturpuffers|
 |1F40|  2|Tastatur:Scan-Code| |1F40|  2|Tastatur:Scan-Code|
 +\\
 +\\
 +\\
  
 +===== Interrupt-Vektor-Tabelle =====
 +Hard- und Software-Interrupts verzweigen (bei Aufruf oder Auftreten) zu den Adressen, die in der Interrupt-Vektor-Tabelle gespeichert sind. Die IVT befindet sich im untersten Adressraum: 0000:0000 bis 0000:03FF. Die Adressen sind in zwei Words  (4 Bytes) im "little endian"-Format gespeichert, d.h. dass die niederwertigen Bytes voran stehen, erst Offset, dann Segment.\\ Durch "umbiegen" (redirect) eines Vektors, kann man die Routinen des Betriebssystems durch andere ersetzen, dies ist wichtig, um das Verhalten des Betriebsystems beinflussen zu können.\\ Ohne dies, würde das Programm UPDATE.COM nicht funktionieren, es umgeht einige Systemfehler, in dem es die entsprechenden Interrupts umleitet, in eine neue (speicherresidente) Routine.\\ Ebenso lässt sich das Betriebsystem "bespitzeln", in dem man die Codes an den entsprechenden Adressen disassembliert (z.B. mit DEBUG.COM).\\
 +\\
 +Hier die IVT eines HPC-004 mit der BIOS-Version 1.072.\\
 +^Int^Beschreibung^Adresse^Vektor|UPDATE.COM|PORTDIV.EXE|ALMBOOST.COM|
 +|00h|Teilung durch Null|  0000|  E000:0EEE| |  03B2:0103| |
 +|01h|Einzelschritt|  0004|  E000:24D7| | | |
 +|02h|NMI (Speicherfehler)|  0008|  E000:1D06| | | |
 +|03h|Breakpoint erreicht|  000C|  E000:24D7| | | |
 +|04h|Numerischer Überlauf|  0010|  E000:24D7| | | |
 +|05h|Hardcopy|  0014|  E000:1F6C| | | |
 +|...|unbelegt ...| | | | | |
 +|08h|Timer|  0020|  E000:2A5B| | | |
 +|09h|Tastatur|  0024|  E000:1545| | | |
 +|...|unbelegt ...| | | | | |
 +|10h|BIOS Video-Funktionen|  0040|  E000:2BF5| | | |
 +|11h|BIOS Konfiguration|  0044|  E000:1DB4| | | |
 +|12h|BIOS Speichergröße|  0048|  E000:1CFA| | | |
 +|13h|BIOS Speicherkarten|  004C|  E000:0B20| | | |
 +|14h|BIOS Serielle Schnittst|  0050|  E000:24DA| | | |
 +|15h|  ???|  0054|  E000:1CCC| | | |
 +|16h|BIOS Tastaturabfrage|  0058|  EB3E:005E| | | |
 +|17h|BIOS Parallele Schnitts|  005C|  E000:1E02| | | |
 +|18h|ROM-BASIC (error)|  0060|  E000:048F| | | |
 +|19h|Neustart (Strg_Alt_Entf)|  0064|  E000:0530| | | |
 +|1Ah|Zeit/Datum Wecker (RTC)|  0068|  E000:0653| | | |
 +|1Bh|Programmabruch|  006C|  FF00:0562| | | |
 +|1Ch|Aufruf nach jedem Int08|  0070|  E000:24D7| | | |
 +|...|unbelegt ...| | | | | |
 +|1Eh|Disk-Parameter-Tabelle|  0078|  0040:01F4| | | |
 +|...|unbelegt| | | | | |
 +|20h|DOS Programm beenden|  0080|  E52D:32E0| | | |
 +|21h|DOS Funktionen|  0084|  E52D:451C|  0366:016E| | |
 +|22h|Adresse DOS Pgmm Ende|  0088|  F25C:026D| | | |
 +|23h|Adresse DOS Strg_Break|  008C|  0294:08BA|  0366:0175| | |
 +|24h|Adresse DOS Fehler|  0090|  0294:08C4| | | |
 +|25h|DOS Speicherkarte lesen|  0094|  E52D:05BF| | | |
 +|26h|DOS Speicherkarte schr.|  0098|  E52D:05C5| | | |
 +|27h|DOS beenden, resident|  009C|  E52D:32FB| | | |
 +|28h|Aufruf bei Tast.-polling|  00A0|  E52D:04BA| | | |
 +|29h|Zeichen Ausgeben|  00A4|  FF00:0555| | | |
 +|2Ah|  ???|  00A8|  E52D:04BA| | | |
 +|...|unbelegt ...| | | | | |
 +|3Fh|unbelegt| | | | | |
 +|...|unbelegt| | | | | |
 +|41h|Disk-Parameter-Tabelle|  0104|  0040:01F4| | | |
 +|...|unbelegt ...| | | | | |
 +|4Ah|Alarmzeit errreicht|  0128|  FF9F:0227|  0366:0167| |  0368:0167|
 +|...|unbelegt ...| | | | | |
 +|5Fh|PORTGR.EXE graphics|  0176|  0000:0000| | | |
 +|...|unbelegt| | | | | |
 +|60h|DIP AES|  0180|  EA0C:07DE| | | |
 +|61h|DIP BIOS|  0184|  E000:32E6|  0366:0111| | |
 +\\
 +Die Tabelle kann von Gerät zu Gerät sehr unterschiedlich aussehen, je nachdem um welche BIOS-Version es sich handelt, und welche Programme gestartet wurden.\\ Wie man sieht, leitet UPDATE.COM vier Interrupts um (21h, 24h, 4Ah und 61h), PORTDIV.EXE, von Centennial Software, fängt den Fehler "Teilung durch Null" ab indem es Int 00h auf eine Routine bei 03B2:0103 umleitet.\\ Um den tatsächlichen Vektor des aktuellen Geräts im aktuellen Zustand zu ermitteln, muss man nur die Tabelle auslesen. Die Tabelle ist 256*4 bytes lang (Int 00h...Int FFh, OFS:SEG) und beginnt bei der Adresse 0000:0000. Siehe Assembler-Programmierung zur Umleiting von Interrupts (Int 09h).\\ Programme, die Vektoren umleiten, sollten immer den ursprünglichen Vektor wiederherstellen können, sobald sie, oder ihr residenter Teil beendet werden.\\
 +\\
 +\\
 +\\
  
 +=====  LCD-Controller HD-61830 =====
 +Der LCD-Controller wird durch Zugriffe auf die I/O-Adressen 8010h und 8011h gesteuert.\\
 +
 +
 +==== Befehlsliste ====
 +Befehle werden durch Angabe der Befehlsnummer im Kontroll-Register (8011h) mit dem im Daten-Register (8010h) angegebenen Wert ausgeführt.\\
 +
 +|  00h|Mode-Byte lesen/setzen  |
 +|  01h|Position des Zeichens  |
 +|  02h|Zeichen pro Zeile  |
 +|  03h|Vertikale Pixel  |
 +|  04h|Cursor-Position  |
 +|  05h|unbekannt/reserviert FIXME  |
 +|  06h|unbekannt/reserviert FIXME  |
 +|  07h|unbekannt/reserviert FIXME  |
 +|  08h|Start-Adresse (LSB) des Bildschirms  |
 +|  09h|Start-Adresse (MSB) des Bildschirms  |
 +|  0Ah|Cursor-Adresse (LSB)  |
 +|  0Bh|Cursor-Adresse (MSB)  |
 +|  0Ch|Refresh schreiben (ASCII oder Bitmap)  |
 +|  0Dh|Refresh lesen  |
 +|  0Eh|Pixel löschen  |
 +|  0Fh|Pixel setzen  |
 +
 +
 +==== Mode-Byte ====
 +Portfolios BIOS schreibt bei jeden Refresh das Mode-Byte neu, Änderungen des Mode-Bytes sind also nur bis zum nächsten Refresh (Tastendruck, Timer-Tick, oder Aus- und Einschalten) wirksam.\\
 +
 +|Bit 0:|Character-ROM int/ext  |
 +|Bit 1:|Bildschirm-Modus   Text/Grafik  |
 +|Bit 2:|Cursor-Modus  ein/aus  |
 +|Bit 3:|Cursor-Modus  statisch/blinkend  |
 +|Bit 4:|Master/Slave  1  |
 +|Bit 5:|Betrieb         ein/aus  |
 +|Bit 6:|null  |
 +|Bit 7:|null  |
 +\\
 +\\
 +\\
 +
 +
 +===== 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 =====
 +Liste der Codes für die BIOS-Funktion 16h (Melodie-Töne) des Interrupts 61h (siehe [[hardware:doku:techrefguide:abschnitt3#int_61h_-_erweiterte_bios_funktionen|Technical Reference Guide]])\\
 +
 +^Note^Frequenz^Code^
 +|D#5  |  622,3 Hz|  30h|
 +|E5    659,3 Hz|  31h|
 +|F5    698,5 Hz|  32h|
 +|F#5  |    740 Hz|  33h|
 +|G5      784 Hz|  34h|
 +|G#5  |  830,6 Hz|  35h|
 +|A5      880 Hz|  36h|
 +|A#5  |  932,3 Hz|  37h|
 +|B5    987,8 Hz|  38h|
 +|C6    1046,5 Hz|  39h|
 +|C#6  |  1108,7 Hz|  3Ah|     
 +|D6    1174,7 Hz|  29h|     
 +|D#6  |  1244,5 Hz|  3Bh|     
 +|E6    1318,5 Hz|  3Ch|
 +|F6    1396,9 Hz|  3Dh|
 +|F#6  |   1480 Hz|  0Eh|     
 +|G6     1568 Hz|  3Eh|     
 +|G#6  |  1661,2 Hz|  2Ch|     
 +|A6     1760 Hz|  3Fh|     
 +|A#6  |  1864,7 Hz|  04h|
 +|B6    1975,5 Hz|  05h|     
 +|C7     2093 Hz|  25h|     
 +|C#7  |  2217,5 Hz|  2Fh|     
 +|D7    2349,3 Hz|  06h|     
 +|D#7  |    2489 Hz|  07h|
 +
 +undokumentierte Codes:\\
 +
 +^DTMF-Ton^Code^
 +|  0|  10h|
 +|  1|  11h|
 +|  2|  12h|
 +|  3|  13h|
 +|  4|  14h|
 +|  5|  15h|
 +|  6|  16h|
 +|  7|  17h|
 +|  8|  18h|
 +|  9|  19h|
 +|  A|  1Ah|
 +|  B|  1Bh|
 +|  C|  1Ch|
 +|  D|  1Dh|
 +|  *|  1Eh|
 +|  #|  1Fh|
 +
 +^Klang^Code^
 +|Stumm  |  80h|
 +|Klick1  |  01h|
 +|Klick2  |  10h|
 +|Klick3  |  A1H|
 +|Klick4  |  A3H|
 +|Sound (?)  |  A4h|
 +
 +weitere Melodie-Töne:\\
 +
 +^Code^Note^
 +|4Bh |zwischen A#5 (37h) und B5 (38h)|
 +|49h |zwischen F#5 (33h) und G5 (34h)|
 +|4Ah |zwischen G#5 (35h) und A5 (36h)|
 +|2Eh |zwischen B6 (05h) und C7 (25h)|
 +|2Ah |zwischen C6 (39h) und C#6 (3Ah)|
 +|4Ch |zwischen D6 (29h) und D#6 (3Bh)|
 +|2Bh |zwischen D#6 (3B) und E6 (3Ch)|
 +|0Fh |zwischen G6 (3Eh) und G#6 (2CH)|
 +|27h |zwischen C7 (25h) und C#7 (2Fh)|
 +
 +Folgende Codes erzeugen Melodie-Töne mit einem Klick (Anschlag) am Anfang:\\
 +
 +^Code^Note^
 +|B2h |F5 (32h)|
 +|B3h |F#5 (33h)|
 +|B4h |G5 (34h)|
 +|B5h |G#5 (35h)|
 +|B6h |A5 (36h)|
 +|B7h |A#5 (37h)|
 +|B8H |B5 (38h)|
 +|B9H |C6 (39h)|
 +|BAH |C#6 (3Ah)|
 +|BBH |D#6 (3Bh)|
 +|BCH |E6 (3Ch)|
 +|BDH |F6 (3Dh)|
 +|BEH |G6 (3Eh)|
 +|BFH |A6 (3Fh)|
 +\\
 +\\
 +\\
  
 ===== Datei-Formate ===== ===== Datei-Formate =====
Zeile 410: Zeile 671:
   00073¦27 53 70 61 6C 74 65 31 ¦´Spalte1   00073¦27 53 70 61 6C 74 65 31 ¦´Spalte1
   00081¦00 01 00 00 00 00 00 00 ¦.☺......   00081¦00 01 00 00 00 00 00 00 ¦.☺......
 +
  
  
Zeile 436: Zeile 698:
 Sind also keine Weckfunktionen aktiv steht an Stelle des Weckzeichens ein Leerzeichen ASCII(032).\\ Sind also keine Weckfunktionen aktiv steht an Stelle des Weckzeichens ein Leerzeichen ASCII(032).\\
 Interessant ist, man kann eine *.DRY mit dem Text-Editor schreiben ohne die korrekte Reihenfolge zu berücksichtigen, oder irgendwo einen neuen Eintrag schreiben, der Zeitplaner sortiert sie beim Laden chronologisch. Wurde eine *.DRY in englischer Sprache geschrieben, die Wiederholungszeichen sind also nicht t, w, a, m, und j, sondern d, w, n, m und y, so werden diese Zeichen beim Laden in die derzeitig eingestellte Systemsprache übersetzt. Wahre Portfolio-Software ist eben multilingual.\\ Interessant ist, man kann eine *.DRY mit dem Text-Editor schreiben ohne die korrekte Reihenfolge zu berücksichtigen, oder irgendwo einen neuen Eintrag schreiben, der Zeitplaner sortiert sie beim Laden chronologisch. Wurde eine *.DRY in englischer Sprache geschrieben, die Wiederholungszeichen sind also nicht t, w, a, m, und j, sondern d, w, n, m und y, so werden diese Zeichen beim Laden in die derzeitig eingestellte Systemsprache übersetzt. Wahre Portfolio-Software ist eben multilingual.\\
-Nicht vergessen: wie im Handbuch beschrieben wird nur die DIARY.DAT im Systemverzeichnis von Laufwerk C: Weckfunktionen  auslösen. Beim Speichern prüft der Zeitplaner die Datei auf anstehende Weckzeiten und stellt die Alarmfunktion in das System.+Nicht vergessen: wie im Handbuch beschrieben wird nur die DIARY.DRY im Systemverzeichnis von Laufwerk C: Weckfunktionen  auslösen. Beim Speichern prüft der Zeitplaner die Datei auf anstehende Weckzeiten und stellt die Alarmfunktion in das System.
 \\ \\
 \\ \\
software/diy/progtools/tablesdatas.1190226892.txt.gz · Zuletzt geändert: 16/02/2024 17:02 (Externe Bearbeitung)