| 24 | static uint8_t mem_read_flash_serial(uint32_t); |
| 25 | |
| 26 | void mem_init(void) { |
| 27 | unsigned int i; |
| 28 | |
| 29 | /* Allocate FLASH memory */ |
| 30 | mem.flash.block = (uint8_t*)malloc(SIZE_FLASH); |
| 31 | memset(mem.flash.block, 0xFF, SIZE_FLASH); |
| 32 | |
| 33 | for (i = 0; i < NUM_8K_SECTORS; i++) { |
| 34 | mem.flash.sector8k[i].ptr = mem.flash.block + i * SIZE_FLASH_SECTOR_8K; |
| 35 | mem.flash.sector8k[i].ipb = 0; |
| 36 | mem.flash.sector8k[i].dpb = 1; |
| 37 | } |
| 38 | |
| 39 | for (i = 0; i < NUM_SECTORS; i++) { |
| 40 | mem.flash.sector[i].ptr = mem.flash.block + i * SIZE_FLASH_SECTOR_64K; |
| 41 | mem.flash.sector[i].ipb = 1; |
| 42 | mem.flash.sector[i].dpb = 1; |
| 43 | } |
| 44 | mem.flash.sector[1].ipb = 0; |
| 45 | |
| 46 | /* Allocate RAM */ |
| 47 | mem.ram.block = (uint8_t*)calloc(SIZE_RAM, 1); |
| 48 | |
| 49 | mem.flash.write = 0; |
| 50 | mem.flash.command = FLASH_NO_COMMAND; |
| 51 | gui_console_printf("[CEmu] Initialized Memory...\n"); |
| 52 | } |
| 53 | |
| 54 | void mem_free(void) { |
| 55 | free(mem.ram.block); |
no test coverage detected