1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-04 15:05:36 +00:00
CLK/StaticAnalyser/StaticAnalyser.hpp

65 lines
1.0 KiB
C++
Raw Normal View History

//
// StaticAnalyser.hpp
// Clock Signal
//
// Created by Thomas Harte on 23/08/2016.
// Copyright © 2016 Thomas Harte. All rights reserved.
//
#ifndef StaticAnalyser_hpp
#define StaticAnalyser_hpp
#include "../Storage/Tape/Tape.hpp"
2016-08-27 17:42:51 +00:00
#include "../Storage/Disk/Disk.hpp"
#include <string>
#include <list>
#include <vector>
namespace StaticAnalyser {
enum Machine {
Atari2600,
Electron,
Vic20
};
struct Target {
Machine machine;
float probability;
union {
enum class Vic20 {
Unexpanded,
EightKB,
ThirtyTwoKB
} vic20;
} memoryModel;
union {
struct {
bool adfs;
bool dfs;
} acorn;
struct {
bool c1540;
} vic20;
} externalHardware;
std::string loadingCommand;
union {
struct {
bool holdShift;
} acorn;
} loadingMethod;
2016-08-27 17:42:51 +00:00
2016-08-27 21:15:09 +00:00
std::list<std::shared_ptr<Storage::Disk::Disk>> disks;
2016-08-27 21:09:45 +00:00
std::list<std::shared_ptr<Storage::Tape::Tape>> tapes;
2016-08-27 17:42:51 +00:00
// TODO: ROMs. Probably can't model as raw data, but then how to handle bus complexities?
};
2016-08-27 17:42:51 +00:00
std::list<Target> GetTargets(const char *file_name);
}
#endif /* StaticAnalyser_hpp */