libsidplayfp 3.0.0
SidInfo.h
1/*
2 * This file is part of libsidplayfp, a SID player engine.
3 *
4 * Copyright 2011-2025 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 SIDINFO_H
24#define SIDINFO_H
25
26#include <cstdint>
27
28#include "sidplayfp/siddefs.h"
29#include "sidplayfp/SidTuneInfo.h"
30
34class SID_EXTERN SidInfo
35{
36public:
38 const char *name() const;
39
41 const char *version() const;
42
44
45 unsigned int numberOfCredits() const;
46 const char *credits(unsigned int i) const;
48
50 uint_least16_t driverAddr() const;
51
53 uint_least16_t driverLength() const;
54
56 uint_least16_t powerOnDelay() const;
57
59 const char *speedString() const;
60
62
63 const char *kernalDesc() const;
64 const char *basicDesc() const;
65 const char *chargenDesc() const;
67
70
71 unsigned int numberOfSIDs() const;
72 SidTuneInfo::model_t sidModel(unsigned int i) const;
74
75private:
76 virtual const char *getName() const =0;
77
78 virtual const char *getVersion() const =0;
79
80 virtual unsigned int getNumberOfCredits() const =0;
81 virtual const char *getCredits(unsigned int i) const =0;
82
83 virtual uint_least16_t getDriverAddr() const =0;
84
85 virtual uint_least16_t getDriverLength() const =0;
86
87 virtual uint_least16_t getPowerOnDelay() const =0;
88
89 virtual const char *getSpeedString() const =0;
90
91 virtual const char *getKernalDesc() const =0;
92 virtual const char *getBasicDesc() const =0;
93 virtual const char *getChargenDesc() const =0;
94
95 virtual unsigned int getNumberOfSIDs() const =0;
96 virtual SidTuneInfo::model_t getSidModel(unsigned int i) const =0;
97
98protected:
99 ~SidInfo() {}
100};
101
102#endif /* SIDINFO_H */
Definition SidInfo.h:35
unsigned int numberOfSIDs() const
Definition SidInfo.cpp:45
const char * speedString() const
Describes the speed current song is running at.
Definition SidInfo.cpp:39
uint_least16_t driverAddr() const
Address of the driver.
Definition SidInfo.cpp:33
const char * version() const
Library version.
Definition SidInfo.cpp:28
unsigned int numberOfCredits() const
Library credits.
Definition SidInfo.cpp:30
uint_least16_t driverLength() const
Size of the driver in bytes.
Definition SidInfo.cpp:35
const char * kernalDesc() const
Description of the laoded ROM images.
Definition SidInfo.cpp:41
uint_least16_t powerOnDelay() const
Power on delay.
Definition SidInfo.cpp:37
const char * name() const
Library name.
Definition SidInfo.cpp:26