mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-20 14:29:11 +00:00
Merge pull request #1134 from TomHarte/WorkingTests
Clean up various long-dangling issues.
This commit is contained in:
commit
7f5d129b13
@ -11,8 +11,7 @@
|
|||||||
|
|
||||||
#include "ConfidenceSource.hpp"
|
#include "ConfidenceSource.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Provides a confidence source that calculates its probability by virtual of a history of events.
|
Provides a confidence source that calculates its probability by virtual of a history of events.
|
||||||
@ -41,7 +40,6 @@ class ConfidenceCounter: public ConfidenceSource {
|
|||||||
int misses_ = 1;
|
int misses_ = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* ConfidenceCounter_hpp */
|
#endif /* ConfidenceCounter_hpp */
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
#ifndef ConfidenceSource_hpp
|
#ifndef ConfidenceSource_hpp
|
||||||
#define ConfidenceSource_hpp
|
#define ConfidenceSource_hpp
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Provides an abstract interface through which objects can declare the probability
|
Provides an abstract interface through which objects can declare the probability
|
||||||
@ -22,7 +21,6 @@ struct ConfidenceSource {
|
|||||||
virtual float get_confidence() = 0;
|
virtual float get_confidence() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* ConfidenceSource_hpp */
|
#endif /* ConfidenceSource_hpp */
|
||||||
|
@ -13,8 +13,7 @@
|
|||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Summaries a collection of confidence sources by calculating their weighted sum.
|
Summaries a collection of confidence sources by calculating their weighted sum.
|
||||||
@ -40,7 +39,6 @@ class ConfidenceSummary: public ConfidenceSource {
|
|||||||
float weight_sum_;
|
float weight_sum_;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* ConfidenceSummary_hpp */
|
#endif /* ConfidenceSummary_hpp */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Provides a class that multiplexes the configurable interface to multiple machines.
|
Provides a class that multiplexes the configurable interface to multiple machines.
|
||||||
@ -36,7 +35,6 @@ class MultiConfigurable: public Configurable::Device {
|
|||||||
std::vector<Configurable::Device *> devices_;
|
std::vector<Configurable::Device *> devices_;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MultiConfigurable_hpp */
|
#endif /* MultiConfigurable_hpp */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Provides a class that multiplexes the joystick machine interface to multiple machines.
|
Provides a class that multiplexes the joystick machine interface to multiple machines.
|
||||||
@ -34,7 +33,6 @@ class MultiJoystickMachine: public MachineTypes::JoystickMachine {
|
|||||||
std::vector<std::unique_ptr<Inputs::Joystick>> joysticks_;
|
std::vector<std::unique_ptr<Inputs::Joystick>> joysticks_;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MultiJoystickMachine_hpp */
|
#endif /* MultiJoystickMachine_hpp */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Provides a class that multiplexes the keyboard machine interface to multiple machines.
|
Provides a class that multiplexes the keyboard machine interface to multiple machines.
|
||||||
@ -55,7 +54,6 @@ class MultiKeyboardMachine: public MachineTypes::KeyboardMachine {
|
|||||||
Inputs::Keyboard &get_keyboard() final;
|
Inputs::Keyboard &get_keyboard() final;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MultiKeyboardMachine_hpp */
|
#endif /* MultiKeyboardMachine_hpp */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Provides a class that multiplexes the media target interface to multiple machines.
|
Provides a class that multiplexes the media target interface to multiple machines.
|
||||||
@ -35,7 +34,6 @@ struct MultiMediaTarget: public MachineTypes::MediaTarget {
|
|||||||
std::vector<MachineTypes::MediaTarget *> targets_;
|
std::vector<MachineTypes::MediaTarget *> targets_;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MultiMediaTarget_hpp */
|
#endif /* MultiMediaTarget_hpp */
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
template <typename MachineType> class MultiInterface {
|
template <typename MachineType> class MultiInterface {
|
||||||
public:
|
public:
|
||||||
@ -116,7 +115,5 @@ class MultiAudioProducer: public MultiInterface<MachineTypes::AudioProducer>, pu
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* MultiProducer_hpp */
|
#endif /* MultiProducer_hpp */
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Provides a class that multiplexes calls to and from Outputs::Speaker::Speaker in order
|
Provides a class that multiplexes calls to and from Outputs::Speaker::Speaker in order
|
||||||
@ -55,7 +54,6 @@ class MultiSpeaker: public Outputs::Speaker::Speaker, Outputs::Speaker::Speaker:
|
|||||||
bool stereo_output_ = false;
|
bool stereo_output_ = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MultiSpeaker_hpp */
|
#endif /* MultiSpeaker_hpp */
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Dynamic {
|
||||||
namespace Dynamic {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Provides the same interface as to a single machine, while multiplexing all
|
Provides the same interface as to a single machine, while multiplexing all
|
||||||
@ -80,7 +79,6 @@ class MultiMachine: public ::Machine::DynamicMachine, public MultiTimedMachine::
|
|||||||
bool has_picked_ = false;
|
bool has_picked_ = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MultiMachine_hpp */
|
#endif /* MultiMachine_hpp */
|
||||||
|
@ -12,9 +12,7 @@
|
|||||||
#include "File.hpp"
|
#include "File.hpp"
|
||||||
#include "../../../Storage/Disk/Disk.hpp"
|
#include "../../../Storage/Disk/Disk.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Acorn {
|
||||||
namespace Static {
|
|
||||||
namespace Acorn {
|
|
||||||
|
|
||||||
/// Describes a DFS- or ADFS-format catalogue(/directory): the list of files available and the catalogue's boot option.
|
/// Describes a DFS- or ADFS-format catalogue(/directory): the list of files available and the catalogue's boot option.
|
||||||
struct Catalogue {
|
struct Catalogue {
|
||||||
@ -31,8 +29,6 @@ struct Catalogue {
|
|||||||
std::unique_ptr<Catalogue> GetDFSCatalogue(const std::shared_ptr<Storage::Disk::Disk> &disk);
|
std::unique_ptr<Catalogue> GetDFSCatalogue(const std::shared_ptr<Storage::Disk::Disk> &disk);
|
||||||
std::unique_ptr<Catalogue> GetADFSCatalogue(const std::shared_ptr<Storage::Disk::Disk> &disk);
|
std::unique_ptr<Catalogue> GetADFSCatalogue(const std::shared_ptr<Storage::Disk::Disk> &disk);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Disk_hpp */
|
#endif /* Disk_hpp */
|
||||||
|
@ -13,9 +13,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Acorn {
|
||||||
namespace Static {
|
|
||||||
namespace Acorn {
|
|
||||||
|
|
||||||
struct File {
|
struct File {
|
||||||
std::string name;
|
std::string name;
|
||||||
@ -60,8 +58,6 @@ struct File {
|
|||||||
std::vector<Chunk> chunks;
|
std::vector<Chunk> chunks;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* File_hpp */
|
#endif /* File_hpp */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Acorn {
|
||||||
namespace Static {
|
|
||||||
namespace Acorn {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* AcornAnalyser_hpp */
|
#endif /* AcornAnalyser_hpp */
|
||||||
|
@ -14,14 +14,10 @@
|
|||||||
#include "File.hpp"
|
#include "File.hpp"
|
||||||
#include "../../../Storage/Tape/Tape.hpp"
|
#include "../../../Storage/Tape/Tape.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Acorn {
|
||||||
namespace Static {
|
|
||||||
namespace Acorn {
|
|
||||||
|
|
||||||
std::vector<File> GetFiles(const std::shared_ptr<Storage::Tape::Tape> &tape);
|
std::vector<File> GetFiles(const std::shared_ptr<Storage::Tape::Tape> &tape);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Tape_hpp */
|
#endif /* Tape_hpp */
|
||||||
|
@ -13,9 +13,7 @@
|
|||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Acorn {
|
||||||
namespace Static {
|
|
||||||
namespace Acorn {
|
|
||||||
|
|
||||||
struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
bool has_acorn_adfs = false;
|
bool has_acorn_adfs = false;
|
||||||
@ -37,8 +35,6 @@ struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_Acorn_Target_h */
|
#endif /* Analyser_Static_Acorn_Target_h */
|
||||||
|
@ -13,15 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Amiga {
|
||||||
namespace Static {
|
|
||||||
namespace Amiga {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* Analyser_Static_Amiga_StaticAnalyser_hpp */
|
#endif /* Analyser_Static_Amiga_StaticAnalyser_hpp */
|
||||||
|
@ -12,9 +12,7 @@
|
|||||||
#include "../../../Reflection/Struct.hpp"
|
#include "../../../Reflection/Struct.hpp"
|
||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Amiga {
|
||||||
namespace Static {
|
|
||||||
namespace Amiga {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(ChipRAM,
|
ReflectableEnum(ChipRAM,
|
||||||
@ -41,8 +39,6 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_Amiga_Target_h */
|
#endif /* Analyser_Static_Amiga_Target_h */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::AmstradCPC {
|
||||||
namespace Static {
|
|
||||||
namespace AmstradCPC {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_AmstradCPC_StaticAnalyser_hpp */
|
#endif /* Analyser_Static_AmstradCPC_StaticAnalyser_hpp */
|
||||||
|
@ -14,9 +14,7 @@
|
|||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::AmstradCPC {
|
||||||
namespace Static {
|
|
||||||
namespace AmstradCPC {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(Model, CPC464, CPC664, CPC6128);
|
ReflectableEnum(Model, CPC464, CPC664, CPC6128);
|
||||||
@ -32,8 +30,5 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
|
|||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* Analyser_Static_AmstradCPC_Target_h */
|
#endif /* Analyser_Static_AmstradCPC_Target_h */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::AppleII {
|
||||||
namespace Static {
|
|
||||||
namespace AppleII {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_AppleII_StaticAnalyser_hpp */
|
#endif /* Analyser_Static_AppleII_StaticAnalyser_hpp */
|
||||||
|
@ -13,9 +13,7 @@
|
|||||||
#include "../../../Reflection/Struct.hpp"
|
#include "../../../Reflection/Struct.hpp"
|
||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::AppleII {
|
||||||
namespace Static {
|
|
||||||
namespace AppleII {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(Model,
|
ReflectableEnum(Model,
|
||||||
@ -51,8 +49,6 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_AppleII_Target_h */
|
#endif /* Analyser_Static_AppleII_Target_h */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::AppleIIgs {
|
||||||
namespace Static {
|
|
||||||
namespace AppleIIgs {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_AppleIIgs_StaticAnalyser_hpp */
|
#endif /* Analyser_Static_AppleIIgs_StaticAnalyser_hpp */
|
||||||
|
@ -13,9 +13,7 @@
|
|||||||
#include "../../../Reflection/Struct.hpp"
|
#include "../../../Reflection/Struct.hpp"
|
||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::AppleIIgs {
|
||||||
namespace Static {
|
|
||||||
namespace AppleIIgs {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(Model,
|
ReflectableEnum(Model,
|
||||||
@ -42,8 +40,6 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_AppleIIgs_Target_h */
|
#endif /* Analyser_Static_AppleIIgs_Target_h */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Atari2600 {
|
||||||
namespace Static {
|
|
||||||
namespace Atari2600 {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* StaticAnalyser_hpp */
|
#endif /* StaticAnalyser_hpp */
|
||||||
|
@ -11,9 +11,7 @@
|
|||||||
|
|
||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Atari2600 {
|
||||||
namespace Static {
|
|
||||||
namespace Atari2600 {
|
|
||||||
|
|
||||||
struct Target: public ::Analyser::Static::Target {
|
struct Target: public ::Analyser::Static::Target {
|
||||||
enum class PagingModel {
|
enum class PagingModel {
|
||||||
@ -38,8 +36,6 @@ struct Target: public ::Analyser::Static::Target {
|
|||||||
Target() : Analyser::Static::Target(Machine::Atari2600) {}
|
Target() : Analyser::Static::Target(Machine::Atari2600) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_Atari_Target_h */
|
#endif /* Analyser_Static_Atari_Target_h */
|
||||||
|
@ -13,15 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::AtariST {
|
||||||
namespace Static {
|
|
||||||
namespace AtariST {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* Analyser_Static_AtariST_StaticAnalyser_hpp */
|
#endif /* Analyser_Static_AtariST_StaticAnalyser_hpp */
|
||||||
|
@ -12,9 +12,7 @@
|
|||||||
#include "../../../Reflection/Struct.hpp"
|
#include "../../../Reflection/Struct.hpp"
|
||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::AtariST {
|
||||||
namespace Static {
|
|
||||||
namespace AtariST {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(MemorySize,
|
ReflectableEnum(MemorySize,
|
||||||
@ -31,8 +29,6 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_AtariST_Target_h */
|
#endif /* Analyser_Static_AtariST_Target_h */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Coleco {
|
||||||
namespace Static {
|
|
||||||
namespace Coleco {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* StaticAnalyser_hpp */
|
#endif /* StaticAnalyser_hpp */
|
||||||
|
@ -14,14 +14,10 @@
|
|||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Commodore {
|
||||||
namespace Static {
|
|
||||||
namespace Commodore {
|
|
||||||
|
|
||||||
std::vector<File> GetFiles(const std::shared_ptr<Storage::Disk::Disk> &disk);
|
std::vector<File> GetFiles(const std::shared_ptr<Storage::Disk::Disk> &disk);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Disk_hpp */
|
#endif /* Disk_hpp */
|
||||||
|
@ -12,9 +12,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Commodore {
|
||||||
namespace Static {
|
|
||||||
namespace Commodore {
|
|
||||||
|
|
||||||
struct File {
|
struct File {
|
||||||
std::wstring name;
|
std::wstring name;
|
||||||
@ -35,8 +33,6 @@ struct File {
|
|||||||
bool is_basic();
|
bool is_basic();
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* File_hpp */
|
#endif /* File_hpp */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Commodore {
|
||||||
namespace Static {
|
|
||||||
namespace Commodore {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CommodoreAnalyser_hpp */
|
#endif /* CommodoreAnalyser_hpp */
|
||||||
|
@ -12,14 +12,10 @@
|
|||||||
#include "../../../Storage/Tape/Tape.hpp"
|
#include "../../../Storage/Tape/Tape.hpp"
|
||||||
#include "File.hpp"
|
#include "File.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Commodore {
|
||||||
namespace Static {
|
|
||||||
namespace Commodore {
|
|
||||||
|
|
||||||
std::vector<File> GetFiles(const std::shared_ptr<Storage::Tape::Tape> &tape);
|
std::vector<File> GetFiles(const std::shared_ptr<Storage::Tape::Tape> &tape);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Tape_hpp */
|
#endif /* Tape_hpp */
|
||||||
|
@ -14,9 +14,7 @@
|
|||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Commodore {
|
||||||
namespace Static {
|
|
||||||
namespace Commodore {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
enum class MemoryModel {
|
enum class MemoryModel {
|
||||||
@ -71,8 +69,6 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_Commodore_Target_h */
|
#endif /* Analyser_Static_Commodore_Target_h */
|
||||||
|
@ -16,9 +16,7 @@
|
|||||||
#include <set>
|
#include <set>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::MOS6502 {
|
||||||
namespace Static {
|
|
||||||
namespace MOS6502 {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Describes a 6502 instruciton: its address, the operation it performs, its addressing mode
|
Describes a 6502 instruciton: its address, the operation it performs, its addressing mode
|
||||||
@ -95,7 +93,5 @@ Disassembly Disassemble(
|
|||||||
std::vector<uint16_t> entry_points);
|
std::vector<uint16_t> entry_points);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* Disassembler6502_hpp */
|
#endif /* Disassembler6502_hpp */
|
||||||
|
@ -11,9 +11,7 @@
|
|||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Disassembler {
|
||||||
namespace Static {
|
|
||||||
namespace Disassembler {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Provides an address mapper that relocates a chunk of memory so that it starts at
|
Provides an address mapper that relocates a chunk of memory so that it starts at
|
||||||
@ -25,8 +23,6 @@ template <typename T> std::function<std::size_t(T)> OffsetMapper(T start_address
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* AddressMapper_hpp */
|
#endif /* AddressMapper_hpp */
|
||||||
|
@ -9,9 +9,7 @@
|
|||||||
#ifndef Kernel_hpp
|
#ifndef Kernel_hpp
|
||||||
#define Kernel_hpp
|
#define Kernel_hpp
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Disassembly {
|
||||||
namespace Static {
|
|
||||||
namespace Disassembly {
|
|
||||||
|
|
||||||
template <typename D, typename S> struct PartialDisassembly {
|
template <typename D, typename S> struct PartialDisassembly {
|
||||||
D disassembly;
|
D disassembly;
|
||||||
@ -45,8 +43,6 @@ template <typename D, typename S, typename Disassembler> D Disassemble(
|
|||||||
return partial_disassembly.disassembly;
|
return partial_disassembly.disassembly;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Kernel_hpp */
|
#endif /* Kernel_hpp */
|
||||||
|
@ -15,9 +15,7 @@
|
|||||||
#include <set>
|
#include <set>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Z80 {
|
||||||
namespace Static {
|
|
||||||
namespace Z80 {
|
|
||||||
|
|
||||||
struct Instruction {
|
struct Instruction {
|
||||||
/*! The address this instruction starts at. This is a mapped address. */
|
/*! The address this instruction starts at. This is a mapped address. */
|
||||||
@ -84,7 +82,5 @@ Disassembly Disassemble(
|
|||||||
std::vector<uint16_t> entry_points);
|
std::vector<uint16_t> entry_points);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* StaticAnalyser_Disassembler_Z80_hpp */
|
#endif /* StaticAnalyser_Disassembler_Z80_hpp */
|
||||||
|
@ -13,15 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::DiskII {
|
||||||
namespace Static {
|
|
||||||
namespace DiskII {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* Analyser_Static_DiskII_StaticAnalyser_hpp */
|
#endif /* Analyser_Static_DiskII_StaticAnalyser_hpp */
|
||||||
|
@ -13,15 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Enterprise {
|
||||||
namespace Static {
|
|
||||||
namespace Enterprise {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* Analyser_Static_Enterprise_StaticAnalyser_hpp */
|
#endif /* Analyser_Static_Enterprise_StaticAnalyser_hpp */
|
||||||
|
@ -15,9 +15,7 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Enterprise {
|
||||||
namespace Static {
|
|
||||||
namespace Enterprise {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(Model, Enterprise64, Enterprise128, Enterprise256);
|
ReflectableEnum(Model, Enterprise64, Enterprise128, Enterprise256);
|
||||||
@ -50,8 +48,6 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_Enterprise_Target_h */
|
#endif /* Analyser_Static_Enterprise_Target_h */
|
||||||
|
@ -11,9 +11,7 @@
|
|||||||
|
|
||||||
#include "../../../Storage/Cartridge/Cartridge.hpp"
|
#include "../../../Storage/Cartridge/Cartridge.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::MSX {
|
||||||
namespace Static {
|
|
||||||
namespace MSX {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Extends the base cartridge class by adding a (guess at) the banking scheme.
|
Extends the base cartridge class by adding a (guess at) the banking scheme.
|
||||||
@ -33,8 +31,6 @@ struct Cartridge: public ::Storage::Cartridge::Cartridge {
|
|||||||
Storage::Cartridge::Cartridge(segments), type(type) {}
|
Storage::Cartridge::Cartridge(segments), type(type) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Cartridge_hpp */
|
#endif /* Cartridge_hpp */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::MSX {
|
||||||
namespace Static {
|
|
||||||
namespace MSX {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* StaticAnalyser_MSX_StaticAnalyser_hpp */
|
#endif /* StaticAnalyser_MSX_StaticAnalyser_hpp */
|
||||||
|
@ -14,9 +14,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::MSX {
|
||||||
namespace Static {
|
|
||||||
namespace MSX {
|
|
||||||
|
|
||||||
struct File {
|
struct File {
|
||||||
std::string name;
|
std::string name;
|
||||||
@ -37,8 +35,6 @@ struct File {
|
|||||||
|
|
||||||
std::vector<File> GetFiles(const std::shared_ptr<Storage::Tape::Tape> &tape);
|
std::vector<File> GetFiles(const std::shared_ptr<Storage::Tape::Tape> &tape);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* StaticAnalyser_MSX_Tape_hpp */
|
#endif /* StaticAnalyser_MSX_Tape_hpp */
|
||||||
|
@ -14,9 +14,7 @@
|
|||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::MSX {
|
||||||
namespace Static {
|
|
||||||
namespace MSX {
|
|
||||||
|
|
||||||
struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
bool has_disk_drive = false;
|
bool has_disk_drive = false;
|
||||||
@ -46,8 +44,6 @@ struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_MSX_Target_h */
|
#endif /* Analyser_Static_MSX_Target_h */
|
||||||
|
@ -13,15 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Macintosh {
|
||||||
namespace Static {
|
|
||||||
namespace Macintosh {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* Analyser_Static_Macintosh_StaticAnalyser_hpp */
|
#endif /* Analyser_Static_Macintosh_StaticAnalyser_hpp */
|
||||||
|
@ -13,9 +13,7 @@
|
|||||||
#include "../../../Reflection/Struct.hpp"
|
#include "../../../Reflection/Struct.hpp"
|
||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Macintosh {
|
||||||
namespace Static {
|
|
||||||
namespace Macintosh {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(Model, Mac128k, Mac512k, Mac512ke, MacPlus);
|
ReflectableEnum(Model, Mac128k, Mac512k, Mac512ke, MacPlus);
|
||||||
@ -30,8 +28,6 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_Macintosh_Target_h */
|
#endif /* Analyser_Static_Macintosh_Target_h */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Oric {
|
||||||
namespace Static {
|
|
||||||
namespace Oric {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* StaticAnalyser_hpp */
|
#endif /* StaticAnalyser_hpp */
|
||||||
|
@ -14,9 +14,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Oric {
|
||||||
namespace Static {
|
|
||||||
namespace Oric {
|
|
||||||
|
|
||||||
struct File {
|
struct File {
|
||||||
std::string name;
|
std::string name;
|
||||||
@ -33,8 +31,6 @@ struct File {
|
|||||||
|
|
||||||
std::vector<File> GetFiles(const std::shared_ptr<Storage::Tape::Tape> &tape);
|
std::vector<File> GetFiles(const std::shared_ptr<Storage::Tape::Tape> &tape);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Tape_hpp */
|
#endif /* Tape_hpp */
|
||||||
|
@ -14,9 +14,7 @@
|
|||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Oric {
|
||||||
namespace Static {
|
|
||||||
namespace Oric {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(ROM,
|
ReflectableEnum(ROM,
|
||||||
@ -56,8 +54,6 @@ struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Ta
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_Oric_Target_h */
|
#endif /* Analyser_Static_Oric_Target_h */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Sega {
|
||||||
namespace Static {
|
|
||||||
namespace Sega {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* StaticAnalyser_hpp */
|
#endif /* StaticAnalyser_hpp */
|
||||||
|
@ -13,9 +13,7 @@
|
|||||||
#include "../../../Reflection/Struct.hpp"
|
#include "../../../Reflection/Struct.hpp"
|
||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::Sega {
|
||||||
namespace Static {
|
|
||||||
namespace Sega {
|
|
||||||
|
|
||||||
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
enum class Model {
|
enum class Model {
|
||||||
@ -52,8 +50,6 @@ constexpr bool is_master_system(Analyser::Static::Sega::Target::Model model) {
|
|||||||
return model >= Analyser::Static::Sega::Target::Model::MasterSystem;
|
return model >= Analyser::Static::Sega::Target::Model::MasterSystem;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_Sega_Target_h */
|
#endif /* Analyser_Static_Sega_Target_h */
|
||||||
|
@ -21,8 +21,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static {
|
||||||
namespace Static {
|
|
||||||
|
|
||||||
struct State;
|
struct State;
|
||||||
|
|
||||||
@ -79,7 +78,6 @@ TargetList GetTargets(const std::string &file_name);
|
|||||||
*/
|
*/
|
||||||
Media GetMedia(const std::string &file_name);
|
Media GetMedia(const std::string &file_name);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* StaticAnalyser_hpp */
|
#endif /* StaticAnalyser_hpp */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::ZX8081 {
|
||||||
namespace Static {
|
|
||||||
namespace ZX8081 {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* StaticAnalyser_hpp */
|
#endif /* StaticAnalyser_hpp */
|
||||||
|
@ -14,9 +14,7 @@
|
|||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::ZX8081 {
|
||||||
namespace Static {
|
|
||||||
namespace ZX8081 {
|
|
||||||
|
|
||||||
struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(MemoryModel,
|
ReflectableEnum(MemoryModel,
|
||||||
@ -40,8 +38,6 @@ struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Analyser_Static_ZX8081_Target_h */
|
#endif /* Analyser_Static_ZX8081_Target_h */
|
||||||
|
@ -13,14 +13,10 @@
|
|||||||
#include "../../../Storage/TargetPlatforms.hpp"
|
#include "../../../Storage/TargetPlatforms.hpp"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::ZXSpectrum {
|
||||||
namespace Static {
|
|
||||||
namespace ZXSpectrum {
|
|
||||||
|
|
||||||
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
TargetList GetTargets(const Media &media, const std::string &file_name, TargetPlatform::IntType potential_platforms);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* StaticAnalyser_hpp */
|
#endif /* StaticAnalyser_hpp */
|
||||||
|
@ -13,9 +13,7 @@
|
|||||||
#include "../../../Reflection/Struct.hpp"
|
#include "../../../Reflection/Struct.hpp"
|
||||||
#include "../StaticAnalyser.hpp"
|
#include "../StaticAnalyser.hpp"
|
||||||
|
|
||||||
namespace Analyser {
|
namespace Analyser::Static::ZXSpectrum {
|
||||||
namespace Static {
|
|
||||||
namespace ZXSpectrum {
|
|
||||||
|
|
||||||
struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<Target> {
|
||||||
ReflectableEnum(Model,
|
ReflectableEnum(Model,
|
||||||
@ -38,8 +36,6 @@ struct Target: public ::Analyser::Static::Target, public Reflection::StructImpl<
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Target_h */
|
#endif /* Target_h */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
#include "../../Storage/MassStorage/SCSI/SCSI.hpp"
|
#include "../../Storage/MassStorage/SCSI/SCSI.hpp"
|
||||||
|
|
||||||
|
|
||||||
namespace NCR {
|
namespace NCR::NCR5380 {
|
||||||
namespace NCR5380 {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Models the NCR 5380, a SCSI interface chip.
|
Models the NCR 5380, a SCSI interface chip.
|
||||||
@ -86,7 +85,6 @@ class NCR5380 final: public SCSI::Bus::Observer {
|
|||||||
bool phase_matches() const;
|
bool phase_matches() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* ncr5380_hpp */
|
#endif /* ncr5380_hpp */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
|
|
||||||
#include "../../ClockReceiver/ClockReceiver.hpp"
|
#include "../../ClockReceiver/ClockReceiver.hpp"
|
||||||
|
|
||||||
namespace MOS {
|
namespace MOS::MOS6522 {
|
||||||
namespace MOS6522 {
|
|
||||||
|
|
||||||
enum Port {
|
enum Port {
|
||||||
A = 0,
|
A = 0,
|
||||||
@ -138,7 +137,6 @@ template <class BusHandlerT> class MOS6522: public MOS6522Storage {
|
|||||||
void evaluate_port_b_output();
|
void evaluate_port_b_output();
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "Implementation/6522Implementation.hpp"
|
#include "Implementation/6522Implementation.hpp"
|
||||||
|
@ -12,8 +12,7 @@
|
|||||||
//
|
//
|
||||||
// PB6 count-down mode for timer 2.
|
// PB6 count-down mode for timer 2.
|
||||||
|
|
||||||
namespace MOS {
|
namespace MOS::MOS6522 {
|
||||||
namespace MOS6522 {
|
|
||||||
|
|
||||||
template <typename T> void MOS6522<T>::access(int address) {
|
template <typename T> void MOS6522<T>::access(int address) {
|
||||||
switch(address) {
|
switch(address) {
|
||||||
@ -494,4 +493,3 @@ template <typename T> void MOS6522<T>::shift_out() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -11,8 +11,7 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace MOS {
|
namespace MOS::MOS6522 {
|
||||||
namespace MOS6522 {
|
|
||||||
|
|
||||||
class MOS6522Storage {
|
class MOS6522Storage {
|
||||||
protected:
|
protected:
|
||||||
@ -107,7 +106,6 @@ class MOS6522Storage {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* _522Storage_hpp */
|
#endif /* _522Storage_hpp */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
#include "Implementation/6526Storage.hpp"
|
#include "Implementation/6526Storage.hpp"
|
||||||
#include "../Serial/Line.hpp"
|
#include "../Serial/Line.hpp"
|
||||||
|
|
||||||
namespace MOS {
|
namespace MOS::MOS6526 {
|
||||||
namespace MOS6526 {
|
|
||||||
|
|
||||||
enum Port {
|
enum Port {
|
||||||
A = 0,
|
A = 0,
|
||||||
@ -86,7 +85,6 @@ template <typename PortHandlerT, Personality personality> class MOS6526:
|
|||||||
bool serial_line_did_produce_bit(Serial::Line<true> *line, int bit) final;
|
bool serial_line_did_produce_bit(Serial::Line<true> *line, int bit) final;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "Implementation/6526Implementation.hpp"
|
#include "Implementation/6526Implementation.hpp"
|
||||||
|
@ -12,8 +12,7 @@
|
|||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
|
||||||
namespace MOS {
|
namespace MOS::MOS6526 {
|
||||||
namespace MOS6526 {
|
|
||||||
|
|
||||||
enum Interrupts: uint8_t {
|
enum Interrupts: uint8_t {
|
||||||
TimerA = 1 << 0,
|
TimerA = 1 << 0,
|
||||||
@ -238,7 +237,6 @@ bool MOS6526<BusHandlerT, personality>::serial_line_did_produce_bit(Serial::Line
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* _526Implementation_h */
|
#endif /* _526Implementation_h */
|
||||||
|
@ -13,8 +13,7 @@
|
|||||||
|
|
||||||
#include "../../../ClockReceiver/ClockReceiver.hpp"
|
#include "../../../ClockReceiver/ClockReceiver.hpp"
|
||||||
|
|
||||||
namespace MOS {
|
namespace MOS::MOS6526 {
|
||||||
namespace MOS6526 {
|
|
||||||
|
|
||||||
class TODBase {
|
class TODBase {
|
||||||
public:
|
public:
|
||||||
@ -333,7 +332,6 @@ struct MOS6526Storage {
|
|||||||
int pending_ = 0;
|
int pending_ = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* _526Storage_h */
|
#endif /* _526Storage_h */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
#include "../../Outputs/Speaker/Implementation/LowpassSpeaker.hpp"
|
#include "../../Outputs/Speaker/Implementation/LowpassSpeaker.hpp"
|
||||||
#include "../../Outputs/Speaker/Implementation/SampleSource.hpp"
|
#include "../../Outputs/Speaker/Implementation/SampleSource.hpp"
|
||||||
|
|
||||||
namespace MOS {
|
namespace MOS::MOS6560 {
|
||||||
namespace MOS6560 {
|
|
||||||
|
|
||||||
// audio state
|
// audio state
|
||||||
class AudioGenerator: public ::Outputs::Speaker::SampleSource {
|
class AudioGenerator: public ::Outputs::Speaker::SampleSource {
|
||||||
@ -520,7 +519,6 @@ template <class BusHandler> class MOS6560 {
|
|||||||
OutputMode output_mode_ = OutputMode::NTSC;
|
OutputMode output_mode_ = OutputMode::NTSC;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* _560_hpp */
|
#endif /* _560_hpp */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
|
||||||
namespace Motorola {
|
namespace Motorola::CRTC {
|
||||||
namespace CRTC {
|
|
||||||
|
|
||||||
struct BusState {
|
struct BusState {
|
||||||
bool display_enable = false;
|
bool display_enable = false;
|
||||||
@ -269,7 +268,6 @@ template <class T> class CRTC6845 {
|
|||||||
unsigned int character_is_visible_shifter_ = 0;
|
unsigned int character_is_visible_shifter_ = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CRTC6845_hpp */
|
#endif /* CRTC6845_hpp */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
#include "../../ClockReceiver/ClockingHintSource.hpp"
|
#include "../../ClockReceiver/ClockingHintSource.hpp"
|
||||||
#include "../Serial/Line.hpp"
|
#include "../Serial/Line.hpp"
|
||||||
|
|
||||||
namespace Motorola {
|
namespace Motorola::ACIA {
|
||||||
namespace ACIA {
|
|
||||||
|
|
||||||
class ACIA: public ClockingHint::Source, private Serial::Line<false>::ReadDelegate {
|
class ACIA: public ClockingHint::Source, private Serial::Line<false>::ReadDelegate {
|
||||||
public:
|
public:
|
||||||
@ -126,7 +125,6 @@ class ACIA: public ClockingHint::Source, private Serial::Line<false>::ReadDelega
|
|||||||
uint8_t get_status();
|
uint8_t get_status();
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Motorola_ACIA_6850_hpp */
|
#endif /* Motorola_ACIA_6850_hpp */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace Motorola {
|
namespace Motorola::MFP68901 {
|
||||||
namespace MFP68901 {
|
|
||||||
|
|
||||||
class PortHandler {
|
class PortHandler {
|
||||||
public:
|
public:
|
||||||
@ -182,7 +181,6 @@ class MFP68901: public ClockingHint::Source {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MFP68901_hpp */
|
#endif /* MFP68901_hpp */
|
||||||
|
@ -11,8 +11,7 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace Intel {
|
namespace Intel::i8255 {
|
||||||
namespace i8255 {
|
|
||||||
|
|
||||||
class PortHandler {
|
class PortHandler {
|
||||||
public:
|
public:
|
||||||
@ -88,7 +87,6 @@ template <class T> class i8255 {
|
|||||||
T &port_handler_;
|
T &port_handler_;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* i8255_hpp */
|
#endif /* i8255_hpp */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace Intel {
|
namespace Intel::i8272 {
|
||||||
namespace i8272 {
|
|
||||||
|
|
||||||
class BusHandler {
|
class BusHandler {
|
||||||
public:
|
public:
|
||||||
@ -130,7 +129,6 @@ class i8272 : public Storage::Disk::MFMController {
|
|||||||
bool is_sleeping_ = false;
|
bool is_sleeping_ = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* i8272_hpp */
|
#endif /* i8272_hpp */
|
||||||
|
@ -11,8 +11,7 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace Zilog {
|
namespace Zilog::SCC {
|
||||||
namespace SCC {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Models the Zilog 8530 SCC, a serial adaptor.
|
Models the Zilog 8530 SCC, a serial adaptor.
|
||||||
@ -110,7 +109,5 @@ class z8530 {
|
|||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* z8530_hpp */
|
#endif /* z8530_hpp */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
|
|
||||||
#include "../../Reflection/Struct.hpp"
|
#include "../../Reflection/Struct.hpp"
|
||||||
|
|
||||||
namespace GI {
|
namespace GI::AY38910 {
|
||||||
namespace AY38910 {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
A port handler provides all input for an AY's two 8-bit ports, and may optionally receive
|
A port handler provides all input for an AY's two 8-bit ports, and may optionally receive
|
||||||
@ -219,7 +218,6 @@ struct State: public Reflection::StructImpl<State> {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* AY_3_8910_hpp */
|
#endif /* AY_3_8910_hpp */
|
||||||
|
@ -11,8 +11,7 @@
|
|||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
|
|
||||||
namespace Apple {
|
namespace Apple::Clock {
|
||||||
namespace Clock {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Models Apple's real-time clocks, as contained in the Macintosh and IIgs.
|
Models Apple's real-time clocks, as contained in the Macintosh and IIgs.
|
||||||
@ -293,7 +292,6 @@ class ParallelClock: public ClockStorage {
|
|||||||
uint8_t control_;
|
uint8_t control_;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Apple_RealTimeClock_hpp */
|
#endif /* Apple_RealTimeClock_hpp */
|
||||||
|
@ -11,8 +11,7 @@
|
|||||||
|
|
||||||
#include "IWM.hpp"
|
#include "IWM.hpp"
|
||||||
|
|
||||||
namespace Apple {
|
namespace Apple::Disk {
|
||||||
namespace Disk {
|
|
||||||
|
|
||||||
class DiskIIDrive: public IWMDrive {
|
class DiskIIDrive: public IWMDrive {
|
||||||
public:
|
public:
|
||||||
@ -27,7 +26,6 @@ class DiskIIDrive: public IWMDrive {
|
|||||||
int stepper_position_ = 0;
|
int stepper_position_ = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* DiskIIDrive_hpp */
|
#endif /* DiskIIDrive_hpp */
|
||||||
|
@ -11,8 +11,7 @@
|
|||||||
|
|
||||||
#include "IWM.hpp"
|
#include "IWM.hpp"
|
||||||
|
|
||||||
namespace Apple {
|
namespace Apple::Macintosh {
|
||||||
namespace Macintosh {
|
|
||||||
|
|
||||||
class DoubleDensityDrive: public IWMDrive {
|
class DoubleDensityDrive: public IWMDrive {
|
||||||
public:
|
public:
|
||||||
@ -47,7 +46,6 @@ class DoubleDensityDrive: public IWMDrive {
|
|||||||
int step_direction_ = 1;
|
int step_direction_ = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* MacintoshDoubleDensityDrive_hpp */
|
#endif /* MacintoshDoubleDensityDrive_hpp */
|
||||||
|
@ -13,8 +13,7 @@
|
|||||||
#include <functional>
|
#include <functional>
|
||||||
#include "LowFrequencyOscillator.hpp"
|
#include "LowFrequencyOscillator.hpp"
|
||||||
|
|
||||||
namespace Yamaha {
|
namespace Yamaha::OPL {
|
||||||
namespace OPL {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Models an OPL-style envelope generator.
|
Models an OPL-style envelope generator.
|
||||||
@ -258,7 +257,6 @@ template <int envelope_precision, int period_precision> class EnvelopeGenerator
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* EnvelopeGenerator_h */
|
#endif /* EnvelopeGenerator_h */
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
#ifndef KeyLevelScaler_h
|
#ifndef KeyLevelScaler_h
|
||||||
#define KeyLevelScaler_h
|
#define KeyLevelScaler_h
|
||||||
|
|
||||||
namespace Yamaha {
|
namespace Yamaha::OPL {
|
||||||
namespace OPL {
|
|
||||||
|
|
||||||
template <int frequency_precision> class KeyLevelScaler {
|
template <int frequency_precision> class KeyLevelScaler {
|
||||||
public:
|
public:
|
||||||
@ -51,8 +50,6 @@ template <int frequency_precision> class KeyLevelScaler {
|
|||||||
int shift_ = 0;
|
int shift_ = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* KeyLevelScaler_h */
|
#endif /* KeyLevelScaler_h */
|
||||||
|
@ -11,8 +11,7 @@
|
|||||||
|
|
||||||
#include "../../../Numeric/LFSR.hpp"
|
#include "../../../Numeric/LFSR.hpp"
|
||||||
|
|
||||||
namespace Yamaha {
|
namespace Yamaha::OPL {
|
||||||
namespace OPL {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Models the output of the OPL low-frequency oscillator, which provides a couple of optional fixed-frequency
|
Models the output of the OPL low-frequency oscillator, which provides a couple of optional fixed-frequency
|
||||||
@ -62,7 +61,6 @@ class LowFrequencyOscillator {
|
|||||||
Numeric::LFSR<int, 0x800302> noise_source_;
|
Numeric::LFSR<int, 0x800302> noise_source_;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* LowFrequencyOscillator_hpp */
|
#endif /* LowFrequencyOscillator_hpp */
|
||||||
|
@ -12,8 +12,7 @@
|
|||||||
#include "../../../Outputs/Speaker/Implementation/SampleSource.hpp"
|
#include "../../../Outputs/Speaker/Implementation/SampleSource.hpp"
|
||||||
#include "../../../Concurrency/AsyncTaskQueue.hpp"
|
#include "../../../Concurrency/AsyncTaskQueue.hpp"
|
||||||
|
|
||||||
namespace Yamaha {
|
namespace Yamaha::OPL {
|
||||||
namespace OPL {
|
|
||||||
|
|
||||||
template <typename Child> class OPLBase: public ::Outputs::Speaker::SampleSource {
|
template <typename Child> class OPLBase: public ::Outputs::Speaker::SampleSource {
|
||||||
public:
|
public:
|
||||||
@ -34,7 +33,6 @@ template <typename Child> class OPLBase: public ::Outputs::Speaker::SampleSource
|
|||||||
uint8_t selected_register_ = 0;
|
uint8_t selected_register_ = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* OPLBase_h */
|
#endif /* OPLBase_h */
|
||||||
|
@ -13,8 +13,7 @@
|
|||||||
#include "LowFrequencyOscillator.hpp"
|
#include "LowFrequencyOscillator.hpp"
|
||||||
#include "Tables.hpp"
|
#include "Tables.hpp"
|
||||||
|
|
||||||
namespace Yamaha {
|
namespace Yamaha::OPL {
|
||||||
namespace OPL {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Models an OPL-style phase generator of templated precision; having been told its period ('f-num'), octave ('block') and
|
Models an OPL-style phase generator of templated precision; having been told its period ('f-num'), octave ('block') and
|
||||||
@ -119,7 +118,6 @@ template <int precision> class PhaseGenerator {
|
|||||||
int enable_vibrato_ = 0;
|
int enable_vibrato_ = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* PhaseGenerator_h */
|
#endif /* PhaseGenerator_h */
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
#ifndef Tables_hpp
|
#ifndef Tables_hpp
|
||||||
#define Tables_hpp
|
#define Tables_hpp
|
||||||
|
|
||||||
namespace Yamaha {
|
namespace Yamaha::OPL {
|
||||||
namespace OPL {
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
These are the OPL's built-in log-sin and exponentiation tables, as recovered by
|
These are the OPL's built-in log-sin and exponentiation tables, as recovered by
|
||||||
@ -221,7 +220,6 @@ inline int LogSign::level(int fractional) const {
|
|||||||
return power_two(*this, fractional);
|
return power_two(*this, fractional);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Tables_hpp */
|
#endif /* Tables_hpp */
|
||||||
|
@ -12,8 +12,7 @@
|
|||||||
#include "Tables.hpp"
|
#include "Tables.hpp"
|
||||||
#include "LowFrequencyOscillator.hpp"
|
#include "LowFrequencyOscillator.hpp"
|
||||||
|
|
||||||
namespace Yamaha {
|
namespace Yamaha::OPL {
|
||||||
namespace OPL {
|
|
||||||
|
|
||||||
enum class Waveform {
|
enum class Waveform {
|
||||||
Sine, HalfSine, AbsSine, PulseSine
|
Sine, HalfSine, AbsSine, PulseSine
|
||||||
@ -86,7 +85,6 @@ template <int phase_precision> class WaveformGenerator {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* WaveformGenerator_h */
|
#endif /* WaveformGenerator_h */
|
||||||
|
@ -18,8 +18,7 @@
|
|||||||
|
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
|
|
||||||
namespace Yamaha {
|
namespace Yamaha::OPL {
|
||||||
namespace OPL {
|
|
||||||
|
|
||||||
class OPLL: public OPLBase<OPLL> {
|
class OPLL: public OPLBase<OPLL> {
|
||||||
public:
|
public:
|
||||||
@ -125,7 +124,6 @@ class OPLL: public OPLBase<OPLL> {
|
|||||||
const uint8_t *instrument_definition(int instrument, int channel);
|
const uint8_t *instrument_definition(int instrument, int channel);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* OPLL_hpp */
|
#endif /* OPLL_hpp */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
#include <array>
|
#include <array>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace Ricoh {
|
namespace Ricoh::RP5C01 {
|
||||||
namespace RP5C01 {
|
|
||||||
|
|
||||||
class RP5C01 {
|
class RP5C01 {
|
||||||
public:
|
public:
|
||||||
@ -56,8 +55,5 @@ class RP5C01 {
|
|||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#endif /* RP5C01_hpp */
|
#endif /* RP5C01_hpp */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
// Subject to corrections:
|
// Subject to corrections:
|
||||||
//
|
//
|
||||||
// * CWAI and the pushes and pulls at 0x3x are immediate, not inherent.
|
// * CWAI and the pushes and pulls at 0x3x are immediate, not inherent.
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M6809 {
|
||||||
namespace M6809 {
|
|
||||||
|
|
||||||
enum class AddressingMode {
|
enum class AddressingMode {
|
||||||
Illegal,
|
Illegal,
|
||||||
@ -239,7 +238,6 @@ template <int i, typename SchedulerT> void OperationMapper<Page::Page2>::dispatc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_M6809_OperationMapper_hpp */
|
#endif /* InstructionSets_M6809_OperationMapper_hpp */
|
||||||
|
@ -20,5 +20,4 @@ enum class AccessType {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif /* AccessType_h */
|
#endif /* AccessType_h */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M50740 {
|
||||||
namespace M50740 {
|
|
||||||
|
|
||||||
class Decoder {
|
class Decoder {
|
||||||
public:
|
public:
|
||||||
@ -33,7 +32,6 @@ class Decoder {
|
|||||||
Instruction instr_;
|
Instruction instr_;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_M50740_Decoder_hpp */
|
#endif /* InstructionSets_M50740_Decoder_hpp */
|
||||||
|
@ -18,8 +18,7 @@
|
|||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M50740 {
|
||||||
namespace M50740 {
|
|
||||||
|
|
||||||
class Executor;
|
class Executor;
|
||||||
using CachingExecutor = CachingExecutor<Executor, 0x1fff, 255, Instruction, false>;
|
using CachingExecutor = CachingExecutor<Executor, 0x1fff, 255, Instruction, false>;
|
||||||
@ -174,7 +173,6 @@ class Executor: public CachingExecutor {
|
|||||||
inline void subtract_duration(int duration);
|
inline void subtract_duration(int duration);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* Executor_h */
|
#endif /* Executor_h */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
#include <sstream>
|
#include <sstream>
|
||||||
#include "../AccessType.hpp"
|
#include "../AccessType.hpp"
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M50740 {
|
||||||
namespace M50740 {
|
|
||||||
|
|
||||||
enum class AddressingMode {
|
enum class AddressingMode {
|
||||||
Implied, Accumulator, Immediate,
|
Implied, Accumulator, Immediate,
|
||||||
@ -236,7 +235,5 @@ inline std::ostream &operator <<(std::ostream &stream, const Instruction &instru
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* InstructionSets_M50740_Instruction_h */
|
#endif /* InstructionSets_M50740_Instruction_h */
|
||||||
|
@ -13,8 +13,7 @@
|
|||||||
#include "Decoder.hpp"
|
#include "Decoder.hpp"
|
||||||
#include "../AccessType.hpp"
|
#include "../AccessType.hpp"
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M50740 {
|
||||||
namespace M50740 {
|
|
||||||
|
|
||||||
template<typename Target, bool include_entries_and_accesses> struct Parser {
|
template<typename Target, bool include_entries_and_accesses> struct Parser {
|
||||||
void parse(Target &target, const uint8_t *storage, uint16_t start, uint16_t closing_bound) {
|
void parse(Target &target, const uint8_t *storage, uint16_t start, uint16_t closing_bound) {
|
||||||
@ -119,7 +118,6 @@ template<typename Target, bool include_entries_and_accesses> struct Parser {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_M50740_Parser_hpp */
|
#endif /* InstructionSets_M50740_Parser_hpp */
|
||||||
|
@ -13,8 +13,7 @@
|
|||||||
#include "Model.hpp"
|
#include "Model.hpp"
|
||||||
#include "../../Numeric/Sizes.hpp"
|
#include "../../Numeric/Sizes.hpp"
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
A stateless decoder that can map from instruction words to preinstructions
|
A stateless decoder that can map from instruction words to preinstructions
|
||||||
@ -115,7 +114,6 @@ template <Model model> class Predecoder {
|
|||||||
static constexpr Operation operation(OpT op);
|
static constexpr Operation operation(OpT op);
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_M68k_Decoder_hpp */
|
#endif /* InstructionSets_M68k_Decoder_hpp */
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
#ifndef InstructionSets_M68k_ExceptionVectors_hpp
|
#ifndef InstructionSets_M68k_ExceptionVectors_hpp
|
||||||
#define InstructionSets_M68k_ExceptionVectors_hpp
|
#define InstructionSets_M68k_ExceptionVectors_hpp
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
enum Exception {
|
enum Exception {
|
||||||
InitialStackPointer = 0,
|
InitialStackPointer = 0,
|
||||||
@ -44,7 +43,6 @@ enum Exception {
|
|||||||
MMUAccessLevelViolationError = 58,
|
MMUAccessLevelViolationError = 58,
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_M68k_ExceptionVectors_hpp */
|
#endif /* InstructionSets_M68k_ExceptionVectors_hpp */
|
||||||
|
@ -16,8 +16,7 @@
|
|||||||
#include "RegisterSet.hpp"
|
#include "RegisterSet.hpp"
|
||||||
#include "Status.hpp"
|
#include "Status.hpp"
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
/// Maps the 68k function codes such that bits 0, 1 and 2 represent
|
/// Maps the 68k function codes such that bits 0, 1 and 2 represent
|
||||||
/// FC0, FC1 and FC2 respectively.
|
/// FC0, FC1 and FC2 respectively.
|
||||||
@ -163,7 +162,6 @@ template <Model model, typename BusHandler> class Executor {
|
|||||||
} state_;
|
} state_;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "Implementation/ExecutorImplementation.hpp"
|
#include "Implementation/ExecutorImplementation.hpp"
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
|
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
#define An(x) state_.registers[8 + x]
|
#define An(x) state_.registers[8 + x]
|
||||||
#define Dn(x) state_.registers[x]
|
#define Dn(x) state_.registers[x]
|
||||||
@ -749,7 +748,6 @@ void Executor<model, BusHandler>::State::movem_toR(Preinstruction instruction, u
|
|||||||
#undef An
|
#undef An
|
||||||
#undef AccessException
|
#undef AccessException
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_M68k_ExecutorImplementation_hpp */
|
#endif /* InstructionSets_M68k_ExecutorImplementation_hpp */
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
#ifndef InstructionSets_68k_InstructionOperandFlags_hpp
|
#ifndef InstructionSets_68k_InstructionOperandFlags_hpp
|
||||||
#define InstructionSets_68k_InstructionOperandFlags_hpp
|
#define InstructionSets_68k_InstructionOperandFlags_hpp
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
template <Model model, Operation t_operation> constexpr uint8_t operand_flags(Operation r_operation) {
|
template <Model model, Operation t_operation> constexpr uint8_t operand_flags(Operation r_operation) {
|
||||||
switch((t_operation != Operation::Undefined) ? t_operation : r_operation) {
|
switch((t_operation != Operation::Undefined) ? t_operation : r_operation) {
|
||||||
@ -168,7 +167,6 @@ template <Model model, Operation t_operation> constexpr uint8_t operand_flags(Op
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_68k_InstructionOperandFlags_hpp */
|
#endif /* InstructionSets_68k_InstructionOperandFlags_hpp */
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
#ifndef InstructionSets_68k_InstructionOperandSize_hpp
|
#ifndef InstructionSets_68k_InstructionOperandSize_hpp
|
||||||
#define InstructionSets_68k_InstructionOperandSize_hpp
|
#define InstructionSets_68k_InstructionOperandSize_hpp
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
template <Operation t_operation>
|
template <Operation t_operation>
|
||||||
constexpr DataSize operand_size(Operation r_operation) {
|
constexpr DataSize operand_size(Operation r_operation) {
|
||||||
@ -128,7 +127,6 @@ constexpr DataSize operand_size(Operation r_operation) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_68k_InstructionOperandSize_hpp */
|
#endif /* InstructionSets_68k_InstructionOperandSize_hpp */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
/// Sign-extend @c x to 32 bits and return as an unsigned 32-bit int.
|
/// Sign-extend @c x to 32 bits and return as an unsigned 32-bit int.
|
||||||
inline uint32_t u_extend16(uint16_t x) { return uint32_t(int16_t(x)); }
|
inline uint32_t u_extend16(uint16_t x) { return uint32_t(int16_t(x)); }
|
||||||
@ -1030,7 +1029,6 @@ template <
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_M68k_PerformImplementation_h */
|
#endif /* InstructionSets_M68k_PerformImplementation_h */
|
||||||
|
@ -15,8 +15,7 @@
|
|||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
enum class Operation: uint8_t {
|
enum class Operation: uint8_t {
|
||||||
Undefined,
|
Undefined,
|
||||||
@ -494,7 +493,6 @@ class Preinstruction {
|
|||||||
const char *operation_string() const;
|
const char *operation_string() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "Implementation/InstructionOperandSize.hpp"
|
#include "Implementation/InstructionOperandSize.hpp"
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
#ifndef InstructionSets_M68k_Model_hpp
|
#ifndef InstructionSets_M68k_Model_hpp
|
||||||
#define InstructionSets_M68k_Model_hpp
|
#define InstructionSets_M68k_Model_hpp
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
enum class Model {
|
enum class Model {
|
||||||
M68000,
|
M68000,
|
||||||
@ -20,7 +19,6 @@ enum class Model {
|
|||||||
M68040,
|
M68040,
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_M68k_Model_hpp */
|
#endif /* InstructionSets_M68k_Model_hpp */
|
||||||
|
@ -14,8 +14,7 @@
|
|||||||
#include "Status.hpp"
|
#include "Status.hpp"
|
||||||
#include "../../Numeric/RegisterSizes.hpp"
|
#include "../../Numeric/RegisterSizes.hpp"
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
struct NullFlowController {
|
struct NullFlowController {
|
||||||
//
|
//
|
||||||
@ -167,7 +166,6 @@ template <
|
|||||||
Operation operation = Operation::Undefined
|
Operation operation = Operation::Undefined
|
||||||
> void perform(Preinstruction instruction, CPU::RegisterPair32 &source, CPU::RegisterPair32 &dest, Status &status, FlowController &flow_controller);
|
> void perform(Preinstruction instruction, CPU::RegisterPair32 &source, CPU::RegisterPair32 &dest, Status &status, FlowController &flow_controller);
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "Implementation/PerformImplementation.hpp"
|
#include "Implementation/PerformImplementation.hpp"
|
||||||
|
@ -9,8 +9,7 @@
|
|||||||
#ifndef InstructionSets_M68k_RegisterSet_h
|
#ifndef InstructionSets_M68k_RegisterSet_h
|
||||||
#define InstructionSets_M68k_RegisterSet_h
|
#define InstructionSets_M68k_RegisterSet_h
|
||||||
|
|
||||||
namespace InstructionSet {
|
namespace InstructionSet::M68k {
|
||||||
namespace M68k {
|
|
||||||
|
|
||||||
struct RegisterSet {
|
struct RegisterSet {
|
||||||
uint32_t data[8], address[7];
|
uint32_t data[8], address[7];
|
||||||
@ -25,7 +24,6 @@ struct RegisterSet {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* InstructionSets_M68k_RegisterSet_h */
|
#endif /* InstructionSets_M68k_RegisterSet_h */
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user