1/* 2 * Copyright 2008, François Revol, revol@free.fr. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef ATARI_MEMORY_MAP_H 6#define ATARI_MEMORY_MAP_H 7 8 9/* the DMA-accessible RAM */ 10/*#define ATARI_CHIPRAM_BASE 0x00000000*/ 11/* actually, the first 2kB aren't usable */ 12#define ATARI_CHIPRAM_BASE 0x00001000 13#define ATARI_CHIPRAM_MAX 0x00e00000 14#define ATARI_CHIPRAM_LAST \ 15 (ATARI_CHIPRAM_BASE + (ATARI_CHIPRAM_MAX - 1)) 16 17#define ATARI_TOSROM_BASE 0x00e00000 18#define ATARI_TOSROM_MAX 0x00100000 19#define ATARI_TOSROM_LAST \ 20 (ATARI_TOSROM_BASE + (ATARI_TOSROM_MAX - 1)) 21 22/* some reserved ST I/O there... */ 23 24/* cartridge ROM */ 25#define ATARI_CARTROM_BASE 0x00fa0000 26#define ATARI_CARTROM_MAX 0x00020000 27#define ATARI_CARTROM_LAST \ 28 (ATARI_CARTROM_BASE + (ATARI_CARTROM_MAX - 1)) 29 30#define ATARI_SYSROM_BASE 0x00fc0000 31#define ATARI_SYSROM_MAX 0x00030000 32#define ATARI_SYSROM_LAST \ 33 (ATARI_SYSROM_BASE + (ATARI_SYSROM_MAX - 1)) 34 35/* more ST I/O there... */ 36 37/* the fast, non-DMA-accessible RAM */ 38#define ATARI_FASTRAM_BASE 0x01000000 39// max on TT, 40// but there is nothing beyond until SHADOW_BASE 41//#define ATARI_FASTRAM_MAX 0x00400000 42#define ATARI_FASTRAM_MAX 0xfe000000 43#define ATARI_FASTRAM_LAST \ 44 (ATARI_FASTRAM_BASE + (ATARI_FASTRAM_MAX - 1)) 45 46 47 48/* due to ST legacy (24 bit addressing), IO is actually there */ 49#define ATARI_SHADOW_BASE 0xff000000 50 51#define ATARI_IO_BASE (ATARI_SHADOW_BASE + 0x00f00000) 52#define ATARI_IO_MAX 0x00100000 53#define ATARI_IO_LAST \ 54 (ATARI_IO_BASE + (ATARI_IO_MAX - 1)) 55 56 57 58 59 60/* physical memory layout as used by the bootloader */ 61 62//#define ATARI_ZBEOS_STACK_BASE 0x00040000 63#define ATARI_ZBEOS_STACK_BASE 0x00060000 64#define ATARI_ZBEOS_STACK_END 0x00080000 65 66/* from .prg shell.S will copy itself there 67 * must stay in sync with src/system/ldscripts/m68k/boot_prg_atari_m68k.ld 68 */ 69#define ATARI_ZBEOS_BASE 0x00080000 70#define ATARI_ZBEOS_MAX 0x00080000 71#define ATARI_ZBEOS_LAST \ 72 (ATARI_ZBEOS_BASE + (ATARI_ZBEOS_MAX - 1)) 73 74 75#define ATARI_STRAM_VIRT_BASE 76 77#endif /* ATARI_MEMORY_MAP_H */ 78