|
|
@@ -365,52 +365,14 @@ void nes_ppu_render_line(nes_PPU* ppu, nes_PPU_Memory* mem) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
static int nes_ppu_chr_ram_size(const void* _ppu, const void*) { |
|
|
|
|
|
const nes_PPU_Memory* ppu = (const nes_PPU_Memory*)_ppu; |
|
|
|
|
|
return (ppu->chr_ram ? |
|
|
|
|
|
ppu->n_chr_banks * NES_CHR_ROM_PAGE_SIZE : |
|
|
|
|
|
0); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static int nes_ppu_read_chr_ram(void* dst, const void* src, |
|
|
|
|
|
int avail, const void*) { |
|
|
|
|
|
int size = 0; |
|
|
|
|
|
nes_PPU_Memory* ppu = (nes_PPU_Memory*)dst; |
|
|
|
|
|
if (ppu->chr_ram) { |
|
|
|
|
|
size = ppu->n_chr_banks * NES_CHR_ROM_PAGE_SIZE; |
|
|
|
|
|
if (size > avail) size = avail; |
|
|
|
|
|
memcpy(ppu->chr_ram, src, size); |
|
|
|
|
|
} |
|
|
|
|
|
return size; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static int nes_ppu_write_chr_ram(void* dst, const void* src, |
|
|
|
|
|
int avail, const void*) { |
|
|
|
|
|
int size = 0; |
|
|
|
|
|
const nes_PPU_Memory* ppu = (const nes_PPU_Memory*)src; |
|
|
|
|
|
if (ppu->chr_ram) { |
|
|
|
|
|
size = ppu->n_chr_banks * NES_CHR_ROM_PAGE_SIZE; |
|
|
|
|
|
if (size > avail) size = avail; |
|
|
|
|
|
memcpy(dst, ppu->chr_ram, size); |
|
|
|
|
|
} |
|
|
|
|
|
return size; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static const Serdes_IO ppu_serdes_io = { |
|
|
|
|
|
.read = nes_ppu_read_chr_ram, |
|
|
|
|
|
.write = nes_ppu_write_chr_ram, |
|
|
|
|
|
.in_size = nes_ppu_chr_ram_size, |
|
|
|
|
|
.out_size = nes_ppu_chr_ram_size, |
|
|
|
|
|
}; |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
static void* ppu_chr_ram_ptr(const void* _ppu) { |
|
|
static void* ppu_chr_ram_ptr(const void* _ppu) { |
|
|
return ((nes_PPU_Memory*)_ppu)->chr_ram; |
|
|
return ((nes_PPU_Memory*)_ppu)->chr_ram; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
static size_t ppu_chr_ram_size(const void* _ppu) { |
|
|
static size_t ppu_chr_ram_size(const void* _ppu) { |
|
|
return ((nes_PPU_Memory*)_ppu)->n_chr_banks * NES_CHR_ROM_PAGE_SIZE; |
|
|
|
|
|
|
|
|
return ((nes_PPU_Memory*)_ppu)->n_chr_banks * |
|
|
|
|
|
NES_CHR_ROM_PAGE_SIZE; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
static Serdes_Ptr_Ref ppu_chr_ram_ref = { |
|
|
static Serdes_Ptr_Ref ppu_chr_ram_ref = { |
|
|
|