started work on the CHIP-8 interpreter

This commit is contained in:
2024-11-26 06:52:49 -05:00
parent 3e5da27250
commit 7069e0ae49
7 changed files with 270 additions and 16 deletions

26
BuzzerSDL.hpp Normal file
View File

@@ -0,0 +1,26 @@
#pragma once
#include <vector>
#include <SDL2/SDL_audio.h>
#include "Peripherals.hpp"
class BuzzerSDL : public chocochip8::Buzzer {
public:
using sample_t = Sint16;
BuzzerSDL(unsigned frequency);
~BuzzerSDL();
void on() override;
void off() override;
private:
static void SDLCALL audioCallback(void *userdata, Uint8 *stream, int len);
void copySamples(Uint8 *stream, int len);
private:
std::vector<sample_t> mSamples;
SDL_AudioDeviceID mAudioDevice;
size_t miCurrentSample;
};