      +------------------------------------------------------------------------
      |
      |      DISK-DRIVE 1581: ZEROPAGE AND EXTENDED ZEROPAGE
      |
      +------------------------------------------------------------------------
      |
      | Comments done by Peter Steiner, used with permission.
      |
      |   $00-$01/0-1                 frei
      |   $02-$0A/2-10                Jobspeicher fuer die Puffer 0-8
      |   $0B-$1C/11-28               T&S fuer jeden Job
      |   $1D-$1E/29-30               ID
      |   $1F/31                      Spurnummer
      |   $20/32                      Seitennummer (0: Vorder-/ 1: Rueckseite)
      |   $21/33                      Sektornummer
      |   $22/34                      Sektorengroesse
      |   $23-$24/35-36               CRC-Pruefsumme
      |   $25/37                      Flag fuer Diskettenwechsel
      |   $26/38                      Drivemodus 0: Laufwerk inaktiv
      |   $27/39                      Aktuelle Kopfposition
      |   $28/40                      Zwischenspeicher fuer Jobcode
      |   $29/41                      Laenge der Befehlszeile
      |   $2A-$2B/42-43               An- bzw. Nachlaufzaehler fuer Laufwerksmotor
      |   $2C/44                      Stackpointer bei Controllerschleifen-Aufruf
      |   $2D/45                      Init-Modus
      |   $2E/46                      Sektorversatz (1)
      |   $2F/47                      freie Blocks auf der aktuellen Spur beim BAM-Check
      |   $30/48                      Optionen bei Fehlern
      |   $31-$32/49-50               Zeiger in die BAM
      |   $33-$34/51-52               Zeiger auf User-Sprungtabelle
      |   $35/53                      Flags fuer BAM-Zustand
      |   $36/54                      Zwischenspeicher
      |   $37/55                      Modus von JOB $9e: BUFMOV_DV (Programmfehler)
      |   $38/56                      Zwischenspeicher bei Burst-Load / 'u9' (Warmstart)
      |   $39/57                      Zwischenspeicher:
      |   $3A/58                      Zwischenspeicher
      |   $3B/59                      Position des '*' in Kommandozeile
      |   $3C/60                      Flag vom Burst-Load: Datei hat nur einen Block
      |   $3D/61                      Zaehler fuer gefundene Sektoren bei QUERY DISK FORMAT
      |   $3E/62                      1. gefundene Sektornummer bei QUERY DISK FORMAT
      |   $3F/63                      Zwischensp.: aktueller Puffer (bei BAM-Arbeiten)
      |   $40-$44/64-68               Zwischenspeicher fuer diverse Zwecke
      |   $45/69                         (frei)
      |   $46-$47/70-71               Sprungvektor fuer User-Befehle
      |   $48-$49/72-73               Pufferadresse fuer Jobs
      |   $4A-$4B/74-75               Zeiger in Cachepuffer
      |   $4C/76                      Tracknummer der letzten Datei (LOAD"*")
      |   $4D/77                      Aktuelle Tracknummer
      |   $4E/78                      Aktuelle Sektornummer
      |   $4F/79                      Speicher fuer obere Stackgrenze
      |   $50/80                      Aktuelle Kanalnummer
      |   $51/81                      0: EOI vom Bus / Dateiende
      |   $52/82                      Aktuelle Sekundaeradresse
      |   $53/83                      Sekundaeradresse vom IEC-Bus
      |   $54/84                      Zwischenspeicher fuer aktuelles Datenbyte
      |   $55/85                      Zwischenspeicher fuer:
      |   $56/86                      Zwischenspeicher fuer:
      |   $57/87                      Sektornummer des aktuellen Side-Sektors
      |   $58/88                      Zeiger auf T&S eines Datenblocks im Side-Sektor
      |   $59/89                      Zeiger in die SS-Tabelle des aktuellen SS
      |   $5A/90                      Beim Vergroessern einer REL-Datei
      |   $5B-$5D/91-93               Rechenregister 1 (z.B. Division)
      |   $5E-$5F/94-95                  (frei)
      |   $60-$62/96-98               Rechenregister 2
      |   $63/99                         (frei)
      |   $64-$65/100-101             temporaerer Pufferzeiger
      |   $66/102                     Bitzaehler fuer seriellen Bus
      |   $67/103                     Zaehler (z.B. fuer Laufwerks-/Kanalsuche)
      |   $68/104                     Position im Record
      |   $69/105                     Side-Sektor-Nummer des Records
      |   $6A/106                     Position der gesuchten T&S im Side-Sektor
      |   $6B/107                     Position des Records im Datenblock
      |   $6C/108                     Zwischenspeicher fuer Jobnummer
      |   $6D/109                     Pufferbelegung (b0-6:Puffer0-6, 1=belegt)
      |   $6E/110                     Drivestatus
      |   $6F/111                     Formatkennzeichen von Diskette
      |   $70/112                     Kanalbelegungstabelle
      |   $71/113                     Dir-Block in dem die Datei gefunden wurde
      |   $72/114                     1. Dir-Block mit einem freien Eintrag
      |   $73/115                     Position des freien Eintrags im Dir-Block
      |   $74/116                     Zeiger auf aktuelle Puffernummer
      |   $75/117                     Anzahl der Sektoren pro Track
      |   $76/118                     Bus-Modus
      |   $77/119                     LISTEN-Geraeteadresse (Adresse +$20)
      |   $78/120                     TALK-Geraeteadresse (Adresse +$40)
      |   $79/121                     LED-Flag
      |   $7A/122                     Zwischenspeicher fuer die Sekundaeradresse
      |   $7B/123                     Befehlsmodus-Flag
      |   $7C/124                     Burst-Kommandobyte
      |   $7D/125                     Zwischenspeicher fuer Jobstatus
      |   $7E-$7F/126-127             Cache-Pufferzeiger fuer Burst-Befehle
      |   $80/128                     Burst-Status
      |   $81/129                     DOS-Fehlerunterdrueckung (Burstzugriff)
      |   $82/130                     Zwischenspeicher im Controller-Programm
      |   $83/131                     Nummer des aktiven Jobs
      |   $84/132                     Nummer der aktiven Jobroutine (0-32)
      |   $85-$86/133-134             Steuer-Bits fuer Jobbearbeitung (s. $c163)
      |   $87/135                     b7: 1: Cache Puffer veraendert
      |   $88/136                     Solltrack (bei Kopfbewegung)
      |   $89/137                     AND-Maske fuer Burst-Status
      |   $8A/138                     OR-Maske fuer Burst-Status
      |   $8B-$8C/139-140             Zeiger auf Cachepuffer
      |   $8D/141                     E/A Byte
      |   $8E/142                     Nummer der ersten physikalischen Spur
      |   $8F/143                     Nummer der letzten physikalischen Spur
      |   $90/144                     Starttrack der aktuellen Partition
      |   $91/145                     Sektorengroesse
      |   $92/146                     Anzahl Sektoren auf der Spur
      |   $93/147                     letzter Sektor auf der Spur
      |   $94/148                     1. Sektornummer auf der Spur
      |   $95/149                     Aktueller Track (im Cache Puffer)
      |   $96/150                     Diskettenseite des aktuellen Jobs
      |   $97/151                     Aktuelle Seite (im Cache Puffer)
      |   $98/152                     Kopfberuhigungszeit nach Verschiebung
      |   $99/153                     Index fuer 2-Byte Jobspeicher (z.B. T&S)
      |   $9A/154                     Groesse der Luecke zwischen zwei Sektoren
      |   $9B/155                     Fuellbyte fuer Datenblock
      |   $9C/156                     Zaehler fuer Cache-Verzoegerungszeit
      |   $9D/157                     Cache-Verzoegerungszeit
      |   $9E/158                     Blinkzaehler fuer LED
      |   $9F-$A7/159-167             (???)
      |   $A8-$BA/168-186             Sekundaeradressentabelle
      |   $BB-$CC/187-204             Pufferzeiger 0-8
      |   $CD-$CE/205-206             Zeiger in INPUT-Puffer
      |   $CF-$D0/207-208             Zeiger in ERROR-Puffer
      |   $D1-$D7/209-215             1. Puffer fuer Kanal
      |   $D8-$DE/216-222             2. Puffer fuer Kanal
      |   $DF-$E4/223-228             Tabelle: Am laengsten inaktive Kanaele
      |   $E5-$E9/229-233             Dir-Block, in dem Dateieintrag ist
      |   $EA-$EE/234-238             Zeiger in den Dir-Block mit dem Eintrag
      |   $EF-$F3/239-243             Drivenummern der Parameter
      |   $F4-$F8/244-248             Dateitypen und Flags fuer Joker
      |   $F9-$FF/249-255             Dateitypentabelle
      |
      |   $0100/256                   Gruppennummer des aktuellen Records
      |   $0101/257                   Modus der REL-Datei
      |   $0102-$0108/258-264         Aktuelle Gruppennummer
      |   $0109-$010F/265-271         Sektor des Super-Side Sektors
      |   $0110-$0116/272-278         Track des Super-Side Sektors
      |   $0117-$018F/279-399         Stackbereich
      |   $0190-$0191/400-401          w b0f0 Haupt-Leerschleife
      |   $0192-$0193/402-403          w dafd Interrupt-Routine
      |   $0194-$0195/404-405          w afca Warmstartvector
      |   $0196-$0197/406-407          w b262 VALIDATE
      |   $0198-$0199/408-409          w 8ec5 INITIALIZE
      |   $019A-$019B/410-411          w b781 Partition
      |   $019C-$019D/412-413          w 892f Memory-Read/Write
      |   $019E-$019F/414-415          w 8a5d Block-Befehle
      |   $01A0-$01A1/416-417          w 898f USER
      |   $01A2-$01A3/418-419          w a1a1 POSITION (RECORD)
      |   $01A4-$01A5/420-421          w a956 Utility-Loader (&)
      |   $01A6-$01A7/422-423          w 876e COPY
      |   $01A8-$01A9/424-425          w 88c5 RENAME
      |   $01AA-$01AB/426-427          w 8688 SCRATCH
      |   $01AC-$01AD/428-429          w b348 NEW
      |   $01AE-$01AF/430-431          w a7ae Error-Routine des Controllers
      |   $01B0-$01B1/432-433          w abcf ATN-bearbeiten
      |   $01B2-$01B3/434-435          w ad5c Daten auf ser. Bus
      |   $01B4-$01B5/436-437          w aeb8 Daten vom ser. Bus
      |   $01B6-$01B7/438-439          w c0be Controller-Routine
      |   $01B8-$01B9/440-441          w cedc log. in phy. Format
      |   $01BA-$01BB/442-443          w a7f1 Error-Routine des DOS
      |   $01BC-$01CD/444-461         Jobspeicher HDRS2
      |   $01CE-$01D6/462-470         Jobspeicher SIDS
      |   $01D7-$01D8/471-472         Timer B Wert im Hi/Lo-Format
      |   $01D9/473                   Anlaufzeit des Motors
      |   $01DA/474                   Controller-Befehl: 'Restore'
      |   $01DB/475                   Controller-Befehl: 'Seek'
      |   $01DC/476                   Controller-Befehl: 'Step'
      |   $01DD/477                   Controller-Befehl: 'Step-in'
      |   $01DE/478                   Controller-Befehl: 'Step-out'
      |   $01DF/479                   Controller-Befehl: 'Read Sector'
      |   $01E0/480                   Controller-Befehl: 'Write Sector'
      |   $01E1/481                   Controller-Befehl: 'Read Adress'
      |   $01E2/482                   Controller-Befehl: 'Read Track'
      |   $01E3/483                   Controller-Befehl: 'Write Track'
      |   $01E4/484                   Controller-Befehl: 'Force Interrupt'
      |   $01E5/485                   1. Sektor des Verzeichnisses
      |   $01E6-$01E7/486-487         Zwischenspeicher
      |   $01E8-$01E9/488-489         Zwischenspeicher
      |   $01EA/490                   Zwischenspeicher: (Burst-) Status/Fehlercode
      |   $01EB/491                   1581-Formatkennzeichen 'D'
      |   $01EC/492                   DOS-Versionsnummer '3'
      |   $01ED-$01EE/493-494         Laenge der Partition
      |   $01EF/495                   kleinste gefundene Sektornummer (BURST)
      |   $01F0/496                   groesste gefundene Sektornummer (BURST)
      |   $01F1-$01F9/497-505         Hi-Bytes der Pufferadressen
      |   $01FA/506                   Schreibschutz Status
      |   $01FB/507                   Autoboot-Flag
      |   $01FC-$01FE/508-510         JMP $BA40: Byte auf FSM-Bus ausgeben
      |   $01FF/511                      (frei)
      |
      |   $0200-$0229/512-553         Kommandopuffer
      |   $022A-$00/554-0             Aktuelle Befehlsnummer ($80-$89: Block-Befehle)
      |   $022B/555                   Track des Direktory
      |   $022C/556                   letzter Track der aktuellen Partition + 1
      |   $022D/557                   Aktueller Dateityp
      |   $022E/558                   Anzahl der Parameter (vor '=') (Zwischenspeicher)
      |   $022F/559                   Anzahl der Parameter in der Kommandozeile
      |   $0230/560                   Anzahl der Parameter vor '='
      |   $0231/561                   Zaehler fuer Suche im Directory
      |   $0232/562                   Zeiger auf den gefundenen Dir-Eintrag
      |   $0233/563                   Dateityp aus der Kommandozeile
      |   $0234-$0239/564-569         Kanalstatustabelle
      |   $023A/570                   Kanalstatus fuer Fehlerkanal
      |   $023B-$0240/571-576         Ausgabe-Bytes der Kanaele an seriellen Bus
      |   $0241/577                   Ausgabe-Byte des Fehlerkanals
      |   $0242-$0248/578-584         Anzahl der gueltigen Bytes im Datenblock
      |   $0249-$024F/585-591         Aktuelle Recordnummer oder Dateilaenge Lo
      |   $0250-$0256/592-598         Aktuelle Recordnummer oder Dateilaenge Hi
      |   $0257-$025D/599-605         Position des naechsten Records im Block
      |   $025E-$0264/606-612         Aktuelle Recordlaenge
      |   $0265-$026B/613-619         Side-Sektor-Puffer fuer Kanal
      |   $026C/620                   aktuelle Parameterlaenge (s. $8526)
      |   $026D/621                   Nummer des gefundenen Dateinamens
      |   $026E/622                   >0: formatiertes Directory wird auf SA 0 ausgegeben
      |   $026F/623                   aktuelle Recordlaenge
      |   $0270/624                   Track des aktuellen Super-Side-Sektors
      |   $0271/625                   Sektor des aktuellen Super-Side-Sektors
      |   $0272-$027A/626-634         Zwischenspeicher fuer Jobcodes
      |   $027B-$027C/635-636            (frei)
      |   $027D-$0283/637-643         Dir-Block mit dem Dateieintrag des Kanals
      |   $0284-$028A/644-650         Position des Dateieintrags im Dir-Block
      |   $028B/651                   1. Sektornummer der letzten Datei ("*")
      |   $028C/652                   Zwischenspeicher (Kanalnummer)
      |   $028D/653                   Directory: Basic Zeilennummer Lo
      |   $028E/654                   Directory: Basic Zeilennummer Hi
      |   $028F/655                   Zwischenspeicher fuer Zeichensuche
      |   $0290/656                   Zeiger hinter aktuellen Parameter
      |   $0291-$0296/657-662         Position der Parameter in der Kommandozeile
      |   $0297-$029B/663-667         Werte aus Kommandozeile Hi-Bytes
      |   $029C-$02A0/668-672         Werte aus Kommandozeile Lo-Bytes
      |   $02A1/673                   Jokerflag: Aktueller Dateiname enthaelt '*' oder '?'
      |   $02A2/674                   Bitmaske bei Kommandozeilen-Test
      |   $02A3/675                   Anzahl der Laufwerke
      |   $02A4/676                   'ne Art Drivenummer (bei Directory-Laden)
      |   $02A5/677                   Such-Ergebnis
      |   $02A6/678                   Flag fuer Directory-Ende (0: Ende)
      |   $02A7/679                   Zugriffsart aus Kommandozeile (R,W,A,M)
      |   $02A8/680                   Fehlerpruefung ausschalten
      |   $02A9-$02AA/681-682         Anzahl freie Blocks
      |   $02AB/683                   Fehlernummer
      |   $02AC-$02C7/684-711         Directory-Zeile
      |   $02C8-$02CF/712-719            (frei)
      |   $02D0-$02FF/720-767         Fehlerpuffer fuer Meldungen im Klartext
      |
      +------------------------------------------------------------------------