Hinweise:

Unten siehst Du Erläuterungen zu den Funktionen. Sie sind folgerndermaßen
aufgebaut:

Funktion:
  Name(Parameter)
Parameter:
  Bezeichner		- Erläuterungen dazu
Beschreibung:
  Was tut die Funktion?
Globale Variablen:
  Bezeichner		- Erläuterungen zu den globalen Variablen, die von
			  den Routinen vorausgesetzt werden.
Verwendete Funktionen:
  Bezeichner()		Liste der System- oder selbstdefinerten Funktionen,
			die innerhalb dieser Funktion aufgerufen werden.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Funktion:

  trackdisk_writeblock(ior, nummer)

=============================================================================

Parameter:

  ior			- ioexttd, s. trackdisk_open()
  nummer		- Nummer des zu ladenden Blocks

=============================================================================

Beschreibung:

  Es wird versucht, den Inhalt von blockpuffer in Block nummer zu schreiben.

=============================================================================

Globale Variablen:

  blockpuffer		- [512]:STRING, der den aktuellen Blockinhalt
			  enthält
  slabelpuffer		- [16]:STRING, der das aktuelle Blocklabel enthält

=============================================================================

Verwendete Funktionen:

  trackdisk_changenum()
  DoIO()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Funktion:

  trackdisk_readblock(ior, nummer)

  Wie trackdisk_writeblock, nur wird hier versucht, von Diskette zu laden.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Funktion:

  trackdisk_changenum(ior)

=============================================================================

Parameter:

  ior			- ioexttd, s. trackdisk_open()

=============================================================================

Rückgabewert:

  s. Beschreibung

=============================================================================

Beschreibung:

  Es wird die Nummer der Betätigungen am Diskettenschacht seit Anmeldung
  durch CreateExtIO() ermittelt und zurückgegeben. Das Herausnehmen der
  Diskette erhöht den Zähler um eins, das Einführen einer Diskette ebenso.

=============================================================================

Verwendete Funktionen:

  DoIO()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Funktion:

  trackdisk_motor(ior, flag)

=============================================================================

Parameter:

  ior			- ioexttd, s. trackdisk_open()
  flag			- TRUE: Motor an, FALSE: Motor aus

=============================================================================

Beschreibung:

  In Abhängigkeit vom flag wird der Motor des Diskettenlaufwerkes an- oder
  abgeschaltet.

=============================================================================

Verwendete Funktionen:

  DoIO()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Funktion:

  trackdisk_close(ioreq)

=============================================================================

Parameter:

  ioreq			- ioexttd, s. trackdisk_open()

=============================================================================

Beschreibung:

  Das trackdisk.device wird geschlossen. Gegenstück von trackdisk_open().
  Der MsgPort wir ebenfalls abgemeldet. Der übergebene Parameter wird
  ausgenullt, d.h. auf NULL gesetzt.

=============================================================================

Verwendete Funktionen:

  CloseDevice()
  DeleteIORequest()
  DeleteMsgPort()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Funktion:

  trackdisk_open( laufwerksnummer )

=============================================================================

Parameter:

  laufwerksnummer	- Nummer des Laufwerks, auf das zugegriffen werden
			  soll

=============================================================================

Rückgabewert:

  >0			- Öffnung erfolgreich, Zeiger auf voll
			  initialisierten
			  IORequest
  -1			- Laufwerksnummer nicht korrekt (nicht 0-3)
  -2			- message port konnte nicht geöffnet werden
  -3			- Fehler bei CreateIORequest()
  -4			- Device-Öffnung schlug fehl


=============================================================================

Beschreibung:

  Das trackdisk.device wird für das angegebene Laufwerk geöffnet. Im
  Fehlerfall wird der bereits geöffnete message port bzw. initialisierte
  IORequest geschlossen.

=============================================================================

Verwendete Funktionen:

  CreateMsgPort()
  CreateIORequest()
  DeleteMsgPort()
  OpenDevice()
  DeleteIORequest()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Funktion:

  trackdisk_diskindrive(ior)

=============================================================================

Parameter:

  ior			- ioexttd, s. trackdisk_open()

=============================================================================

Rückgabewerte:

  TRUE:			- Diskette im Laufwerk
  FALSE:		- keine Diskette im Laufwerk

=============================================================================

Beschreibung:

  Es wird geprüft, ob eine Diskette im Laufwerk ist.

=============================================================================

Verwendete Funktionen:

  DoIO()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Funktion:

  trackdisk_diskprotected(ior)

=============================================================================

Parameter:

  ior			- ioexttd, s. trackdisk_open()

=============================================================================

Rückgabewerte:

  TRUE			- Diskette ist schreibgeschützt
  FALSE			- Diskette ist nicht schreibgeschützt

=============================================================================

Beschreibung:

  Es wird geprüft, ob die eingelegte Disk schreibgeschützt ist.

=============================================================================

Verwendete Funktionen:

  DoIO()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Funktion:

  jumptodrive()

=============================================================================

Parameter:

  nummer		- Laufwerksnummer (dfnummer:)

=============================================================================

Beschreibung:

  Initialisiert die globale Variable ioreq neu für das angegebene Laufwerk.
  Inhibit() wird auch verwendet. Es wird erwartet, daß sich die Variable
  laufwerksname seit dem letzten Aufruf nicht verändert hat!

=============================================================================

Globale Variablen:

  ioreq			- s. trackdisk_open()
  laufwerksname		- außerhalb dieser Funktion nur daraus Lesen!!!

=============================================================================

Verwendete Funktionen:

  trackdisk_close()
  Inhibit()
  trackdisk_open()

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
