BIOS Overall Memory Map
From CPCWiki - THE Amstrad CPC encyclopedia!
RAM
0000h 40h Copy of ROM (RST/IRQ Vectors) 0040h User RAM A67Ch 80h User Defined Characters CHR(F0h..FFh) A6FCh 4h AMSDOS Header (for RSX commands) A700h 500h AMSDOS Data AC00h 500h BASIC Data B100h 800h BIOS Data B900h 200h BIOS Code (relocated from ROM) BB00h 300h BIOS Vectors BE00h 40h Stack BE40h 40h Stack or AMSDOS Data BE80h 180h Stack C000h 4000h VRAM
BIOS ROM
0000h 40h RST/IRQ Vectors 0040h 37C0h Stuff 3800h 800h Character Set (256 characters, 8x8 bits each)
BASIC/AMSDOS ROMS
C000 1h ROM Type (lower 2bit: 0=Foreground, 1=Background, 2-3=?) (bit7: 1=prevent KL_FIND_COMMAND from searching further foreground ROMs) C001 1h ROM Mark (whatever, usually 0 or 1) C002 1h ROM Version (usually 00h or higher) C003 1h ROM Modification (whatever, usually 0) C004 2h Pointer to RSX Function Names C006 ... RSX Function Vectors (3bytes each) (1st=Initialization Code)