blob: ef59194cfaca8bed2cbbe518dbf880fd8bc9f6b6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
// Sega/Game Gear/Coleco SGC music file emulator core
// Game_Music_Emu 0.6-pre
#ifndef SGC_CORE_H
#define SGC_CORE_H
#include "Sgc_Impl.h"
#include "Sms_Fm_Apu.h"
#include "Sms_Apu.h"
class Sgc_Core : public Sgc_Impl {
public:
// Adjusts music tempo, where 1.0 is normal. Can be changed while playing.
// Resets to 1.0 when loading file.
void set_tempo( double );
// Starts track, where 0 is the first.
blargg_err_t start_track( int );
// Ends time frame at time t
blargg_err_t end_frame( time_t t );
// SN76489 sound chip
Sms_Apu& apu() { return apu_; }
Sms_Fm_Apu& fm_apu() { return fm_apu_; }
protected:
// Overrides
virtual void cpu_out( time_t, addr_t, int data );
virtual blargg_err_t load_( Data_Reader& );
// Implementation
public:
Sgc_Core();
~Sgc_Core();
private:
bool fm_accessed;
Sms_Apu apu_;
Sms_Fm_Apu fm_apu_;
};
#endif
|