mirror of https://github.com/JorjBauer/aiie.git
29 lines
425 B
C
29 lines
425 B
C
|
#ifndef __AY8910_H
|
||
|
#define __AY8910_H
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
class AY8910 {
|
||
|
public:
|
||
|
AY8910();
|
||
|
|
||
|
void Reset();
|
||
|
|
||
|
uint8_t read(uint8_t reg);
|
||
|
void write(uint8_t reg, uint8_t PortA);
|
||
|
|
||
|
void update(uint32_t cpuCycleCount);
|
||
|
|
||
|
protected:
|
||
|
uint16_t cycleTimeForPSG(uint8_t psg);
|
||
|
|
||
|
private:
|
||
|
uint8_t curRegister;
|
||
|
uint8_t r[16];
|
||
|
uint32_t waveformFlipTimer[3];
|
||
|
uint8_t outputState[3];
|
||
|
uint16_t cycleTime[3];
|
||
|
};
|
||
|
|
||
|
#endif
|