add memory namespace, update comments

This commit is contained in:
scawful
2024-04-13 23:56:41 -05:00
parent e45322d070
commit f653517026
14 changed files with 153 additions and 61 deletions

View File

@@ -11,6 +11,9 @@ namespace app {
namespace emu {
namespace audio {
/**
* @brief AudioRam is an interface for the Audio RAM used by the SPC700.
*/
class AudioRam {
public:
virtual ~AudioRam() = default;
@@ -20,6 +23,9 @@ class AudioRam {
virtual void write(uint16_t address, uint8_t value) = 0;
};
/**
* @brief AudioRamImpl is an implementation of the AudioRam interface.
*/
class AudioRamImpl : public AudioRam {
static const int ARAM_SIZE = 0x10000;
std::vector<uint8_t> ram = std::vector<uint8_t>(ARAM_SIZE, 0);
@@ -41,6 +47,17 @@ class AudioRamImpl : public AudioRam {
}
};
/**
* @class Spc700
* @brief The Spc700 class represents the SPC700 processor.
*
* The Spc700 class provides the functionality to execute instructions, read and
* write memory, and handle various addressing modes. It also contains registers
* and flags specific to the SPC700.
*
* @note This class assumes the existence of an `AudioRam` object for memory
* access.
*/
class Spc700 {
private:
AudioRam& aram_;