- [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:
30
mem.cpp
30
mem.cpp
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user