S Y M B O S M E M O R Y M A P Date: 02.01.2005 =============================================================================== A.) General Memory Usage The following diagram shows, in which way the different memory banks are used in SymbOS. Bank 0 Bank 1 Bank n FFFF +-----------------+ +-----------------+ +-----------------| | | | | | | | | | | | | | VideoRAM | | free | | free | | | | | | | | | | | | | C000 +-----------------| +-----------------| +-----------------| | SubRoutines | | | | | | | | | | | | ScreenManager | | free | | free | | | | | | | | DesktopManager | | | | | 8000 +-----------------| +-----------------| +-----------------| | | | | | | | | | | | | | DesktopManager | | free | | free | | | | | | | | | | | | | 4000 +-----------------| +-----------------| +-----------------| | DesktopManager | | | | | | SystemManager | | | | | | DeviceManager | | FileManager | | free | | Kernel | | | | | | KernelJumps | | KernelJumps | | KernelJumps | 0000 +-----------------+ +-----------------| +-----------------| =============================================================================== B.) Application Memory Usage The memory inside an application RAM bank (1-n) is used in the following way: 1.) 0000-03FF Kernel jumps, Kernel banking routines 2.) 0400-FFFF Application code and internal application data 3.) 0400-3FFF, Application data used by the screen manager 4000-7FFF, (one object has to be inside one 16K block) 8000-BFFF, C000-FFFF 4.) C000-FFFF Application "transfer" data, used =============================================================================== C.) Memory Configurations The following diagram shows, how the memory is configured during the activity of a special part in SymbOS. DesktopManager ScreenManager FileManager Application FFFF +-----------------+ +-----------------+ +-----------------| +-----------------| | Bank n, Block 3 | | Bank 0, Block 3 | | Bank 0, Block 3 | | Bank n, Block 3 | | Transfer Ram | | Video RAM | | | | Trns.,Code,Data | C000 +-----------------| +-----------------| +-----------------| +-----------------| | Bank 0, Block 2 | | Bank 0, Block 2 | | Bank 0, Block 2 | | Bank n, Block 2 | | | | ScreenManager | | | | Code, Data Ram | 8000 +-----------------| +-----------------| +-----------------| +-----------------| | Bank 0, Block 1 | | Bank n, Block m | | Bank 1, Block 0 | | Bank n, Block 1 | | DesktopManager | | Data RAM | | FileManager | | Code, Data Ram | 4000 +-----------------| +-----------------| +-----------------| +-----------------| | Bank 0, Block 0 | | Bank 0, Block 0 | | Bank 0, Block 1 | | Bank n, Block 0 | | | | | | | | Code, Data Ram | 0000 +-----------------+ +-----------------| +-----------------| +-----------------|