23 #ifndef SIDTUNEINFOIMPL_H 24 #define SIDTUNEINFOIMPL_H 30 #include "sidplayfp/SidTuneInfo.h" 34 namespace libsidplayfp
43 const char* m_formatString;
46 unsigned int m_startSong;
47 unsigned int m_currentSong;
55 uint_least32_t m_dataFileLen;
57 uint_least32_t m_c64dataLen;
59 uint_least16_t m_loadAddr;
60 uint_least16_t m_initAddr;
61 uint_least16_t m_playAddr;
63 uint_least8_t m_relocStartPage;
65 uint_least8_t m_relocPages;
69 std::string m_dataFileName;
71 std::string m_infoFileName;
73 std::vector<model_t> m_sidModels;
75 std::vector<uint_least16_t> m_sidChipAddresses;
77 std::vector<std::string> m_infoString;
79 std::vector<std::string> m_commentString;
89 m_formatString(
"N/A"),
94 m_clockSpeed(CLOCK_UNKNOWN),
105 m_sidModels.push_back(SIDMODEL_UNKNOWN);
106 m_sidChipAddresses.push_back(0xd400);
109 uint_least16_t getLoadAddr()
const override {
return m_loadAddr; }
111 uint_least16_t getInitAddr()
const override {
return m_initAddr; }
113 uint_least16_t getPlayAddr()
const override {
return m_playAddr; }
115 unsigned int getSongs()
const override {
return m_songs; }
117 unsigned int getStartSong()
const override {
return m_startSong; }
119 unsigned int getCurrentSong()
const override {
return m_currentSong; }
121 uint_least16_t getSidChipBase(
unsigned int i)
const override 123 return i < m_sidChipAddresses.size() ? m_sidChipAddresses[i] : 0;
126 int getSidChips()
const override {
return m_sidChipAddresses.size(); }
128 int getSongSpeed()
const override {
return m_songSpeed; }
130 uint_least8_t getRelocStartPage()
const override {
return m_relocStartPage; }
132 uint_least8_t getRelocPages()
const override {
return m_relocPages; }
134 model_t getSidModel(
unsigned int i)
const override 136 return i < m_sidModels.size() ? m_sidModels[i] : SIDMODEL_UNKNOWN;
139 compatibility_t getCompatibility()
const override {
return m_compatibility; }
141 unsigned int getNumberOfInfoStrings()
const override {
return m_infoString.size(); }
142 const char* getInfoString(
unsigned int i)
const override {
return i<getNumberOfInfoStrings() ? m_infoString[i].c_str() :
""; }
144 unsigned int getNumberOfCommentStrings()
const override {
return m_commentString.size(); }
145 const char* getCommentString(
unsigned int i)
const override {
return i<getNumberOfCommentStrings() ? m_commentString[i].c_str() :
""; }
147 uint_least32_t getDataFileLen()
const override {
return m_dataFileLen; }
149 uint_least32_t getC64dataLen()
const override {
return m_c64dataLen; }
151 clock_t getClockSpeed()
const override {
return m_clockSpeed; }
153 const char* getFormatString()
const override {
return m_formatString; }
155 bool getFixLoad()
const override {
return m_fixLoad; }
157 const char* getPath()
const override {
return m_path.c_str(); }
159 const char* getDataFileName()
const override {
return m_dataFileName.c_str(); }
161 const char* getInfoFileName()
const override {
return !m_infoFileName.empty() ? m_infoFileName.c_str() :
nullptr; }
static const int SPEED_VBI
Vertical-Blanking-Interrupt.
Definition: SidTuneInfo.h:64
Definition: SidTuneInfo.h:38
File is C64 compatible.
Definition: SidTuneInfo.h:56
Definition: SidTuneInfoImpl.h:40
compatibility_t
Definition: SidTuneInfo.h:55