repo2/firmware/linux/linux_memory.c @ 455
183 | markw | #include <stdint.h>
|
|
#include <string.h>
|
|||
#include "regs.h"
|
|||
#include "memory.h"
|
|||
#include "linux_memory.h"
|
|||
void* SRAM_BASE;
|
|||
void* SDRAM_BASE;
|
|||
void* atari_regbase;
|
|||
void* atari_regmirror;
|
|||
275 | markw | void* zpu_regbase;
|
|
void* pokey_regbase;
|
|||
195 | markw | void* CARTRIDGE_MEM;
|
|
183 | markw | ||
210 | markw | void* FREEZER_RAM_MEM;
|
|
void* FREEZER_ROM_MEM;
|
|||
183 | markw | #define SRAM_SIZE (512*1024)
|
|
#define SDRAM_SIZE (8*1024*1024)
|
|||
#define ATARI_SIZE (64*1024)
|
|||
#define CONFIG_SIZE (256)
|
|||
195 | markw | #define CARTRIDGE_SIZE (2*1024*1024)
|
|
210 | markw | #define FREEZER_RAM_SIZE (128*1024)
|
|
#define FREEZER_ROM_SIZE (64*1024)
|
|||
183 | markw | ||
uint8_t sram_memory[SRAM_SIZE];
|
|||
uint32_t sdram_memory[SDRAM_SIZE / 4];
|
|||
uint8_t atari_memory[ATARI_SIZE];
|
|||
uint8_t atari_mirror_memory[ATARI_SIZE];
|
|||
uint32_t config_memory[CONFIG_SIZE/4];
|
|||
195 | markw | uint32_t cartridge_memory[CARTRIDGE_SIZE / 4];
|
|
183 | markw | ||
210 | markw | uint32_t freezer_ram_memory[FREEZER_RAM_SIZE / 4];
|
|
uint32_t freezer_rom_memory[FREEZER_ROM_SIZE / 4];
|
|||
183 | markw | void init_memory(void)
|
|
{
|
|||
memset(sram_memory, SRAM_SIZE, 0);
|
|||
memset(sdram_memory, SDRAM_SIZE, 0);
|
|||
memset(atari_memory, ATARI_SIZE, 0);
|
|||
memset(atari_mirror_memory, ATARI_SIZE, 0);
|
|||
memset(config_memory, CONFIG_SIZE, 0);
|
|||
195 | markw | memset(cartridge_memory, CARTRIDGE_SIZE, 0);
|
|
210 | markw | memset(freezer_ram_memory, FREEZER_RAM_SIZE, 0);
|
|
memset(freezer_rom_memory, FREEZER_ROM_SIZE, 0);
|
|||
183 | markw | ||
SRAM_BASE = sram_memory;
|
|||
SDRAM_BASE = sdram_memory;
|
|||
atari_regbase = atari_memory;
|
|||
atari_regmirror = atari_mirror_memory;
|
|||
275 | markw | zpu_regbase = config_memory;
|
|
pokey_regbase = config_memory+0x100*4;
|
|||
195 | markw | CARTRIDGE_MEM = cartridge_memory;
|
|
210 | markw | FREEZER_RAM_MEM = freezer_ram_memory;
|
|
FREEZER_ROM_MEM = freezer_rom_memory;
|
|||
183 | markw | ||
// command line is high
|
|||
*zpu_sio = 1;
|
|||
// no trigger pressed
|
|||
*atari_trig0 = 1;
|
|||
}
|