libsidplayfp 1.8.8
SidTuneInfo.h
1/*
2 * This file is part of libsidplayfp, a SID player engine.
3 *
4 * Copyright 2011-2015 Leandro Nini
5 * Copyright 2007-2010 Antti Lankila
6 * Copyright 2000 Simon White
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
23#ifndef SIDTUNEINFO_H
24#define SIDTUNEINFO_H
25
26#include <stdint.h>
27
28#include "sidplayfp/siddefs.h"
29
39{
40public:
41 typedef enum {
42 CLOCK_UNKNOWN,
43 CLOCK_PAL,
44 CLOCK_NTSC,
45 CLOCK_ANY
46 } clock_t;
47
48 typedef enum {
49 SIDMODEL_UNKNOWN,
50 SIDMODEL_6581,
51 SIDMODEL_8580,
52 SIDMODEL_ANY
53 } model_t;
54
55 typedef enum {
61
62public:
64 static const int SPEED_VBI = 0;
65
67 static const int SPEED_CIA_1A = 60;
68
69public:
73 virtual uint_least16_t loadAddr() const =0;
74
78 virtual uint_least16_t initAddr() const =0;
79
83 virtual uint_least16_t playAddr() const =0;
84
88 virtual unsigned int songs() const =0;
89
93 virtual unsigned int startSong() const =0;
94
98 virtual unsigned int currentSong() const =0;
99
105 virtual SID_DEPRECATED uint_least16_t sidChipBase1() const =0;
106 virtual SID_DEPRECATED uint_least16_t sidChipBase2() const =0;
107 virtual uint_least16_t sidChipBase(unsigned int i) const =0;
109
114 virtual SID_DEPRECATED bool isStereo() const=0;
115
119 virtual int sidChips() const =0;
120
124 virtual int songSpeed() const =0;
125
129 virtual uint_least8_t relocStartPage() const =0;
130
134 virtual uint_least8_t relocPages() const =0;
135
141 virtual SID_DEPRECATED model_t sidModel1() const =0;
142 virtual SID_DEPRECATED model_t sidModel2() const =0;
143 virtual model_t sidModel(unsigned int i) const =0;
145
149 virtual compatibility_t compatibility() const =0;
150
159 virtual unsigned int numberOfInfoStrings() const =0;
160 virtual const char* infoString(unsigned int i) const =0;
162
168 virtual unsigned int numberOfCommentStrings() const =0;
169 virtual const char* commentString(unsigned int i) const =0;
171
175 virtual uint_least32_t dataFileLen() const =0;
176
180 virtual uint_least32_t c64dataLen() const =0;
181
185 virtual clock_t clockSpeed() const =0;
186
190 virtual const char* formatString() const =0;
191
195 virtual bool fixLoad() const =0;
196
200 virtual const char* path() const =0;
201
205 virtual const char* dataFileName() const =0;
206
211 virtual const char* infoFileName() const =0;
212
213protected:
215};
216
217#endif /* SIDTUNEINFO_H */
Definition: SidTuneInfo.h:39
virtual unsigned int numberOfInfoStrings() const =0
the number of available text info lines
~SidTuneInfo()
Number of comments.
Definition: SidTuneInfo.h:214
virtual bool fixLoad() const =0
virtual SID_DEPRECATED uint_least16_t sidChipBase2() const =0
0xD??0 (2nd SID) or 0 (no 2nd SID)
virtual uint_least32_t c64dataLen() const =0
virtual clock_t clockSpeed() const =0
virtual unsigned int currentSong() const =0
virtual compatibility_t compatibility() const =0
virtual uint_least32_t dataFileLen() const =0
virtual uint_least16_t playAddr() const =0
virtual unsigned int songs() const =0
virtual SID_DEPRECATED model_t sidModel1() const =0
first SID
virtual const char * dataFileName() const =0
compatibility_t
Definition: SidTuneInfo.h:55
@ COMPATIBILITY_C64
File is C64 compatible.
Definition: SidTuneInfo.h:56
@ COMPATIBILITY_R64
File is Real C64 only.
Definition: SidTuneInfo.h:58
@ COMPATIBILITY_PSID
File is PSID specific.
Definition: SidTuneInfo.h:57
@ COMPATIBILITY_BASIC
File requires C64 Basic.
Definition: SidTuneInfo.h:59
virtual uint_least8_t relocStartPage() const =0
virtual model_t sidModel(unsigned int i) const =0
virtual const char * infoString(unsigned int i) const =0
text info from the format headers etc.
virtual uint_least16_t initAddr() const =0
static const int SPEED_VBI
Vertical-Blanking-Interrupt.
Definition: SidTuneInfo.h:64
virtual SID_DEPRECATED bool isStereo() const =0
virtual unsigned int numberOfCommentStrings() const =0
Number of comments.
static const int SPEED_CIA_1A
CIA 1 Timer A.
Definition: SidTuneInfo.h:67
virtual uint_least8_t relocPages() const =0
virtual const char * commentString(unsigned int i) const =0
Used to stash the MUS comment somewhere.
virtual const char * infoFileName() const =0
virtual uint_least16_t loadAddr() const =0
virtual SID_DEPRECATED uint_least16_t sidChipBase1() const =0
0xD400 (normal, 1st SID)
virtual const char * formatString() const =0
virtual int sidChips() const =0
virtual uint_least16_t sidChipBase(unsigned int i) const =0
virtual int songSpeed() const =0
virtual SID_DEPRECATED model_t sidModel2() const =0
second SID
virtual unsigned int startSong() const =0
virtual const char * path() const =0