Übersicht
| Adresse von | Adresse bis | Bytes | Typ | Funktion | Beschreibung |
|---|---|---|---|---|---|
| 0000 | 1FFF | 8192 | ROM | Betriebssystem MAT85 | MAT85 |
| 2000 | 3FFF | 8192 | ROM | SP1 Softwareerweiterung | MAT85+ |
| 4000 | 4FFF | 4096 | ROM | Mini-DOS | |
| 5000 | 57FF | 2048 | ROM | SPS-Erweiterung Kontaktplanausgabe | |
| 5800 | 5FFF | 2048 | ROM | SPS-Erweiterung Dokumentation | |
| 6000 | 67FF | 2048 | RAM | Reserviert | ursprünglich für Basic vorgesehen In einer bestimmten MAT32K liegt hier das Programm „SPS Verknüpfungsplan“ |
| 6800 | 77FF | 4096 | ROM | BFZ-Editor | |
| 7800 | 7FFF | 2048 | ROM | Editor – Hilfsmenü | Hilfeseiten ab 7833 |
| 7FE0-7FFF: Copyright-Hinweis | |||||
| 8000 | DFFF | 28672 | RAM | Erforderlich für Steuer-Basic | GAL-Programmierer nutzt hiervon den Bereich D000-D8FF |
| C000 | ca. CE00 | RAM | GAL-Programmierer | GAL-Programmierer Programm muss manuell nachgeladen werden | |
| E000 | EFFF | 2048 | RAM | Benutzer-RAM für Programme | Erforderlich für MAT85, MINI-DOS und SPS |
| F000 | F7FF | 2048 | RAM | Benutzer-RAM | Mindestens erforderlicher RAM-Bereich |
| F800 | FFFF | 2048 | RAM | System-RAM |
System-RAM
| Bereich | von | bis | Anzahl | Beschreibung | |
|---|---|---|---|---|---|
| F800-FBFF | 1024 | Anwender-RAM | Pufferbereich, Teilweise bei Erweiterungen belegt | ||
| F800 | FAFF | 768 | Daten-Buffer | Datenpuffer für MINI-DOS | |
| FB00 | FBFF | 256 | Variablenspeicher | Variablen für BFZ-Editor | |
| FC00-FC7F | 1024 | Stackspeicher | MAT85 RAM – Stackspeicher | ||
| FC00 | FC31 | 50 | User-Stack | Stackspeicher für Benutzerbereich | |
| FC32 | FC7F | 78 | Monitor-Stack | Stackspeicher für Betriebssystem | |
| FC80-FCA0 | Sprungvektoren | ||||
| FC80 | FC82 | 3 | SERIN | Sprungadresse Seriell Input | |
| FC83 | FC85 | 3 | SEROUT | Sprungadresse Seriell Output | |
| FC86 | FC88 | 3 | CASIN | Sprungadresse Kassette Input | |
| FC89 | FC8B | 3 | CASOUT | Sprungadresse Kassette Output | |
| FC8C | FC8E | 3 | RST2 | Sprungadresse Restart 2 | |
| FC8F | FC91 | 3 | RST3 | Sprungadresse Restart 3 | |
| FC92 | FC94 | 3 | RST5 | Sprungadresse Restart 5 | |
| FC95 | FC97 | 3 | RST55 | Sprungadresse Restart 5.5 (Hardwareinterrupt) | |
| FC98 | FC9A | 3 | RST6 | Sprungadresse Restart 6 | |
| FC9B | FC9D | 3 | RST65 | Sprungadresse Restart 6.5 (Hardwareinterrupt) | |
| FC9E | FCA0 | 3 | RST75 | Sprungadresse Restart 7.5 (Hardwareinterrupt) | |
| FCA1- FCC3 | 37 | Eingabewerte | Zwischenspeicher für Kommando | ||
| FCA1 | 1 | FORMAT | Format der Eingabe (ASCII,HEX,DEZ,BIN) | ||
| FCA2 | 12 | BPTADR | Breakpoint-Adressen (max. 4) | ||
| FCAE | 2 | MBADR | Hilfsspeicher für Adress-Eingaben | ||
| FCB0 | 2 | PBADR | Hilfsspeicher für Adress-Eingaben | ||
| FCB2 | 2 | PEADR | Hilfsspeicher für Adress-Eingaben | ||
| FCB4 | 2 | ABADR | Hilfsspeicher für Adress-Eingaben | ||
| FCB6 | 2 | DBADR | Hilfsspeicher für Adress-Eingaben | ||
| FCB8 | 2 | DEADR | Hilfsspeicher für Adress-Eingaben | ||
| FCBA | 2 | TBADR | Trace Beginn-Adresse | ||
| FCBC | 2 | TEADR | Trace Ende-Adresse | ||
| FCBE | 2 | LBADR | Load Beginn-Adresse | ||
| FCC0 | 2 | SBADR | Save Beginn-Adresse | ||
| FCC2 | 2 | SEADR | Save Ende-Adresse | ||
| FCC4- FCCE | 4 | Breakpoint/Tracer, Hilfsspeicher Ein/Ausgabe, CRT | |||
| FCC4 | 1 | TRCFLG | TRACE-Flag | ||
| FCC5 | 1 | BPTACT | Breakpoint aktiv | ||
| FCC6 | 1 | BPTFLG | Breakpoint-Flag | ||
| FCC7 | 1 | BCKFLG | ? | ||
| FCC8 | 1 | CRTFLG | CRT-Ausgabe aktiv (unterscheidung Video 8.2/RS232) | ||
| FCC9 | 1 | GROFLG | Großschreiben aktiv | ||
| FCCA | 1 | RUBFLG | DEL-Taste bei Eingabe möglich CRT/TTY | ||
| FCCB | 1 | STEPS | Anzahl Schritte (Next Instruction) | ||
| FCCC | 1 | LINES | Anzahl der Zeilen auf dem Bildschirm (==>Space für Weiter) | ||
| FCCD | 1 | DATA | In/Out Hilfsspeicher ? | ||
| FCCE | 1 | PORT | In/Out Hilfsspeicher ? | ||
| FCCF- FCDC | Zwischenspeicher CPU Registerwerte | ||||
| FCCF | FCDE | 16 | Register-Buffer | ||
| FCCF | FCD0 | 2 | PSWERT | Zwischenspeicher Akku und Flag-Register | |
| FCD1 | FCD2 | 2 | BCWERT | Zwischenspeicher Register B,C | |
| FCD3 | FCD4 | 2 | DEWERT | Zwischenspeicher Register D,E | |
| FCD5 | FCD6 | 2 | HLWERT | Zwischenspeicher Register H, L | |
| FCD7 | FCD8 | 2 | PCWERT | Zwischenspeicher PC Programmzeiger | |
| FCD9 | FCDA | 2 | SPWERT | Zwischenspeicher SP Stackpoint | |
| FCDB | 1 | IMWERT | Zwischenspeicher IM Interrupt-Maske | ||
| FCDC | 1 | SPMON | Zwischenspeicher Stack-Point des Monitors | ||
| FCDD | 1 | ? | |||
| FCDE- FDFF | Sonstige | ||||
| FCDE | FCDE | 1 | RESBUF | Flag für Warm-/Kaltstart Inhalt != 5A führt zu einem Kaltstart | |
| FCDF | FCE0 | 2 | STIME | Zeitzähler für ermittelte Baudrate SERIN/SEROUT mit Video 8.2 | |
| FCE1 | FCF2 | 18 | BUFFER | Eingabe/ASCII-Puffer | |
| FCF3- FCFC | |||||
| FCF3 | FCFA | 17 | TRACER | Puffer für Code im Tracer | |
| FCFB | 1 | RST | RST während Tracer | ||
| FCFD- FD00 | Inkremental-Assembler | ||||
| FCFD | FCFE | 2 | Letzte Adresse (?) | ||
| FCFF | FD00 | 2 | Nächste Adresse (?) | ||
| FD01- FDFF | ? | ||||
| FD01 | FD02 | 2 | Zeiger auf FE30 ?? | ||
| FD03 | FD04 | 3 | Zeiger auf FD8E ? | ||
| FD05 | FD14 | ?? Leer ?? | |||
| FD15 | FD16 | Zeiger auf FD2D? | |||
| FD17 | FD18 | Zeiger auf FFFF? | |||
| FD19 | FD1A | Zeiger auf FD09 | |||
| FD1B | FD1C | Zeiger auf FD08 | |||
| FD1D | FD1E | CR, LF ? | |||
| FD1F | FD23 | Textstelle „F D 0 8 . „,0,0 | |||
| FD24 | FD39 | Textstelle: „0 0 . . . . . . . . . . . . . . NOP . . „,$00 | |||
| ? Siehe Codestelle L3CA6 | |||||
| FD3A | FD6C | 50 x Leerzeichen, $00 | |||
| FD6D | ?? | ||||
| FD6E | FD8F | Leer ? | |||
| FD90 | FFFF | 512 | ? | … derzeit noch nicht weiter untersucht |
Speicheraufteilung für SPS (MAT85 SP1)
| Speicheradresse | Anzahl Byte | Beschreibung |
|---|---|---|
| E000 – E0EC | 237 Byte | Hilfsspeicher für SPS-Programm E003 (LSB) und E004 (MSB) zeigen auf die Adresse des letzten Bytes des SPS-Programmes |
| E0ED – max. EFFF | max. 3859 Byte | SPS-Programmspeicher Anfang des SPS-Speichers: E0ED |
| F000 – FBFF | 3072 Byte | SPS-Stack |
| FC00 – FD0F | 272 Byte | RAM für MAT85 (Siehe System-RAM) |
| FD10 – FD31 | 34 Byte | Hilfsspeicher für SPS |
Speicheraufteilung für BASIC (MAT85 SP1)
| Speicheradresse | Anzahl Byte | Beschreibung |
|---|---|---|
| 8000 – 806E | 111 Byte | Hilfsspeicher für BASIC-Programm enthält auch einen Programmcode Adresse des ersten freien Bytes im BASIC-Programmspeicher steht in 8064 (LSB) 8065 (MSB) Ende des Programmspeichers in den Speicherzellen 8066 (LSB) und 8067 (MSB) Adresse des obersten RAM-Bereiches (+1) das von BASIC genutzt wird steht in den Speicherzellen 806C (LSB) und 806D (MSB) |
| 806F – max. DEE7 | max. 32377 Byte | BASIC-Programmspeicher |
| | | |
| DEE8 – DF1A | 52 Byte | Variablenspeicher (A-Z) |
| DF1B – DFFF | 228 Byte | BASIC-Stack |
| | | |
| FC00 – FD0F | 272 Byte | RAM für MAT85 (Siehe System-RAM) |
| FD10 – FD38 | 41 Byte | Hilfsspeicher für BASIC |