- [NEW] Sprites funcionant
- [NEW] OAM DMA copy funcionant
This commit is contained in:
20
mbc_none.cpp
20
mbc_none.cpp
@@ -71,6 +71,7 @@ namespace mbc_none
|
||||
} else {
|
||||
if ( (address==0xFF50) && ((value&0x01) != 1) ) return; //Only allow disabling boot room
|
||||
if ( (address==0xFF00) ) { value = value & 0x30; }
|
||||
if ( (address==0xFF46) ) mem::init_dma_transfer(value);
|
||||
hram[address - 0xFE00] = value;
|
||||
}
|
||||
}
|
||||
@@ -95,6 +96,24 @@ namespace mbc_none
|
||||
|
||||
}
|
||||
|
||||
uint8_t* rawPtr(uint16_t address)
|
||||
{
|
||||
if (address < 0x8000) {
|
||||
if ( (address < 0x0100) && ((hram[0x150]&0x01)==0) ) return &bootrom[address];
|
||||
return &rom[address];
|
||||
} else if (address < 0xA000) {
|
||||
return &vram[address - 0x8000];
|
||||
} else if (address < 0xC000) {
|
||||
return &exram[address - 0xA000];
|
||||
} else if (address < 0xE000) {
|
||||
return &wram[address - 0xC000];
|
||||
} else if (address < 0xFE00) {
|
||||
return &wram[address - 0xE000];
|
||||
} else {
|
||||
return &hram[address - 0XFE00];
|
||||
}
|
||||
}
|
||||
|
||||
void reset()
|
||||
{
|
||||
FILE *f = fopen("dmg_boot.bin", "rb");
|
||||
@@ -121,6 +140,7 @@ namespace mbc_none
|
||||
mem::saveState = mbc_none::saveState;
|
||||
mem::loadState = mbc_none::loadState;
|
||||
mem::reset = mbc_none::reset;
|
||||
mem::rawPtr = mbc_none::rawPtr;
|
||||
|
||||
mbc_none::rom = rom;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user