Die Abteilungen des Betriebssystems: Die Basic-Vektoren Überblick: Die Basic-Vektoren Die Firmware des Schneider CPC: Die Basic-VektorenDie Basic-Vektoren werden zwar auch von JUMPER: BD37: JUMP RESTOREJUMP RESTORE eingerichtet, haben aber keine von Amstrad garantierte Lage. Praktisch alle Basic-Vektoren haben im CPC 464, 664 und 6128 eine andere Lage.
Zusätzlich wurden ab dem CPC 664 Die Basic-Vektoren: Die Integer-Routinendie Integer-Routinen in's Basic-ROM verlagert, so dass hierfür überhaupt keine Vektoren mehr nötig wurden. Sie fielen einfach weg. Auch einige Fließkomma-Vektoren wurden wegrationalisiert. In diesem Fall ist statt der Adresse des Vektors immer die Adresse der Routine selbst angegeben. Diese Routinen müssen nun per ROM-Konfiguration: RestartsRestart aufgerufen werden.
Adressen Bezeichnung Beschreibung
----------------- ----------------- ------------------------------------------
464 664 6128
Editor: BD3A / BD5B / BD5E: EDITBD3A BD5B BD5E EDIT Eingabe und Bearbeiten eines Datentypen: StringsStrings (Zeichenkette).
Adressen Bezeichnung Beschreibung
--------------- ----------------- ------------------------------------------
464 664 6128
Die Fließkomma-Routinen: ZufallsgeneratorZufallsgenerator:
Zufallsgenerator: BD97 / BDB8 / BDBB: FLO RANDOMIZE 0BD97 BDB8 BDBB FLO RANDOMIZE 0
Zufallsgenerator: BD9A / BDBB / BDBE: FLO RANDOMIZEBD9A BDBB BDBE FLO RANDOMIZE LW(HL) XOR &89656C07 -> LW(seed)
Zufallsgenerator: BD9D / BD7C / BD7F: FLO RNDBD9D BD7C BD7F FLO RND RND -> FLO(HL)
Zufallsgenerator: BDA0 / BD88 / BD8B: FLO LAST RNDBDA0 BD88 BD8B FLO LAST RND letzten RND-Wert -> FLO(HL)
Die Fließkomma-Routinen: OperationenOperationen:
Operationen: BD58 / BD79 / BD7C: FLO ADDBD58 BD79 BD7C FLO ADD FLO(HL) + FLO(DE) -> FLO(HL)
Operationen: BD5E / BD7F / BD82: FLO SUB*BD5E BD7F BD82 FLO SUB* FLO(DE) - FLO(HL) -> FLO(HL)
Operationen: BD5B / 349A / 349A: FLO SUBBD5B 349A 349A FLO SUB FLO(HL) - FLO(DE) -> FLO(HL)
Operationen: BD61 / BD82 / BD85: FLO MULTBD61 BD82 BD85 FLO MULT FLO(HL) * FLO(DE) -> FLO(HL)
Operationen: BD64 / BD85 / BD88: FLO DIVBD64 BD85 BD88 FLO DIV FLO(HL) / FLO(DE) -> FLO(HL)
Operationen: BD7C / BD9D / BDA0: FLO POTBD7C BD9D BDA0 FLO POT FLO(HL) ^ FLO(DE) -> FLO(HL)
Operationen: BD6A / BD8B / BD8E: FLO VGLBD6A BD8B BD8E FLO VGL SGN (FLO(HL)-FLO(DE)) -> Operationen: BD5B / 349A / 349A: FLO SUBA
Die Fließkomma-Routinen: FunktionenFunktionen:
Funktionen: BD6D / BD8E / BD91: FLO VZWBD6D BD8E BD91 FLO VZW -1 * FLO(HL) -> FLO(HL)
Funktionen: BD79 / BD9A / BD9D: FLO SQRBD79 BD9A BD9D FLO SQR SQR (FLO(HL)) -> FLO(HL)
Funktionen: BD7F / BDA0 / BDA3: FLO LOG NATBD7F BDA0 BDA3 FLO LOG NAT LOG (FLO(HL)) -> FLO(HL)
Funktionen: BD82 / BDA3 / BDA6: FLO LOG DECBD82 BDA3 BDA6 FLO LOG DEC LOG10 (FLO(HL)) -> FLO(HL)
Funktionen: BD85 / BDA6 / BDA9: FLO POT EBD85 BDA6 BDA9 FLO POT LOW KERNEL JUMPBLOCK: 000E: LOW PCBC INSTRUCTION LOW KERNEL JUMPBLOCK: 001E: LOW PCHL INSTRUCTIONE LOW KERNEL JUMPBLOCK: 000E: LOW PCBC INSTRUCTION LOW KERNEL JUMPBLOCK: 001E: LOW PCHL INSTRUCTIONE ^ FLO(HL) -> FLO(HL)
Funktionen: BD88 / BDA9 / BDAC: FLO SINBD88 BDA9 BDAC FLO SIN SIN (FLO(HL)) -> FLO(HL)
Funktionen: BD8B / BDAC / BDAF: FLO COSBD8B BDAC BDAF FLO COS COS (FLO(HL)) -> FLO(HL)
Funktionen: BD8E / BDAF / BDB2: FLO TANBD8E BDAF BDB2 FLO TAN TAN (FLO(HL)) -> FLO(HL)
Funktionen: BD91 / BDB2 / BDB5: FLO ARC TANBD91 BDB2 BDB5 FLO ARC TAN ARCTAN (FLO(HL)) -> FLO(HL)
Funktionen: BD55 / BD76 / BD79: FLO 10^ABD55 BD76 BD79 FLO 10^A 10^Operationen: BD5B / 349A / 349A: FLO SUBA * FLO(HL) -> FLO(HL)
Funktionen: BD67 / ---- / ----: FLO 2^ABD67 ---- ---- FLO 2^A 2^Operationen: BD5B / 349A / 349A: FLO SUBA * FLO(HL) -> FLO(HL)
Funktionen: BD70 / BD91 / BD94: FLO SGNBD70 BD91 BD94 FLO SGN SGN (FLO(HL)) -> Operationen: BD5B / 349A / 349A: FLO SUBA
Die Fließkomma-Routinen: Sonstigessonstiges:
Sonstiges: BD3D / BD5E / BD61: FLO MOVEBD3D BD5E BD61 FLO MOVE FLO(DE) -> FLO(HL)
Sonstiges: BD76 / BD97 / BD9A: FLO PIBD76 BD97 BD9A FLO PI PI -> FLO(HL)
Sonstiges: BD73 / BD94 / BD97: FLO DEG/RADBD73 BD94 BD97 FLO DEG/RAD Radiant / Degree umschalten.
Adressen Bezeichnung Beschreibung
----------------- ----------------- ------------------------------------------
464 664 6128
Die Integer-Routinen: Operationen mit VorzeichenOperationen mit Vorzeichen (Komplement-Darstellung):
Operationen mit Vorzeichen: BDAC / DD4F / DD4A: INT ADD VZBDAC DD4F DD4A INT ADD VZ HL + DE -> HL
Operationen mit Vorzeichen: BDAF / DD58 / DD53: INT SUB VZBDAF DD58 DD53 INT SUB VZ HL - DE -> HL
Operationen mit Vorzeichen: BDB2 / DD57 / DD52: INT SUB* VZBDB2 DD57 DD52 INT SUB* VZ DE - HL -> HL
Operationen mit Vorzeichen: BDB5 / DD60 / DD5B: INT MULT VZBDB5 DD60 DD5B INT MULT VZ HL * DE -> HL
Operationen mit Vorzeichen: BDB8 / DDA1 / DD9C: INT DIV VZBDB8 DDA1 DD9C INT DIV VZ HL / DE -> HL rest DE
Operationen mit Vorzeichen: BDBB / DDA8 / DDA3: INT MOD VZBDBB DDA8 DDA3 INT MOD VZ HL / DE -> DE rest HL
Operationen mit Vorzeichen: BDC4 / DE07 / DE02: INT VGLBDC4 DE07 DE02 INT VGL SGN (HL-DE) -> Operationen: BD5B / 349A / 349A: FLO SUBA
Die Integer-Routinen: Funktionen mit VorzeichenFunktionen mit Vorzeichen:
Funktionen mit Vorzeichen: BDC7 / DDF2 / DDED: INT VZWBDC7 DDF2 DDED INT VZW -1 * HL -> HL
Funktionen mit Vorzeichen: BDCA / DDFE / DDF9: INT SGNBDCA DDFE DDF9 INT SGN SGN (HL) -> Operationen: BD5B / 349A / 349A: FLO SUBA
Die Integer-Routinen: Operationen ohne VorzeichenOperationen ohne Vorzeichen:
Operationen ohne Vorzeichen: BDBE / DD77 / DD72: INT MULTBDBE DD77 DD72 INT MULT HL * DE -> HL
Operationen ohne Vorzeichen: BDC1 / DDB0 / DDAB: INT DIVBDC1 DDB0 DDAB INT DIV HL / DE -> HL rest DE
Adressen Bezeichnung Beschreibung
--------------- ----------------- ------------------------------------------
464 664 6128
Die Basic-Vektoren: KonvertierungKonvertierung:
Konvertierung: BD46 / BD67 / BD6A: ROUND FLO TO HLABD46 BD67 BD6A ROUND FLO TO HLA ROUND(FLO(HL)) -> HL, Operationen: BD5B / 349A / 349A: FLO SUBA=VZ
Konvertierung: BD40 / BD61 / BD64: KONV HLA TO FLOBD40 BD61 BD64 KONV HLA TO FLO HL, Operationen: BD5B / 349A / 349A: FLO SUBA=VZ -> FLO(DE)
Konvertierung: BD43 / BD64 / BD67: KONV LW TO FLOBD43 BD64 BD67 KONV LW TO FLO LW(HL), Operationen: BD5B / 349A / 349A: FLO SUBA=VZ -> FLO(HL)
Konvertierung: BD49 / BD6A / BD6D: ROUND FLO TO LWBD49 BD6A BD6D ROUND FLO TO LW ROUND(FLO(HL)) -> LW(HL), LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB=VZ
Konvertierung: BD4C / BD6D / BD70: FIX FLO TO LWBD4C BD6D BD70 FIX FLO TO LW FIX(FLO(HL)) -> LW(HL), LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB=VZ
Konvertierung: BD4F / BD70 / BD73: INT FLO TO LWBD4F BD70 BD73 INT FLO TO LW Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - Interrupt Besonderheiten der Z80 im Schneider CPC: normaler Interrupt Die Besonderheiten des FDC 765 im Schneider CPC: INTINT(FLO(HL)) -> LW(HL), LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB=VZ
Konvertierung: BD94 / BDB5 / BDB8: KONV LW+C TO FLOBD94 BDB5 BDB8 KONV LW+C TO FLO LW(HL)*256+C -> FLO(HL)
Konvertierung: BDA9 / DD3C / DD37: KONV HLB TO INTBDA9 DD3C DD37 KONV HLB TO Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - Interrupt Besonderheiten der Z80 im Schneider CPC: normaler Interrupt Die Besonderheiten des FDC 765 im Schneider CPC: INTINT HL, LOW KERNEL JUMPBLOCK: 000B: LOW KL LOW PCHL LOW KERNEL JUMPBLOCK: 001B: LOW KL FAR PCHL LOW KERNEL JUMPBLOCK: 003B: LOW EXT INTERRUPTB=VZ -> HL
Basic und Maschinencode: ParameterParameter für Real: Dezimalwandlung Die Basic-Vektoren: DezimalwandlungDezimalwandlung bestimmen:
Dezimalwandlung: BD52 / BD73 / BD76: FLO PREPAREBD52 BD73 BD76 FLO PREPARE FLO(HL) -> Basic und Maschinencode: ParameterParameter
Dezimalwandlung: BDA3 / DD2F / DD2A: INT PREPARE VZBDA3 DD2F DD2A INT PREPARE VZ HL (Integer mit VZ) -> Basic und Maschinencode: ParameterParameter
Dezimalwandlung: BDA6 / DD35 / DD30: INT PREPAREBDA6 DD35 DD30 INT PREPARE HL (Integer ohne VZ) -> Basic und Maschinencode: ParameterParameter
Adresse Bezeichnung Beschreibung
-------- -------------------- ------------------------------------------
KEY MANAGER: BD3A: KM SET LOCKSBD3A KM SET LOCKS Lege den Shift- und den Caps-Lock-Status neu fest.
KEY MANAGER: BD3D: KM FLUSHBD3D KM FLUSH Lösche alle bisher aufgelaufenen Zeichen im Tastatur-Puffer.
TEXT VDU: BD40: TXT ASK STATEBD40 TXT ASK STATE Erfrage Die Text-VDU: Der Cursorden Cursor- und VDU-Status des aktuellen Textfensters.
GRAPHICS VDU: BD43: GRA DEFAULTBD43 GRA DEFAULT Stelle die Standardwerte für die verschiedenen Optionen der Grafik-VDU ein.
GRAPHICS VDU: BD46: GRA SET BACKBD46 GRA SET BACK Setze den Die Grafik-VDU: Hintergrund-ModusHintergrund-Modus der Grafik-VDU.
GRAPHICS VDU: BD49: GRA SET FIRSTBD49 GRA SET FIRST Setze die Erster-Punkt-Option für die zu zeichnenden Linien.
GRAPHICS VDU: BD4C: GRA SET LINE MASKBD4C GRA SET LINE MASK Lege die Punktmaske für Linien neu fest.
GRAPHICS VDU: BD4F: GRA FROM USERBD4F GRA FROM USER Konvertiere die User-Koordinaten (Adressierungsarten der Z80: Relativrelativ zum Origin)
in Basiskoordinaten (Adressierungsarten der Z80: Relativrelativ zur linken unteren Ecke).
GRAPHICS VDU: BD52: GRA FILLBD52 GRA FILL Male eine beliebige Fläche aus.
SCREEN PACK: BD55: SCR SET POSITIONBD55 SCR SET POSITION Lege die Lage des Bildschirms nur für die Software neu fest.
MACHINE PACK: BD58: MC PRINT TRANSLATIONBD58 MC PRINT TRANSLATION Ändere die Zeichen-Übersetzungs-Tabelle für den Drucker.
HIGH KERNEL JUMPBLOCK: B92A: HI KL SCAN NEEDEDB92A MAIN FIRMWARE JUMPBLOCK: KERNEL Die Firmware des Schneider CPC: KERNELKL SCAN NEEDED Teile dem MAIN FIRMWARE JUMPBLOCK: KERNEL Die Firmware des Schneider CPC: KERNELKernel mit, dass Einleitung: Die Tastatur Anhang: Die Tastaturdie Tastatur mit dem nächsten Alle noch folgenden Anschlüsse fallen unter die Rubrik STEUER- oder auch CONTROLBUS:: INT - InterruptInterrupt
abgefragt werden muss.
Adresse Bezeichnung Beschreibung
-------- -------------------- ------------------------------------------
Die Indirections der Firmware-Packs: BDF4: IND KM SCAN KEYSBDF4 IND KM SCAN KEYS Frage Einleitung: Die Tastatur Anhang: Die Tastaturdie Tastatur ab.
Adresse Bezeichnung Beschreibung
-------- -------------------- ------------------------------------------
KERNEL: BD5B: KL RAM SELECTBD5B KL RAM SELECT Wähle eine neue BD5B: KL RAM SELECT: Mögliche RAM-Konfigurationen:RAM-Konfiguration aus.
|