NESe (pronounced "Nessie") is a NES emulator based on the e6502 emulator, also written in C with a focus on speed and portability for use on embedded platforms, especially ARM.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

26 lines
693B

  1. #include "memory.h"
  2. // TODO: Not ideal that these are here
  3. static void* mapper_data_ptr(const void* _mapper) {
  4. return ((nes_Mapper*)_mapper)->data;
  5. }
  6. static size_t mapper_data_size(const void* _mapper) {
  7. return ((nes_Mapper*)_mapper)->data_size;
  8. }
  9. static Serdes_Ptr_Ref mapper_data_ref = {
  10. .ptr = mapper_data_ptr,
  11. .size = mapper_data_size,
  12. };
  13. const Serdes_Item nes_memory_serdes[] = {
  14. {"CART", offsetof(nes_Memory, mapper), &serdes_mem_ptr, &mapper_data_ref},
  15. {"PMEM", offsetof(nes_Memory, ppu), &serdes_chain, nes_ppu_memory_serdes},
  16. {"SMEM", offsetof(nes_Memory, input), &serdes_mem, (void*)(sizeof(nes_Memory) - offsetof(nes_Memory, input))},
  17. {0},
  18. };