
Was passiert beim Start von FutureOS?
=====================================

ROM A (F_OS)
------------
- Bit 7 in Register R auf 0 setzen (|OS Aufruf, kein |FDESK)
- Interrupts aus
- &E8 --> &FBEE - LS Confirmations aus
- Register SP auf &BFF4 setzen
- Wert &45ED (RETN) an Adresse &0066/7 schreiben
- &E5 --> &FBEE - LS Fast Getters (LS zeigt Daten fr 10 us am Bus)
- Wert &FB (EI) an Adresse &0038 schreiben
- Wert &4DED (RETI) an Adresse &0039/A schreiben
- &EF --> &FBEE - LS Epson Modus aktivieren
- Interrupt Modus 2 einschalten
- Register I auf &BD (fr IM 2) setzen
- &EB --> &FBEE - LS auf Blocking bei Sprachausgabe AUS
- &05 --> &FE81 - Reset Albireo, bentigt ca. 35 ms, hat aber nur ca. 20 ms. Reicht wohl.
- &C0 --> &7FC0 - 1. 64 KB Hauptspeicher ein
- &81 --> &FBEE - LS Buffer Delay auf 20 us setzen
- &FF --> &F8FF - Pheripherie zurcksetzen
- &FF --> &FF00 - CPC Booster zurcksetzen
- &AF --> &FBEE - LS Lautstrke auf 15 (= maximal) setzen
- &00 --> &FBDF - USIfAC zurcksetzen
- Lesen von &FBE4 - HD20 zurcksetzen
- &B2/3 --> &FBEE - LS Stimme 2/3 aktivieren
- &82 --> &F782 - PIO A,C = Ausgang, B = Eingang
- &00 --> &F6xx - PSG auf inaktiv setzen
- &07 --> &F407 - PSG Register 7 selektieren
- &C0 --> &F6C0 - PSG auf Latch Address, damit Daten (=&07) annehmen
- &00 --> &F6xx - PSG auf inaktiv setzen
- &3F --> &F43F - PSG Port A auf Eingabe
- &80 --> &F680 - PSG auf schreiben, damit Daten (=&3F) annehmen
- &00 --> &F6xx - PSG auf inaktiv setzen
- &E6/7 --> &FBEE - LS Spanischer/Englischer Modus aktivieren
- CRTC Register 0-9, 12-13 setzen
- KOBYA: Eventuell SF2 RTC auf BCD Modus setzen (Achtung: Knnte ohne SF2 Uhr hngen bleiben!)
===> Sprung nach ROM C ab FDESKC

ROM C (FDESKC)
--------------
- Interrupts aus (sind bereits aus, zur Sicherheit)
- Bereich von &A000 bis &FFFF mit &00 fllen
- SP auf &C000 setzen, 'FDESKC' auf Stack (&BFFE/F) sichern
- Standart RAM ein (&7FC0), in 'AKT_RAM' vermerken
- Beider ROMs und MODE 2 ein (&7F82), in 'RAMCHAR' vermerken
- &50 = 80 Bytes von XAST_N (&FDAA) nach TAST_N  (&B980) kopieren
- &50 = 80 Bytes von         &FDFA  nach TAST_S  (&BB00) kopieren
- &50 = 80 Bytes von         &FE4A  nach TAST_C  (&BB80) kopieren
- &50 = 80 Bytes von         &FE9A  nach TAST_SC (&BB00) kopieren
- &0C = 12 Bytes von         &FEEA  nach KF_MED  (&B96E) kopieren - Konfiguration
- &0A = 10 Bytes von         &FEF6  nach UHR_00  (&B95A) und UHR_ROM (&B962) kopieren = ASM-Datum und ROM Nummer dxs RTC / M4
- Aufruf CSTI in A, Steuercode-Tabellen ins RAM kopieren
- Aufruf DOBIN in A, Dobbertin/dxs / M4 RTC Routinen ins RAM
- Aufruf SECOL in B, Farben ins RAM kopieren und setzen
- Aufruf SWZGEN in B, Spurwechselzeiten FDC ins RAM
- Aufruf RAMI, E-RAM auf Vorhandensein testen -> Variablen XRAM_C4 bis _FF setzen
- Aurfuf PRO_MD, RAM-Disc schtzen
- Aufruf TXR4M, 4 MB E-RAM testen, Variablen setzen
- Variablen (FDE_RAM)=&7FC0, (FDC_ERR)=FDC_E_B, (C_POS)=&BFFF setzen
- Header deaktivieren durch (&BC00)=&FF und (&BC80)=&FF
- Variable (AKT_ROM) auf ROM D (aus ROM_D+1) setzen (fr's Umblenden auf ROM D im Anschlu...)
- Variable (ADROM_A) auf ROM A (aus ROM_A+1) setzen 
- Variable (TURBO_X) auf &80FF setzen, entspricht 512 KB E-RAM
- Variable (MON_ROM) auf &C086 setzen, entspricht 1. 64 KB und MODE 2 mit L-RAM
+ Variable (MON_MMB) auf &A0 setzen, also Memory-Mapped auf aus
- PlayCity detektieren und in (KF_MED) vermerken
- VN96 vorhanden? Dann Wert &80 an Port &EF80 schicken, VN96 Leitung = 1 legen -> VN96 Netzwerk benutzbar
- Albireo detektieren und in (KF_MED = &B96E) vermerken
- FDC0 und FDC1 detektieren, in (KF_FDHD) vermerken
- HD20 detektieren, in (KF_FDHD) vermerken
- CPC-Booster(+) detektieren, in (KF_FDHD) vermerken
- Tastatur-Verzgerung setzen, in Variablen VZ_MOD, VZ_AG, VZ_AA, VZ_FG und VZ_FA
- FDC Schreibe-/Lese-Versuchen auf 9 setzen in Variable (FDCLSV)
- SF2 und SF3 detektieren und in Konfiguration vermerken in (KF_CPC)
- Schneider RS232 (mit Z80-STI) detektieren, in (KF_SIO) vermerken
- Amstrad / Pace RS232 (mit Z80-SIO/DART) detektieren, in (KF_SIO) vermerken
- USIfAC RS232 (mit PIC) detektieren, in (KF_SIO) vermerken
- Detektion von LambdaSpeak, SSA-1 und dk'tronics Sprach-Synthesizern prfen, in (KF_VERS) vermerken
- Test ob Nova nvRAM vorhanden, in (KF_VERS) vermerken
- Test ob 8. Bit von Register R gesetzt wurde (also OS mit |FDESK gestartet)
  Wenn ja, dann E-RAM Variablen XRAM_C4, _C5 und _C6 mit Wert &11 belegen, also E-RAMs als 'belegt' markieren
- Initialisierung der Albireo Maus
===> Sprung nach ROM D, dabei:
     CPC 6128: Sprung nach TUR_D in ROM D
     6128plus: Sprung nach TUR_C in ROM D

ROM D (TUR_C/D)
---------------
+ Ab TUR_C 17 Bytes ab INIMDAT (&FE62) werden and ASIC Register &BCxx geschickt, MM wird freigeschalten
+ MM via &7FB8 freischalten
  + Sprite 0 Koordinaten (&6000-3) auf &00 setzen
  + Sprite von DESS (&FD80) nach &4000 entpacken
  + 30 Bytes Farbdaten von SPRFA (&FD62) nach &6422 kopieren
+ MM via &7FA0 ausschalten


...






















