nesemu/cpu/memory.h

45 lines
975 B
C

//
// Created by william on 10/15/23.
//
#include "../include/mapper.h"
#include "../include/system.h"
#ifndef NESEMULATOR_MEMORY_H
#define NESEMULATOR_MEMORY_H
/**
* Gets a byte from a system's memory.
*
* @param addr The address to get
* @return The value of the byte at the given address.
*/
byte mem_get_byte(address addr);
/**
* Gets a pointer to a byte in the memory.
* Should not be used by the CPU, because the PPU will not be triggered if reading some addresses.
*
* @param addr The address to get a pointer to
* @return A pointer to the byte in memory
*/
byte* mem_get_ptr(address addr);
/**
* Gets a word from a system's memory.
*
* @param addr The address to get
* @return The value of the word at the given address.
*/
word mem_get_word(address addr);
/**
* Sets a byte in a system's memory.
*
* @param addr The address to set
* @param data The data to set
*/
void mem_set_byte(address addr, byte data);
#endif //NESEMULATOR_MEMORY_H