                                     Stand: 7. Juli, Jahr des CPC 2023

Datei: 'API-D-DE.TXT' (24 Seiten)

Datei zur Dokumentation aller Future Operating System Systemfunktionen
der Version .8 des OS.  Sðmtliche  fôr den Anwender oder Programmierer
wichtige OS Funktionen in FutureOS ROM D (=Desktop) werden erklðrt und
lokalisiert.


       Alle OS Funktionen werden in folgender Form beschrieben:

1. Kurzbeschreibung: Die OS Funktion wird in einem Satz kurz erklðrt.

2. Label: Mit  diesem  Label  wird  die  OS  Funktion  im  Source Code
bezeichnet. In der mitgelieferten  Label-Bibliothek (#EQU-API.DEU) mit
den jehweils aktuellen  ROM  Adressen  findet  ebenfalls  dieses Label
Verwendung. Aus  Grônden  der  Kompatibilitðt  sollte  man  in eigenen
Programmen alle OS- /  System-Funktionen  (und System-Variablen) stets
mit diesen Labels ansprechen.

3. ROM-Nummer: Hier ist die  logische  ROM  - Nummer des FutureOS ROMs
angegeben, in dem die entsprechende OS Funktion zu finden ist.
Manche OS Funktionen kommen, wegen ihrer  Kôrze, in mehreren ROMs vor,
dann sind hier auch mehrere ROM Nummern angegeben.
Da die ROM Nummer logisch zu  verstehen  ist, sollte man sie nicht mit
dem physikalischen ROM Select gleichsetzen.  Wie man die physikalische
ROM Nummer eines der FutureOS ROMs ermittelt wird im Handbuch erklðrt.

4. Startadresse: Gibt  die Einsprung-Adresse der OS Funktion an. Falls
diese in mehreren ROMs  vorkommt,  wird  hier  auch eine entsprechende
Anzahl von Adressen angegeben.

5. Einsprungbedingungen:  Die  Einsprungbedingungen  der  OS  Funktion
werden beschrieben und es wird sowohl auf Registerinhalte als auch auf
RAM-Variablen eingegangen.

6.  Aussprungbedingungen:  Die  Aussprungbedingungen  der  OS-Funktion
werden beschrieben und es wird sowohl auf Registerinhalte als auch auf
RAM-Variablen eingegangen.

7. Manipuliert: Es werden alle  manipulierten oder zerstórten Register
und RAM-Variablen  wiedergegeben.  Manchmal  werden  auch manipulierte
Pheripheriebausteine wiedergegeben.

8. Beschreibung: Es folgt  eine  vollstðndige  Erklðrung der Anwendung
und Wirkungsweise der beschriebenen OS Funktion.

9. Bitte Beachten: Es  werden  einige  wichtige  Details kurz erklðrt.
Dies ist besonders wichtig,  da  alle  OS  Funktionen kompromiºlos auf
Hóchstgeschwindigkeit  getrimmt worden  sind.  Bei falscher Handhabung
kann es zu Problemen mit der Systemstabilitðt kommen.


ACHTUNG: Einige OS Funktionen im FutureOS  Desktop  ROM D sind fôr den
Programmierer nur  indirekt nutzbar, da sie fôr die Benutzeroberflðche
entwickelt worden sind.

Bei OS Funktionen ohne Rôcksprung empfiehlt es sich z.B. die Variablen
des OK-Icons zu nutzen um so in die Applikation zurôck zu gelangen.

Die aktuelle Version dieser Datei finden Sie auch im Internet unter:
FutureOS Homepage: http://www.FutureOS.de

     DARSTELLUNG EINES ICONS 6*3 MODE 2 ZEICHEN BEI 64*32 ZEICHEN
     ============================================================

Kurzbeschreibung: Diese OS Funktion stellt  ein  6  * 3 MODE 2 Zeichen
groºes Icon dar.

Label: ICON6ON

ROM-Nummer: D

Startadresse: &C017

Einsprungbedingungen:
DE = Ziel-Adresse im  Bildschirmspeicher, normal &C000 ... &C7FA.
HL = Quell-Adresse des Icon Datenblocks.

Aussprungbedingungen: Icon wurde dargestellt.

Manipuliert: AF, BC, DE, HL und 144 Bytes Video-RAM.

Beschreibung: Diese OS Funktion dient dazu die quadratischen Icons des
FutureOS auszugeben. So ein Icon  ist  6  Mode  2  Zeichen breit und 3
Zeilen hoch. Das  Icon  hat  also  48  *  24  Pixel.  Auºerdem muº der
Bildschirm auf 64 Zeichen bei 32 Zeilen geschalten sein.
Beim Aufruf dieser Funktion enthðlt  DE  die Zieladresse innerhalb des
Videorams, sie sollte normalerweise  zwischen  &C000 und &C7FA liegen.
HL enthðlt die Quell-Adresse der Icondaten. Dabei ist zu beachten, daº
bei jedem Iocn die oberste  und  die  unterste Zeile als ganzer Strich
dargestellt wird. Dies spart pro  Icon  12 Bytes Daten, auºerdem haben
die Icons alle  einen  Rahmen,  es  wird  also  auch  etwas Rechenzeit
gespaart.
Die Icon-Daten sind folgendermaºen aufgebaut:  Zuerst kommen von links
nach rechts die sechs Bytes  der  zweiten  Zeile, dann die sechs Bytes
der dritten, dann der vierten Zeile usw. bis zur 23. Zeile.

Bitte Beachten: Die Iconausgabe funktioniert nur im 64 * 32 Modus.
Die oberste und die unterste Zeile  (1,24)  eines Icons wird immer als
Strich dargestellt. Die Zeil-Adr. ist sehr frei wðhlbar.

     DARSTELLUNG EINES ICONS 3*3 MODE 2 ZEICHEN BEI 64*32 ZEICHEN
     ============================================================

Kurzbeschreibung: Darstellung: 3 * 3 Mode 2 Zeichen groºes Icon.

Label: ICON3ON

ROM-Nummer: D

Startadresse: &C05B

Einsprungbedingungen:
DE = Ziel-Adresse im  Bildschirmspeicher &C000 ... &C7FA.
HL = Quell-Adresse des Icon Datenblocks.

Aussprungbedingungen: Icon wurde dargestellt.

Manipuliert: AF, BC, DE, HL und 72 Bytes des Video-RAMs

Beschreibung: Diese OS Funktion entspricht im weiteren genau der zuvor
beschriebenen. Der  Unterschied  zu  ICON6ON  liegt  darin,  daº diese
Funktion (ICON3ON) Icons von halber  Breite Darstellt. Die Grafikdaten
enthalten also lediglich  je  3  Bytes  pro  Rasterzeile. Das FutureOS
benutzt ICON3ON z.B. um  die  Ziffern  der  Uhrzeit  und des Datums im
Desktop darzustellen.
          UHRZEIT UND DATUM IM DESKTOP DARSTELLEN
          =======================================

Kurzbeschreibung: Diese OS Funktion  stellt  die  aktuelle Uhrzeit und
das Datum auf dem Bildschirm dar, oder nur einen Teil davon.

Label: DS_ZD (DS_YD, DS_XD, DS_WD, DS_VD, DS_UD)

ROM-Nummer: D

Startadressen:
&E35C (DS_ZD) /// &E39E (DS_YD) /// &E3E0 (DS_XD)
&E422 (DS_WD) /// &E464 (DS_VD) /// &E4A6 (DS_UD)

Einsprungbedingungen: Folgende RAM  -  Variablen  môssen die korrekten
Daten enthalten:
UHR_SEK = Sekunde . &00-&59
UHR_MIN = Minute .. &00-&59
UHR_STU = Stunde .. &00-&23
UHR_TAG = Tag ..... &00-&31
UHR_MON = Monat ... &01-&12
UHR_JAR = Jahr .... &00-&99

Aussprungbedingungen: Uhrzeit, Datum in 24*24 Pixel Icons dargestellt.

Manipuliert: AF, BC, DE, HL, IX und das Video-RAM

Beschreibung: Wenn das  Desktop  das  aktuelle  Datum  und die Uhrzeit
darstellen will, dann benutzt es diese OS Funktion.
Zeit  und  Datum  (DS_ZD)  werden  an  definierten  Bildschirmadressen
dargestellt. Dazu werden 24 * 24 Pixel groºe Icons verwendet.
Benutzt man ein anderes Label als  DS_ZD,  dann  wird nur ein Teil der
Information Dargestellt. Dies ist dann  sinnvoll  wenn sich nicht alle
Datums- und Zeit-Werte geðndert haben. Im einzelnen stellen die Labels
folgende Daten dar:

DS_ZD stellt Sekunde, Minute, Stunde, Tag, Monat und Jahr dar.
DS_YD stellt Sekunde, Minute, Stunde, Tag und Monat dar.
DS_XD stellt Sekunde, Minute, Stunde und Tag dar.
DS_WD stellt Sekunde, Minute und Stunde dar.
DS_VD stellt Sekunde und Minute dar.
DS_UD stellt Sekunde dar.

Der Programmierer kann diese OS  Funktion  kaum sinnvoll einsetzen, da
die Zieladressen der Icons/Ziffern  festgelegt  sind.  Es sei denn daº
das Desktop bei abgeschaltenen Interrupts teilaktiv bleiben soll.

Bitte Beachten: Die Zieladressen im Video-RAM sind vordefiniert.

ACHTUNG: Die Adressen diese OS  Funktionen  haben sich in der FutureOS
Version 0.8 geðnder!!!













         KLICK - EINSPRUNG INS DESKTOP BEI INTAKTEM ICONSATZ
         ===================================================

Kurzbeschreibung: Rôcksprung ins Desktop (obere Bildhðlfte intakt!)

Label: KLICK

ROM-Nummer: D

Startadresse: &FE9A

Einsprungbedingungen: Der Bildschirm befindet sich  im 64 * 32 Zeichen
Modus in MODE 2.
Die Icons in der oberen Bildschirmhðlfte werden unverðndert angezeigt.

Aussprungbedingungen: Es erfolgt KEIN Rôcksprung

Manipuliert: - nicht relevant -

Beschreibung: Will ein Programm die  Kontrolle an die Benutzeroberflð-
che zurôckgeben, dann kann unter  anderem  KLICK als Einsprung gewðhlt
werden.
Befindet sich der Bildschirm im  64  Zeichen  auf  32 Zeilen Modus und
sind alle Icons in der oberen  Bildhðlfte noch intakt, dann sollte man
KLICK wðhlen, ansonsten lieber TUR_D oder TUR_E.
Folgenden Aktionen werden von KLICK ausgefôhrt:
- Laufwerksmotoren werden der Variable MO_ST angeglichen
- Systemvariablen fôr Pfeilverwaltung werden restauriert
- Standart 64K werden eingeschalten
- zuletzt wird die Kontrolle an das OS ôbergeben

Bitte Beachten: Es erfolgt kein Rôcksprung, da es sich bei KLICK nicht
um eine OS Funktion sondern um einen Einsprung in das OS handelt.































           INITIALISIERUNG UND HAUPT-EINSPRUNG INS DESKTOP
           ===============================================

Kurzbeschreibung: Haupteinsprônge in die Benutzeroberflðche.

Label: TUR_D (zus. LWs zurôcksetzen) // TUR_E (normal)

ROM-Nummer: D

Startadresse: &FEA0 (TUR_D) // &FE9D (TUR_E)

Einsprungbedingungen: -

Aussprungbedingungen: KEIN Rôcksprung

Manipuliert: - nicht relevant -

Beschreibung: Nach z.B. Beendigung  eines  Programms  ist die Rôckkehr
ins Betriebssystem nótig.
Diese beiden Einsprônge dienen  dazu  direkt in die Benutzeroberflðche
zurôckzukehren. Dabei erfôllen beide folgende Funktionen:
- Bildschirm auf Mode 2, 64 Zeichen auf 32 Zeilen.
- Bildschirm lóschen.
- Laufwerks-, Grafik- und Zeit/Datums- Icons einblenden.
- Sprung nach KLICK (siehe dort fôr weitere Informationen).
Beim Einsprung in TUR_D  werden  zusðtzlich alle eingelesenen Inhalts-
verzeichnisse verworfen (RAM-Var. DIRIN auf  &FF), auºerdem werden die
Laufwerksvariablen TURBO_A..M initialisiert (INI_MED s.o.).

Bitte Beachten: Es erfolgt  KEIN  Rôcksprung.  Bei  Einsprung in TUR_D
werden sðmtliche eingelesene Inhaltsverzeichnisse verworfen.

































         (ENT-)MARKIEREN EINER DATEI FÔR SPÐTERE BEARBEITUNG
         ===================================================

Kurzbeschreibung: Die Datei, die unter der Pfeilspitze liegt, wird zur
Bearbeitung markiert.

Label: TAG_DIR

ROM-Nummer: D

Startadresse: &FEB5

Einsprungbedingungen: Systemvariablen môssen korrekte Werte enthalten

Aussprungbedingungen: Es erfolgt  KEIN  Rôcksprung,  diese OS Funktion
springt nach ihrer Abarbeitung nach KLICK (ins Desktop).

Manipuliert: Datei Tagging Byte der Datei unter dem Maus-Pfeil

Beschreibung: Hat man unter FutureOS das Inhaltsverzeichniss eines LWs
eingelesen, so hat der  Anwender  erst  die  Dateien zu markieren, mit
denen er spðter arbeiten will.
TAG_DIR ôbernimmt dies. Entweder wird eine unmarkierte Datei markiert,
oder es wird eine bereits markierte Datei wieder entmarkiert.
Es wird diejenige Datei (ent-)markiert, die unter dem Mauspfeil liegt,
und deren Inhaltsverzeichniss gerade angezeigt wird.

Bitte Beachten: Es erfolgt KEIN Rôcksprung !!!
Diese OS  Funktion  dôrfte  fôr  den  Programmierer  nur  von geringem
Interesse sein.


































     ANZEIGEN VON BIS ZU 64 DATEINAMEN EINES INHALTSVERZEICHISSES
     ============================================================

Kurzbeschreibung:  Anzeigen  der,   blðttern   in   den   eingelesenen
Inhaltsverzeichnisseiten. Statuszeile wird angezeigt.

Label: SCRI zeigt erste Seite  der  aktuellen  DIRs an. SC_AU n. Seite
aufwðrts bzw. SC_AB n. Seite abwðrts in DIRs blðttern.

ROM-Nummer: D

Startadresse: &FEAC (SCRI) // &FEB2 (SC_AU) // &FEAF (SC_AB)

Einsprungbedingungen: RAM Variablen korrekt:
DIRIN = &FF => kein DIR, Abbruch
TDRAM = RAM Block 16er DIR des aktuellen LWs.
TDHST = HighByte d. DIRs in diesem Block &40-&78
TDANZ = Anz.1K Seiten des akt.LWs max. 8 bei HD
TDAKT = akt.1K Seite des akt.LWs 0,1..3..7
TDLWK = aktuelles Laufwerk, dessen DIR angezeigt

Aussprungbedingungen: Eine 1 KB Seite, max. 64 DIR Eintrðge angezeigt

Manipuliert: Z80 Register, RAM-Banking, Bildschirm etc.

Beschreibung:  Wer  im  Desktop   in  den   Inhaltsverzeichnissen  der
verschiedenen LWs blðttert benutzt diese OS Funktionen.
SCRI  gibt  die  ersten  64  Dateinamen/Eintrðge  auf  dem  Bildschirm
aus.
Hat das DIR  werniger  als  64  Dateien,  dann  werden  eben nur diese
angezeigt.
Mit SC_AB kann  man  die  nðchste  Seite  anzeigen.  Will  man dagegen
zurôckblðttern, dann  benutzt  man  SC_AU,  welches  die  vorige Seite
anzeigt.
Angezeigt  werden  jehweils   max.   64   Dateien,   in   der  unteren
Bildschirmhðlfte, und zwar 16 Zeilen mit jeh 4 Dateinamen.
Dazu werden die sogenannten 16er DIRs verwendet, es handelt sich dabei
um eine fôr die  Ausgabe  manipulierte  Version  des eigentlichen DIRs
eine Laufwerks. Alle 16er DIRs sind RAM gepuffert.
Alle drei OS Funktionen  zeigen  zusðtzlich  noch eine Statuszeile an,
diese enthðlt Informationen ôber Format, freien Platz in KB (Disk) und
die verwendete Seite (Disk).

Bitte Beachten: Bitte prôfen Sie vor Aufruf einer dieser OS Funktionen
nach, ob ôberhaupt ein  DIR  (Inhaltsverzeichnis)  eingelesen ist. Die
Variable DIRIN gibt darôber Aufschluº (siehe Datei #OS-VAR.DEU).
Die Ausgabeadresse der DIR-Seite ist  festgelegt,  und zwar von der 15
bis zur 31 Zeile. Unterhalb  der  DIR-Seite bleibt nur die Statuszeile
frei.















           DISKETTENLAUFWERK BEI FEHLFUNKTION DEAKTIVIEREN
           ===============================================

Kurzbeschreibung: Diese OS Funktion  vermerkt   ein Laufwerk als nicht
vorhanden, und deaktiviert es im Desktop.

Label: LADNT

ROM-Nummer: D

Startadresse: &FEA9

Einsprungbedingungen: A = zu deaktivierendes Laufwerk von 0..7 = A..H

Aussprungbedingungen: Es erfolgt kein Rôcksprung, ab nach KLICK

Manipuliert: AF, BC, DE, HL, DIRIN=&FF und TURBO_?=&02

Beschreibung: Hat man bei  einem  Laufwerk  einen Fehler festgestellt,
dann empfiehlt es sich dies dem  Anwender mitzuteilen, dazu kann diese
OS Funktion verwendet werden.
Das zu deaktivierende LW wird in  A  ôbergeben, daraufhin wird sein LW
tagging  Byte  TURBO_?   mit   &02   geladen,   d.h.   LW   ist  nicht
vorhanden/inaktiv und nicht markiert.  Daraufhin wird das Inaktiv-Icon
des entsprechenden  LWs  an  korrekter  Position  auf  dem  Bildschirm
ausgegeben. Auºerdem wird die RAM Variable  DIRIN mit &FF geladen, und
damit sðmtliche geladenen DIRs verworfen.
Diese OS Funktion kehrt nicht zurôck, es erfolgt ein Sprung nach KLICK
(also zum Desktop). Ist ein  Rôcksprung  durch den Anwender gewônscht,
dann kann man zuvor das OK Icon vorbereiten.
Diese OS Funktion eignet sich vor  allem  fôr Programme, die aktiv mit
dem Desktop zusammenarbeiten.

Bitte Beachten: KEIN Rôcksprung !!! OS Funktion springt nach KLICK !!!
Es wird das "inaktiv" Icon  des  entsprechenden LWs auf dem Bildschrim
dargestellt.




























                  DIR-RAM'S IN XRAM_?? MARKIEREN
                  ==============================

Kurzbeschreibung: Alle Exp. RAMs  die  DIRs  enthalten,  werden in den
XRAM_?? Variablen auch als solche markiert.

Label: MADRA

ROM-Nummer: D

Startadresse: &E2FC

Einsprungbedingungen: TURBO_A..TURBO_M und XRAM_C4..XRAM_FF korrekt.

Aussprungbedingungen: DE = &0804
XRAM_C4..XRAM_FF u.U als DIR-Puffer markiert.

Manipuliert: AF, BC, DE, HL, BC', D', HL' und XRAM_C4..XRAM_FF

Beschreibung: Wenn man ein  Inhaltsverzeichniss  von Hand einlieºt und
im Erweiterungs-RAM  puffert,  so  sollte  man  dieses  RAM  auch  als
DIRectory-Puffer markieren. Dies geschieht in  den XRAM Variablen, die
Aufschluº ôber die Verwendung eines jeden Exp.-RAM-Blocks geben.

Bitte Beachten: Es werden die DIR-Exp.-RAMs aller markierten Laufwerke
ermittelt, die Variablen TURBO_A..TURBO_M sollten also einen korrekten
Inhalt haben.
ACHTUNG: Die Einsprungadresse ist seit FutureOS Version 0.8 geðndert!


           LAUFWERKS UND ANDERE ICONS EINBLENDEN
           =====================================

Kurzbeschreibung: Es werden die Laufwerks Icons und noch einige Andere
eingeblendet.

Label: AMON

ROM-Nummer: D

Startadresse: &E4E8

Einsprungbedingungen: 64 * 32 Bildschirmmodus aktiv, Mode 2 aktiv.
RAM-Variablen TURBO_A..TURBO_H korrekt.

Aussprungbedingungen: Icons wurden dargestellt.

Manipuliert: AF, BC, DE, HL und Video-RAM

Beschreibung: Diese OS Funktion  dient  dazu alle Laufwerks-Icons A..M
und einige andere Icons an  korrekter  Position darzustellen. Dies ist
u.U.  wichtig,  wenn  man   den   Bildschirm  nach  Verwendung  wieder
restaurieren will.
Abgesehen von den LW-Icons  werden  noch  folgende Icons eingeblendet:
OK, REN, DRUCKEN, RETAG, UNTAG, WECKER, END, GFX2TXT und INFO.

Bitte Beachten: Der Bildschirm sollte auf  MODE  2, mit 64 Zeichen auf
32 Zeilen gesetzt sein.

ACHTUNG: Die Einsprungadresse ist seit FutureOS Version 0.8 geðndert!




    RAM-VARIABLEN DER LAUFWERKE DURCH KONFIG BYTES INITIALISIEREN
    =============================================================

Kurzbeschreibung: TURBO_A..M  werden  den  RAM-Bytes  der Koniguration
entsprechend gesetzt.

Label: INI_MED

ROM-Nummer: D

Startadresse: &E6AD

Einsprungbedingungen: RAM-Konfig Bytes korrekt.

Aussprungbedingungen: TURBO_A..M initialisiert (&00 oder &02).

Manipuliert: AF, B, DE, HL und TURBO_A..M

Beschreibung: Diese OS Funktion dient dazu die Variablen TURBO_A..M zu
initialisieren. Hat man z.B. die Konfig-Bytes im RAM (!) geðndert, und
will die neue Konfiguration auch  bei den Speicher-Medien anwenden, so
springt man diese OS Funktion an.
In TURBO_A..M ist vorallem Bit 1 relevant, es gibt an, ob ein Laufwerk
vorhanden ist oder nicht. Alle anderen  Bits  werden in jedem Fall auf
Null gesetzt. Jedes  Laufwerk  ist  also  unmarkiert  und  Seite 0 ist
aktiv.
TURBO_A..M enthalten nun entweder das Byte &00 (LW vorhanden) oder &02
(LW ist NICHT vorhanden).

Bitte Beachten: Es werden die Konfig-Bytes des RAMs gelesen, nicht die
im ROM. Hat man die RAM Konfig  der  LWs geðndert, dann wird diese nun
aktiv.

ACHTUNG: Die Einsprungadresse ist seit FutureOS Version 0.8 geðndert!






























                        EINBLENDEN DER TEXT ICONS
                        =========================

Kurzbeschreibung: Alle Text-Icons werden eingeblendet.

Label: TXT_ICO - DIESE FUNKTION IST AB FutureOS SYSTEM .8 HISTORISCH!

ROM-Nummer: D

Startadresse: &FEA6

Einsprungbedingungen: 64 * 32 Bildschirmmodus, Mode 2 aktiv.

Aussprungbedingungen: KEIN Rôcksprung, OS Funktion springt nach KLICK

Manipuliert: AF, BC, DE, HL und Video-RAM.

Beschreibung: Unter  FutureOS  kann  der  Anwender  zwischen  Text und
Grafik Icons wðhlen.
Diese OS Funktion stellt alle  Text-Icons  dar,  das sind im einzelnen
folgende: DIR, TYPE, LOAD, SAVE, ERA, COPY, MONITOR und RUN.

Bitte Beachten: Man sollte REG08_7 auf &01 setzen, um dem OS zu sagen,
dass die Text-Icons aktiv sind.
DIESE OS FUNKTION IST AB FutureOS SYSTEM .8 HISTORISCH!


                        EINBLENDEN DER GRAFIK ICONS
                        ===========================

Kurzbeschreibung: Alle Grafik-Icons werden eingeblendet.

Label: GRA_ICO - DIESE FUNKTION IST AB FutureOS SYSTEM .8 HISTORISCH!

ROM-Nummer: D

Startadresse: &FEA3

Einsprungbedingungen: 64 * 32 Bildschirmmodus, Mode 2 aktiv.

Aussprungbedingungen: Kein Rôcksprung, OS Funktion springt nach KLICK

Manipuliert: AF, BC, DE, HL, und REG08_7 wird mit &00 geladen.

Beschreibung: Unter  FutureOS  kann  der  Anwender  zwischen  Text und
Grafik Icons wðhlen.
Diese OS Funktion stellt alle Grafik-Icons  dar, das sind im einzelnen
folgende: DIR, TYPE, LOAD, SAVE, ERA, COPY, MONITOR und RUN.

Bitte Beachten: REG08_7 wird auf &00 gesetzt, um dem OS zu sagen, dass
die Grafik-Icons aktiv sind.
DIESE OS FUNKTION IST AB FutureOS SYSTEM .8 HISTORISCH!












        DOBBERTIN-ZEIT IN EINZELNE BYTES EXPANDIEREN
        ============================================

Kurzbeschreibung: Drei Dobbertin-kompatible  Uhrzeit  Bytes  werden zu
sechs Bytes expandiert. Jedes dieser sechs Bytes enthðlt ein Nibble.

Label: Z_D2Z

ROM-Nummer: D

Startadresse: &FE88

Einsprungbedingungen: Das Highbyte aller drei Quellbytes muº identisch
sein, das Highbyte aller sechs Zielbytes ebenfalls.
DE = Zeiger auf erstes von sechs Zielbytes: H,H,M,M,S,S.
HL = Zeiger auf letztes v. drei Quellbytes: Sek,Min,Stu. z.B.: UHR_STU

Aussprungbedingungen: Ab DE stehen sechs Zeit-Bytes im RAM.

Manipuliert: AF, BC, E, L und die sechs Zielbytes.

Beschreibung: Die Echtzeituhr von  Dobbertin  liefert die Zeitdaten in
einem speziellem Format.  Sekunden,  Minuten  und  Stunden  sind je in
einem Byte zusammengefasst. Dabei wird das BCD Format verwendet.
Enthalten die Zeit-Bytes die Werte &56 (Sekunde), &37 (Minute) und &18
(Stunde), dann ist es eben 18:37:56 Uhr.
Das Dobbertin Format ist zwar platzsparend,  will man aber die Uhrzeit
editieren, hðtte man gerne jedes Nibble fôr sich.
Diese OS Funktion wandelt drei  Dobbertin-kompatible Bytes (Sekunde ->
Minute -> Stunde, wobei HL  auf  die  Stunde  zeigt) in sechs einzelne
Nibbels um (Stunde high, Stunde low,  Minute high, Minute low, Sekunde
high, Sekunde low). Diese  sechs  Nibbles  werden  ab DE abgelegt, und
zwar in der Reihenfolge, in der sie auch gelesen werden. -->
Wenn wir bei obigem Beispiel bleiben: &01,&08,&03,&07,&05,&06 ab DE.
Achtung: Der Zeiger auf die  drei  Quellbytes,  also HL, zeigt auf das
LETZTE der drei Bytes. HL zeigt also auf die Stunde.
Das von dieser OS Funktion  erzeugte  Zeit  Format ist zur OS Funktion
ZEEZ kompatibel, ZEEZ erlaubt  es  die  Zeit-Daten video-orientiert zu
editieren. Siehe dort ...

Bitte Beachten: Achtung,  die  Highbytes  aller  Quellbytes bzw. aller
Zielbytes môssen identisch sein. Es darf die Code-Page nicht verlassen
werden. >==> DE < &XXFA /// HL > &XX02.
Die Zielbytes (  ab  DE  )  werden  zwar  ganz normal speicheraufwðrts
geschrieben, jedoch werden die Quellbytes ( unter HL ) speicherabwðrts
gelesen!!!


















            EINZELNE BYTES IN DOBBERTIN-ZEIT KOMPRIMIEREN
            =============================================

Kurzbeschreibung: Die von Z_D2Z(s.o.) expandierten Bytes werden wieder
komprimiert, und so zur Dobbertin-Echtzeituhr kompatibel gemacht.

Label: Z_Z2D

ROM-Nummer: D

Startadresse: &FE8B

Einsprungbedingungen:  Das Highbyte aller  sechs Quellbytes muº gleich
sein, das Highbyte aller drei Zielbytes ebenfalls.
DE = Zeiger auf erstes v. sechs Quellbytes: H,H,M,M,S,S.
HL = Zeiger auf letztes von drei Zielbytes: Sek,Min,Stu. z.B.: UHR_STU

Aussprungbedingungen: Unter HL stehen drei Zeit-Bytes im RAM.

Manipuliert: AF, BC, E, L und die drei Zielbytes.

Beschreibung: Diese OS Funktion  ist  das  Gegenstôck zu Z_D2Z (s.o.).
Hat  man  zuvor  die   Dobbertin-Zeit   in   ZEEZ  kompatibles  Format
expandiert, so dient  diese  OS  Funktion  dazu,  diese  sechs Nibbles
wieder zu drei Bytes zusammenzufassen.  Die sechs Quell-Nibbles werden
ab DE gelesen, und die drei Ziel-Bytes werden unter HL geschrieben.
Auch hierbei zeigt HL wieder  auf  das  letzte der drei Ziel-Bytes. Im
Speicher sind drei Bytes  fôr  Sekunde,  Minute und Stunde vorgesehen,
dabei zeigt HL auf das Byte fôr die Stunde.

Bitte Beachten: Achtung,  die  Highbytes  aller  Quellbytes bzw. aller
Zielbytes môssen identisch sein. Es darf die Code-Page nicht verlassen
werden. >==> DE < &XXFA /// HL > &XX02.































            DOBBERTIN-DATUM IN EINZELNE BYTES EXPANDIEREN
            =============================================

Kurzbeschreibung: Drei Dobbertin-kompatible  Datum Bytes  werden zu
sechs Bytes expandiert. Jedes dieser sechs Bytes enthðlt ein Nibble.

Label: Z_D2J

ROM-Nummer: D

Startadresse: &FE8E

Einsprungbedingungen: Das Highbyte aller drei Quellbytes muº identisch
sein, das Highbyte aller sechs Zielbytes ebenfalls.
DE = Zeiger auf sechs Zielbytes: T,T,M,M,J,J.
HL = Zeiger auf drei Quellbytes:   T,  M,  J. // z.B. UHR_TAG

Aussprungbedingungen: Ab DE wurden sechs Datums-Bytes geschrieben.

Manipuliert: AF, BC, E, L und die sechs Zielbytes.

Beschreibung: Die Echtzeituhr von  Dobbertin  liefert auch die Datums-
Daten in einem speziellem Format. Tag, Monat und Jahr sind je in einem
Byte zusammengefasst. Dabei wird das BCD Format verwendet.
Enthalten die Datums-Bytes die Werte  &21  (Tag),  &04 (Monat) und &69
(Jahr), dann bedeutet das den 21. April '69.
Will man das Datum editieren,  dann  hðtte  man gerne jedes Nibble fôr
sich.
Diese OS Funktion wandelt drei  Dobbertin-kompatible Bytes ab HL (Tag,
Monat, Jahr) in sechs einzelne  Nibbels  um  (Tag high, Tag low, Monat
high, Monat low, Jahr high, Jahr  low).  Diese sechs Nibbles werden ab
DE abgelegt, und zwar  in  der  Reihenfolge,  in  der sie auch gelesen
werden.
Wenn wir bei obigem Beispiel bleiben: &02,&01,&00,&04,&06,&09 ab DE.
Das von dieser OS Funktion erzeugte  Datums Format ist zur OS Funktion
ZEED kompatibel, ZEED erlaubt  es  die Datums-Daten videoorientiert zu
editieren. Siehe dort ...

Bitte Beachten: Achtung,  die  Highbytes  aller  Quellbytes bzw. aller
Zielbytes môssen identisch sein. Es darf die Code-Page nicht verlassen
werden. >==> DE < &XXFA /// HL < &XXFD.























            EINZELNE BYTES IN DOBBERTIN-DATUM KOMPRIMIEREN
            ==============================================

Kurzbeschreibung: Die von Z_D2J(s.o.) expandierten Bytes werden wieder
komprimiert, und so zur Dobbertin-Echtzeituhr kompatibel gemacht.

Label: Z_J2D

ROM-Nummer: D

Startadresse: &FE91

Einsprungbedingungen:  Das Highbyte aller  sechs Quellbytes muº gleich
sein, das Highbyte aller drei Zielbytes ebenfalls.
DE = Zeiger auf sechs Quellbytes: T,T,M,M,J,J.
HL = Zeiger auf  drei  Zielbytes:   T,  M,  J. // z.B. UHR_TAG

Aussprungbedingungen: Ab HL wurden drei Datums-Bytes geschrieben.

Manipuliert: AF, BC, E, L und die drei Zielbytes.

Beschreibung: Diese OS Funktion  ist  das  Gegenstôck zu Z_D2J (s.o.).
Hat  man  zuvor  das   Dobbertin-Datum   in  ZEED  kompatibles  Format
expandiert, so dient  diese  OS  Funktion  dazu,  diese  sechs Nibbles
wieder zu drei Bytes zusammenzufassen.  Die sechs Quell-Nibbles werden
ab DE gelesen, und die drei Ziel-Bytes werden ab HL geschrieben.

Bitte Beachten: Achtung,  die  Highbytes  aller  Quellbytes bzw. aller
Zielbytes môssen identisch sein. Es darf die Code-Page nicht verlassen
werden. >==> DE < &XXFA /// HL < &XXFD.


































            UHR-ZEIT ODER DATUM VIDEO-ORIENTIERT EDITIEREN
            ==============================================

Kurzbeschreibung: Diese beiden  OS  Funktionen  erlauben  es das Datum
(ZEED) bzw. die Uhr-Zeit (ZEEZ) video-orientiert zu editieren.

Label: ZEED (Datum) bzw. ZEEZ (Uhr-Zeit).

ROM-Nummer: D

Startadresse: &FE97 (ZEED) /// &FE94 (ZEEZ)

Einsprungbedingungen: Die  Variable  C_POS  markiert  die  linke obere
Ecke, des Editierfeldes. Das Editierfeld ist 22 Zeichen breit und drei
Zeilen hoch. Es muº im Mode 2 (64*32) aktiv sein.
HL = Zeiger auf sechs Bytes Datum bzw. Zeit, wobei HL < &XXFA !!!

Aussprungbedingungen: Das  Z-Flag  informiert  ôber  den  Ausgang  des
Editiervorgangs:
Zero-Flag geleert ==> alles o.k. es wurde mit Copy beendet.
Zero-Flag gesetzt ==> Das Editieren wurde mit ESC abgebrochen!

Manipuliert: AF, BC, DE, HL, IX, C_POS, REG08_0,1, REG16_0,1,2 und die
sechs Bytes ab HL.

Beschreibung: Mit Hilfe dieser beiden OS  Funktion lðºt sich das Datum
bzw. die  Uhrzeit  video-orientiert  editieren.  Will  man  das  Datum
verðndern, dann benutzt man ZEED, um die Zeit auf den neusten Stand zu
bringen benutzt man ZEEZ. Beide OS Funktionen sind sich sehr ðhnlich.
Vor dem Einsprung ist  auf  Bildschirmmodus  2  und  64 Zeichen mal 32
Zeilen zu schalten. Die Variable C_POS  ist mit der linken oberen Ecke
des Editierfensters zu  laden.  Dieses  Editierfenster  ist 22 Zeichen
breit und 3  Zeilen  hoch,  denn  es  werden  die  groºen Zahlen-Sðtze
verwendet. Auºerdem muº HL auf  sechs  Bytes  zeigen, die entweder das
Datum oder die Zeit beinhalten.
Format des Datums: &02,&01,&00,&04,&06,&09 ==> 21. 4.69
Format der   Zeit: &01,&08,&03,&07,&05,&06 ==> 18:37:56
Um diese sechs Bytes  aus  den  Daten  der Dobbertin-Uhr zu generieren
kann man die OS Funktion Z_D2J (Datum) bzw. Z_D2Z (Zeit) benutzen.
Der  Editiervorgang  wird  mit  den  Cursortasten  durchgefôhrt.  Copy
beendet korrekt, wogegen die ESC Taste abbricht.
Das Zero Flag gibt Aufschluº ob  mit  Copy beendet wurde (Z=0) oder ob
mit ESC abgebrochen wurde (Z=1).
In jedem Fall ist es  aber  mógich  dass  die  Bytes ab HL manipuliert
wurden, u. U. kann es sinnvoll sein sie an anderer Stelle zu sichern.

Bitte Beachten: Vor Aufruf der OS Funktion  muº Mode 2 aktiv sein. Der
Bildschirm muº auf 64 Zeichen mal 32 Zeilen geschaltet werden.
Ist das Z-Flag beim Rôcksprung gesetzt,  dann hat der Anwender mit ESC
abgebrochen.
Beachte: HL muº kleiner als &XXFA sein !!! Die sechs Edit-Bytes dôrfen
keinen Page-Ôbertritt haben. HL & HL + 6 môssen selbes Highbyte haben.












         RE-MARKIEREN ALLER ALT-MARKIERTEN DATEIEN
         =========================================

Kurzbeschreibung: Alle bearbeiteten Dateien,  also alle alt-markierten
Dateien eines Laufwerks werden neu markiert.

Label: RTLW

ROM-Nummer: D

Startadresse: &FE82

Einsprungbedingungen: HL = TURBO_A..M, Systemvariablen korrekt!

Aussprungbedingungen: Alle bearbeiteten Dateien sind neu markiert.

Manipuliert: AF, BC', D', HL' und u.U. einige TMS_? des LWs.

Beschreibung: Hat man eine  Reihe  von  markierten Dateien bearbeitet,
dann hat sich ihr Status  von  "markiert" auf "alt-markiert" geðndert.
Alle markierten Dateien werden  im  Desktop unterstrichen dargestellt,
alle alt-markierten Dateien werden durchgestrichen dargestellt.
Will man alle bereits  bearbeiteten  Dateien nochmals bearbeiten, dann
sollte man sie zuerst neu markieren. Dies erledigt diese OS Funktion.
Alle alt-markierten Dateien  eines  Laufwerks  /  einer Partition A..M
werden neu markiert. Andere,  bereits  markierte, Dateien werden nicht
beeinflusst, bleiben also ebenfalls markiert.
Beim Einsprung ist das Register HL  mit  dem  Zeiger auf eine der RAM-
Variablen  TURBO_A  bis  TURBO_M  zu   laden.   Dadurch  wird  das  zu
bearbeitende Laufwerk selektiert. Beispiel einer Anwendung:

Zuerst wird durch das Register A das Laufwerk gewðhlt.

 LD   A,LW              ;Laufwerk A..M, symbolisiert durch 0..12.
 RLCA
 RLCA
 RLCA           ;LW mit 8 multiplizieren
 LD   HL,TURBO_A        ;Zeiger auf TURBO_A (erstes Laufwerk)
 ADD  A,L
 LD   L,A               ;TURBO_A + (LW * 8)

 CALL RTLW              ;OS Funktion aufrufen, alte Dateien neu markieren

Vor Aufruf der OS Funktion kann man das LW-Tag-Byte direkt aus TURBO_?
laden: " LD A,(HL) " und testen, ob das LW ôberhaupt aktiv ist.

Bitte Beachten: Bereits markierte  Dateien bleiben weiterhin markiert.
Die Laufwerkswahl funktioniert etwas umstðndlich ôber HL.
















         ALLE DATEIEN EINES LAUFWERKS ENTMARKIEREN
         =========================================

Kurzbeschreibung: Alle Dateien eines Laufwerks werden entmarkiert.

Label: UTLW

ROM-Nummer: D

Startadresse: &FE85

Einsprungbedingungen: HL = TURBO_A..M, Systemvariablen korrekt!

Aussprungbedingungen: Alle bearbeiteten Dateien sind entmarkiert.

Manipuliert: AF, BC', D', HL' und u.U. einige TMS_? des LWs.

Beschreibung:  Alle  markierten  Dateien   eines   Laufwerks  /  einer
Partition A..M werden ent-markiert.
Alle markierten Dateien werden  im  Desktop unterstrichen dargestellt,
alle nicht-markierten Dateien werden normal dargestellt.
Beim Einsprung ist das Register HL  mit  dem  Zeiger auf eine der RAM-
Variablen  TURBO_A  bis  TURBO_M  zu   laden.   Dadurch  wird  das  zu
bearbeitende Laufwerk selektiert. Beispiel einer Anwendung:

Zuerst wird durch das Register A das Laufwerk gewðhlt.

 LD   A,LW              ;Laufwerk A..M, symbolisiert durch 0..12.
 RLCA
 RLCA
 RLCA           ;LW mit 8 multiplizieren
 LD   HL,TURBO_A        ;Zeiger auf TURBO_A (erstes Laufwerk)
 ADD  A,L
 LD   L,A               ;TURBO_A + ( LW * 8 )

 CALL UTLW              ;OS Funktion aufrufen, alle Dateien ent-markieren

Vor Aufruf der OS Funktion kann man das LW-Tag-Byte direkt aus TURBO_?
(? = A-M) laden: " LD A,(HL)  "  und testen, ob das LW ôberhaupt aktiv
ist.

Bitte Beachten: Die Laufwerkswahl erfolgt etwas umstðndlich ôber HL.






















                  AUF HEGOTRON GRAFPAD 2 TESTEN
                  =============================

Kurzbeschreibung: Testen, ob ein Hegotron Grafpad 2 angeschlossen ist.

Label: T_GP2

ROM-Nummer: D

Startadresse: &E714

Einsprungbedingungen: -

Aussprungbedingungen:  Der  Akku  gibt   Aufschluss  darôber,  ob  das
Hegetron Grafpad 2 am CPC angeschlossen ist.
A = &00 und Zero-Flag gesetzt --> es ist kein GP2 angeschlossen
A = &01-05 und Zero-Flag geleert --> das GP2 ist angeschlossen

Manipuliert: AF und BC.

Beschreibung: Diese OS Funktion ôberprôft, ob am CPC das Grafpad 2 der
Firma Hegotron angeschlossen und betriebsbereit ist. Diese OS Funktion
wird ohne Parameter aufgerufen, nach ihrer Rôckkehr geben Akku und das
Zero Flag Aufschluss ôber das eventuelle Vorhandensein des Grafpad 2.
Kehrt die OS Funktion mit dem Wert &00 im Akku und gesetztem Zero Flag
zurôck, so ist kein Grafpad  2  angeschlossen.  Enthðlt der Akku einen
anderen Wert als Null  und  ist  das  Zero  Flag  gelóscht, so ist das
Grafpad 2 angeschlossen.

Beispiel:

 CALL T_GP2     ;Auf Grafpad 2 testen.
 JR   Z,NO_GP2  ;Es ist KEIN GP 2 vorhanden!

GP2 ...         ;GP2 ist vorhanden!

...
...

Bitte Beachten: -

ACHTUNG: Die Einsprungadresse ist seit FutureOS Version 0.8 geðndert!






















                  ABFRAGE DES HEGOTRON GRAFPAD 2
                  ==============================

Kurzbeschreibung: Abfrage der X-  und  Y-Koordinaten, sowie der beiden
Knópfe E und S des Hegotron Grafpad 2.

Label: G_GP2

ROM-Nummer: D

Startadresse: &E725

Einsprungbedingungen: -

Aussprungbedingungen: Die Register DE  und  HL  geben  ôber  X- und Y-
Koordinaten und die Knópfe E und S Aufschluss.
DE = Y-Koordinate, theoretisch: &0000-&04FF, praktisch: &001B-&0484
HL = X-Koordinate, theoretisch: &0000-&05FF, praktisch: &0020-&05DF
In Register H ist ausserdem der Status der beiden Knópfe E (Bit 7, MSB
von H) und S (Bit 6 von H) enthalten. Dabei symbolisiert ein geleertes
Bit eine gedrôckte Taste. Ist  das  entsprechende Bit gesetzt, so wird
die zugehórige Taste nicht gedrôckt.

Manipuliert: AF, BC, DE, HL und BC'

Beschreibung: Ist am CPC ein  Hegotron  Grafpad 2 angeschlossen (bitte
zuvor testen!), dann lassen sich  mit  G_GP2 die aktuellen Koordinaten
des Eingabestiftes und der  Knópfe  abfragen.  Nach  dem Aufruf der OS
Funktion steht im Register DE die Y-Koordinate des Stiftes, dabei sind
theoretisch Werte zwischen &0000  und  &04FF  móglich, praktisch deckt
das Grafiktablett etwa den Bereich  von  &001B  bis &0484 ab (das kann
allerdings von Gerðt zu Gerðt  leicht  variieren). Kleine Y-Werte sind
unten, nahe beim Anwender. Groºe Y-Werte sind oben, vom Anwender weg.
Im Register HL wird die X  Koordinate  (Bits  0-10) und der Status der
beiden Knópfe  ôbergeben.  Die  X-Koordinate  kann  dabei  theoretisch
zwischen &0000 und &05FF liegen,  praktisch  wird der Bereich von etwa
&0020 bis &05DF abgedeckt. Kleine  X-Werte  befinden sich links, groºe
X-Werte befindne sich auf der rechten Seite des Grafiktabletts.
In den obersten beiden Bits (7,  6)  von  Register H sind die Knópfe E
(Bit 7) und S (Bit 6) verschlôsselt:
- Ist Bit 7 gelóscht, so  wird  Taste E (Entry, Exit) gerade gedrôckt.
  Ist Bit 7 dagegen auf 1 gesetzt, so wird E gerade nicht gedrôckt.
- Ist Bit 6 auf 0 geleert,  so  wird Taste S (Select) gerade gedrôckt.
  Ist Bit 6 dagegen auf 1 gesetzt, so wird S gerade nicht gedrôckt.

Beispiel:

 CALL G_GP2 ;Grafpad 2 Koordinaten und Knópfe abfragen.

 LD  (GP2_X_Koordinate),DE ;X-Koordinate ins RAM
 LD  A,H
 AND A,&C0             ;Bits 7 und 6 (Tasten E und S) isolieren,
 LD  (KEYS_E_AND_S),A) ;und Tasten-Status (??00 0000) im RAM sichern
 RES 7,H
 RES 6,H
 LD  (GP2_Y_Koordinate),HL ;Y-Koordinate ins RAM
...

Bitte Beachten: Diese OS Funktion darf NUR dann verwendet werden, wenn
zuvor die Bereitschaft des Grafpad  2  am  CPC geprôft wurde (siehe OS
Funktion T_GP2).

ACHTUNG: Die Einsprungadresse ist seit FutureOS Version 0.8 geðndert!

          ABFRAGE DER KNÓPFE E UND S DES HEGOTRON GRAFPAD 2
          =================================================

Kurzbeschreibung: Die beiden Knópfe  E  und  S  des Hegotron Grafpad 2
werden abgefragt.

Label: K_GP2

ROM-Nummer: D

Startadresse: &E750

Einsprungbedingungen: -

Aussprungbedingungen: Der Akku gibt  Aufschluss  darôber, ob einer der
beiden Knópfe E (Entry, Exit) und/oder S (Select) gedrôckt wird.
Register A Bit 7 entspricht Knopf E.
Register A Bit 6 entspricht Knopf S.
Dabei symbolisiert  ein  gelóschtes  Bit  eine  gedrôckte  Taste,  ein
gesetztes Bit zeigt an, dass die Taste nicht gedrôckt wird.

Manipuliert: AF und BC.

Beschreibung: Ist am CPC ein  Hegotron  Grafpad 2 angeschlossen (bitte
zuvor testen!), dann  lðºt  sich  mit  K_GP2  der  aktuelle Status der
Knópfe abfragen. In den obersten  beiden  Bits  (7,  6) von Register A
sind die Knópfe E (Bit 7) und S (Bit 6) verschlôsselt:
- Ist Bit 7 gelóscht, so  wird  Taste E (Entry, Exit) gerade gedrôckt.
  Ist Bit 7 dagegen auf 1 gesetzt, so wird E gerade nicht gedrôckt.
- Ist Bit 6 auf 0 geleert,  so  wird Taste S (Select) gerade gedrôckt.
  Ist Bit 6 dagegen auf 1 gesetzt, so wird S gerade nicht gedrôckt.

Beispiel:

 CALL K_GP2 ;Grafpad 2 Koordinaten und Knópfe abfragen.

 AND A,&C0             ;Bits 7 und 6 isolieren (??00 0000)
 LD  (KEYS_E_AND_S),A) ;und Status der Tasten im RAM sichern

