- Planificant els mapejadors de memòria

- Afegits supermarioland, gargoylesquest i pokemonred per a provar diferents mapejadors
This commit is contained in:
2025-01-14 17:02:07 +01:00
parent f766c40cc7
commit add6562575
7 changed files with 53 additions and 29 deletions

43
mem.cpp
View File

@@ -3,20 +3,37 @@
namespace mem
{
uint8_t(*readMem)(uint16_t);
void (*writeMem)(uint16_t, uint8_t);
char *title = nullptr;
uint8_t *memory = nullptr;
/*uint8_t *memory = nullptr;
uint8_t *mapper_type = nullptr;
uint8_t *rom_size = nullptr;
uint8_t *ram_size = nullptr;
uint8_t *ram_size = nullptr;*/
uint8_t r(uint16_t address)
{
return 0;
}
void w(uint16_t address, uint8_t value)
{
}
void init(const uint8_t* rom, const int size)
{
if (memory) free(memory);
memory = (uint8_t*)malloc(size);
title = (char*)&memory[0x134];
mapper_type = &memory[0x147];
rom_size = &memory[0x148];
ram_size = &memory[0x149];
//if (memory) free(memory);
//memory = (uint8_t*)malloc(size);
title = (char*)&rom[0x134];
uint8_t mapper_type = rom[0x147];
uint32_t rom_size = 32768 * (1 << rom[0x148]);
int sizes[] = { 0, 0, 8, 32, 128, 64};
uint32_t ram_size = sizes[rom[0x149]] * 1024;
readMem = r;
writeMem = w;
}
void reset()
@@ -24,14 +41,4 @@ namespace mem
}
uint8_t readMem(uint16_t address)
{
}
void writeMem(uint16_t address, uint8_t value)
{
}
}