- [NEW] Afegit modul debug

- [NEW] Afegit tagging de memòria
- [NEW] modul mbc_none funcional
- [NEW] Afegit modul main base del programa
- [NEW] Afegits Makefile i .gitignore
- Primera execució. No arriba a 0x0100
- [FIX] Corregida la representació del ensamblador cap enrere
This commit is contained in:
2025-01-15 15:42:14 +01:00
parent b06f26a4b7
commit ab77116dca
10 changed files with 1537 additions and 69 deletions

30
mem.cpp
View File

@@ -1,28 +1,20 @@
#include "mem.h"
#include <stdlib.h>
#include <stdio.h>
#include "mbc_none.h"
namespace mem
{
uint8_t(*readMem)(uint16_t);
void (*writeMem)(uint16_t, uint8_t);
uint8_t(*getTag)(uint16_t);
void (*setTag)(uint16_t, uint8_t);
void (*saveState)(FILE*);
void (*loadState)(FILE*);
char *title = nullptr;
/*uint8_t *memory = nullptr;
uint8_t *mapper_type = nullptr;
uint8_t *rom_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)
void init(uint8_t* rom, const int size)
{
//if (memory) free(memory);
//memory = (uint8_t*)malloc(size);
@@ -32,8 +24,12 @@ namespace mem
int sizes[] = { 0, 0, 8, 32, 128, 64};
uint32_t ram_size = sizes[rom[0x149]] * 1024;
readMem = r;
writeMem = w;
switch (mapper_type)
{
case 0x00:
mbc_none::init(rom, rom_size, ram_size);
break;
};
}
void reset()