...

Bitte Beachten: Diese OS Funktion darf NUR dann verwendet werden, wenn
zuvor die Bereitschaft des Grafpad  2  am  CPC geprôft wurde (siehe OS
Funktion T_GP2).

ACHTUNG: Die Einsprungadresse ist seit FutureOS Version 0.8 geðndert!


















     EINLESEN DER INHALTSVERZEICHNISSE ALLER MARKIERTEN LAUFWERKE
     ============================================================

Kurzbeschreibung: Die Inhaltsverzeichnisse aller markierten Laufwerken
und Festplatten-Partitionen (A bis M)  werden  eingelesen und im E-RAM
gepuffert.

Label: GET_DIR

ROM-Nummer: D

Startadresse: &FE7C

Einsprungbedingungen: Laufwerke und HD20 Festplatten-Partitionen deren
Inhaltsverzeichnis  eingelesen  werden  soll  môssen  in  den  System-
Variablen TUBBO_A bis TURBO_M markiert sein (siehe Datei #OS-VAR.DEU).
Es muss genôgend freies  Erweiterungs-RAM  (E-RAM)  vorhanden sein, um
die Inhaltsverzeichnisse puffern zu kónnen.

Aussprungbedingungen: Die Inhaltsverzeichnisse wurden eingelesen.
Der Akku gibt Aufschluss ôber den Erfolge der OS Funktion:
A = &00 ==> Alle Inhaltsverzeichnisse wurden erfolgreich eingelesen.
A = &01 ==> Es war kein Laufwerk markiert, es wurde nichts gelesen.
A = &02 ==> Es war nicht genôgend E-RAM frei. Abbruch. Nichts gelesen!
A = &FF ==> Auf ein Medium konnte nicht zugegriffen werden! Abbruch!

Manipuliert: AF, BC, DE, HL, AF', BC', DE', HL', IX, TURBO_A..M
FDC, Laufwerks-Motoren und einige E-RAMs.

Beschreibung: Diese High-Level Funktion  des  FutureOS  erlaubt es die
Inhaltsverzeichnisse von Floppy  Disk  Laufwerken  und Partitionen der
HD20 Festplatte (Dobbertin) einzulesen und im E-RAM zu puffern.
Die eingelesenen  Inhaltsverzeichnisse  werden  sortiert. Anschlieºend
wird eine Kopie davon (das 16er  DIR)  erzeugt, welches nur die Datei-
Namen enthðlt und in dieser Form direkt am Bildschirm angezeigt werden
kann (siehe OS Funktionen SCRI, SC_AU, SC_AB im ROM D).
Um Laufwerke und/oder Partitionen  zum lesen des Inhaltsverzeichnisses
auszuwðhlen muss Bit 0 der entsprechen Variablen (TURBO_A, B, C,... M)
gesetzt werden. Bei allen andernen muss  das Bit 0 gelóscht werden, um
sie nicht auch einzulesen.
Nach dem Aufruf der OS Funktion GET_DIR  gibt der Akku ôber den Erfolg
der Funktion Aufschluss. Wenn der Akku auf &00 gesetzt wurde, dann ist
alles in Ordnung. Sollte der  Akku  allerdings &01 enthalten, dann war
beim Aufruf der  OS  Funktion  gar  kein  Speicher-Medium markiert, es
konnte also auch nichts gelesen werden. Enthðlt der Akku den Wert &02,
dann war nicht genôgend  E-RAM  vorhanden,  auch  in diesem Fall wurde
nichts gelesen.
Fôr den Speicher-Verbrauch kann folgende Regen zur Anwendung konnen:
Data, System Format benótigen maximal:  3 KB
Vortex Format benótigt maximal.......:  6 KB
HD20 Partition benótige maximal......: 24 KB
RAM-Diskette (M) benótigt maximal....:  2 KB
Zusðtzlich werden 16 KB als Puffer fôr das untere RAM benótigt.

Beispiel: Laufwerk A (Data) und B (Vortex) benótigen 25 KB E-RAM.

Bitte Beachten: Diese High-Level  OS  Funktion verðndert alle Register
ausser IY und I. Bei zu wenig E-RAM kommt es zum Abbruch.
Laufwerke bzw. Partitionen die  nicht  eingelesen werden sollen môssen
in ihren TURBO_? (? = A..M) Variablen deaktiviert werden.

In ðlteren FutureOS Versionen ist diese OS Funktion nicht vorhanden!


          KONVERTIERE ZWEI ASCII-ZEICHEN IN EINEN 8 BIT WERT
          ==================================================

Kurzbeschreibung: Zwei  ASCII-Zeichen  werden  in  einen  8  Bit  Wert
konvertiert.

Label: CC2ND

ROM-Nummer: D

Startadresse: &FE7F

Einsprungbedingungen: HL enthðlt zwei ASCII-Zeichen ("0"-"9", "A"-"F")
H enthðlt das hóherwertige und L das niederwertige Zeichen.

Aussprungbedingungen: A  = 8 Bit Wert &00-&FF

Manipuliert: AF und B

Beschreibung: Diese OS Funktion  dient  dazu  zwei ASCII-Zeichen (0-9,
A-F), die im Register  HL  enthalten  sind,  in  einen  8  Bit Wert zu
konvertieren. Bei Aufruf der  OS  Funktion  enthðlt H das hóherwertige
Zeichen und L enthðlt  das  niederwertig  Zeichen. Nach dem Rôcksprung
der  Funktion  enthðlt  der   Akku   einen   8   Bit  Wert,  der  sich
folgendermaºen errechnet:


Beispiel:

Das Register HL wird mit &3742 geladen. Wobei &42 = ASC("B") ist.

        LD   HL,&3742
        CALL CC2ND

Der Akku enthðlt nun &7B.

Diese OS Funktion eignet sich  lediglch  dazu  Zeichen von "0" bis "9"
und "A" bis "F" in einen 8 Bit Wert zu konvertieren.

Bitte Beachten: Die zu konvertierenden Zeichen môssen zwischen "0" und
"9" (&30-&39) bzw. "A" und "F" (&41-&46) sein.























          RUN - APPLIKATION ODER PROGRAMM STARTEN
          =======================================

Kurzbeschreibung: Die erste markierte Datei wird geladen & ausgefôhrt.

Label: ADR_RUN

ROM-Nummer: D

Startadresse: &FE79

Einsprungbedingungen: Es sollte eine Programm-Datei markiert sein.

Aussprungbedingungen: Die  Kontrolle  wird  an  das  geladene Programm
ôbergeben. Zuvor wird:
- das OK Icon deaktiviert
- das untere RAM eingeblendet (oben: ROM D)
- der (E-)RAM Status entsprechend des Datei-Headers eingestellt
- die OS RAM Variable (REG_PC+&01)  mit  der Nummer (0-14) des Mediums
beschrieben, von dem das Programm geladen wurde, z.B. 0 = Laufwerk A

Falls beim Aufruf keine Datei markiert war, dann wird das Menô des RUN
Icons aufgerufen.

Manipuliert: Abhðngig von der ausgefôhrten Applikation

Beschreibung: Diese OS Funktion dient  dazu  die erste markierte Datei
zu laden und zu  starten.  Bei  dieser  Datei  sollte  es  sich um ein
ausfôhrbares Programm handeln.
Wenn beim Aufruf keine Datei markiert  ist  dann  wird in das Menô des
RUN Icons gesprungen.
Der Aufruf dieser OS Funktion  entspricht  also  dem Anklicken des RUN
Icons.

Bitte Beachten: Bei der ersten  markierten  Datei  muss es sich um ein
ausfôhrbares Programm handeln.
In ðlteren FutureOS Versionen ist diese OS Funktion nicht vorhanden!























Die aktuelle Version dieser Datei  (API-D-DE.DOK) ist auch im Internet
erhðltlich, unter ...
FutureOS Homepage: http://www.FutureOS.de
e Version dieser Datei  (gelóschtes  Bit  eine  gedrôckte  Taste,  ein
gesetztes Bit zeigt an, dass die Taste nicht gedrôckt wird.

Manipuliert: AF un