xref: /haiku/src/system/boot/platform/atari_m68k/atari_memory_map.h (revision 9209acd256945cca86763bee5a38c7bda92077b4)
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