Memory Map PC-E220 after Reset ------------------------------ Ram range: 0-7FFF, System ROM: 8000-BFFFF, Basic ROM: C000-FFFF (mapable range) Ram area usage range 1) Header (reserved) 0 - 00FF 2) Machine language area 0100 - (7FFE,7FFF)-1 3) Ram file area (7FFE,7FFF) - 4) Text Area (7973,7974) - (7975,7976) 5) Basic program area (79E1,79E2) - (79E3,79E4) 6) Basic stack (79FC,79FD) - 77DF 7) System area 77E0 - 7FFF values in parantheses indicates memory location which hold the current value 0000 *Jump to BFF4 0030 *Jump to BD03 0038 *RET 0066 *RETN USER+1A *Beginn RAMdisk (in MONITOR ist USER änderbar (default USER=FF) Die Filelänge (immer 8+8 Bytes) in der Ramdisk steht in den beiden Bytes hinter dem Filenamen 77E0 *Start of System Rambereich 7800-78CF Variablenbereich A-Z (7800= Z, je 7 Bytes) 78E7-78E8 *Start Address of IO-buffer 78EC SIO Transmission mode bits: *Bit 7: is received char EOT ? *Bit 6: EOL matches (is complete) *Bit 5: previous was CR ? *Bit 4: check for EOL ? 78ED *Baudrate: 0x1=300, 0x2=600, 0x4=1200, 0x8=2400, 0x10=4800, 0x20=9600 highest bit starting from bit 5 is relevant. all bits 0 ==> 300 Baud 78EE *Parameter serielle Schnittstelle: *Bit 2 add --> CR, else if BIT 0 add --> LF else add --> CR LF *Bit 1: (set for CR LF), Bit 3: unused, Bit 4: 1+Bit4 Stopbits, *Bit 5: 0=Odd 1=Even parity if parity enabled *Bit 6: 0=no parity 1=parity check/generation enabled *Bit 7: 7+Bit7 Databits 78EF *Byte zur Kennzeichnung des Übertragungsendes (EOT) 78F0 Auto-Power-Off-Pointer 7900 *current bank-id mapped to C000-FFFF 7901-7904 *Maske für Displaysymbole 790D *first LCD row offset (0-7) [enables simple scrolling] 790E Nummer zuletzt angewähltes File in der Ramdisk 7912-7913 Anfang Eintrag erstes File in der Ramdisk (Name) 7921 *Aktuelle Cursorzeile (0-3) 7922 *Aktuelle Cursorspalte (0-23) 7932 *current interrupt mask at port 17H 7973-7974 Start Textbereich 7975-7976 Ende Textbereich 79B3-79B4 Basicpointer 79B5-79B6 Basic-Zeilenbereich, der gerade abgearbeitet wird 79B9 current Basic byte code 79C0-79C7 Password 79E1-79E2 Anfang ausführbares Basic-Programm 79E3-79E4 Ende ausführbares Basic-Programm 79FC-79FD Unteres Ende Basic-Variablenbereich RAMTOP 79FE-79FF Start ausführbares Basic-Programm 7A60-7A77 letzte Zeile CAL Rechenergebnis 7A80-7A98 letztes CAL Rechenergebnis (auf 11 Stellen genau) 7AA0-7AA1 Programmpointer 7AA2-7AA3 Programmpointer 7AA6-7AA7 gerade benutzte Variable (?) 7AB6-7AB7 FOR-Pointer (?) 7AB8-7AB9 Variablenzeiger 7AC8-7AC9 FOR-Pointer 7ACA-7ACB Variablenzeiger 7ADC-7ADD Variablenzeiger 7B00-7B5F *Zeichen im (Monitor-)Display 7B60-7BAF 7BB0-7BC7 Displayzeile CAL 7C00-7CFF Eingabepuffer, ausgewertet 7D00-7DFF 7E00-7ED5 Basic-Stringpuffer 7EE8- Eingabezeile 7F40-7F4B *LCD line scratch data (12 characters) 7FFD- *TOP of Stack (is decreased by PUSH) at most 178 bytes !!! 7FFE-7FFF *address of first non USER range, i.e. here USER+1 is stored * indicates self verified addresses last updated: 2004-04-01 18:30