1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-04-06 10:38:16 +00:00

Reformat; hatch separate AT keyboard controller; print POST codes.

This commit is contained in:
Thomas Harte 2025-03-05 21:08:53 -05:00
parent 0c7db56e15
commit 6e1909647b
4 changed files with 1031 additions and 998 deletions
Analyser/Static/PCCompatible
Machines/PCCompatible
Outputs

@ -19,6 +19,14 @@ ReflectableEnum(Model,
AT
);
constexpr bool is_xt(const Model model) {
return model <= Model::TurboXT;
}
constexpr bool is_at(const Model model) {
return model >= Model::AT;
}
struct Target: public Analyser::Static::Target, public Reflection::StructImpl<Target> {
ReflectableEnum(VideoAdaptor,
MDA,

@ -10,6 +10,7 @@
#include "Analyser/Static/PCCompatible/Target.hpp"
#include "Numeric/RegisterSizes.hpp"
#include "Outputs/Log.hpp"
#include "Memory.hpp"
@ -250,6 +251,9 @@ public:
template <int index>
void set_page(const uint8_t value) {
pages_[page_for_index(index)] = value;
if(index == 0x00) {
log_.info().append("%02x", value);
}
}
template <int index>
@ -264,6 +268,8 @@ public:
private:
uint8_t pages_[16]{};
Log::Logger<Log::Source::PCPOST> log_;
static constexpr int page_for_index(const int index) {
switch(index) {
// Channels the PC architecture uses.

File diff suppressed because it is too large Load Diff

@ -49,6 +49,7 @@ enum class Source {
NCR5380,
OpenGL,
PCCompatible,
PCPOST,
Plus4,
PCMTrack,
SCC,
@ -124,6 +125,7 @@ constexpr const char *prefix(Source source) {
case Source::OpenGL: return "OpenGL";
case Source::Plus4: return "Plus4";
case Source::PCCompatible: return "PC";
case Source::PCPOST: return "PC POST";
case Source::PCMTrack: return "PCM Track";
case Source::SCSI: return "SCSI";
case Source::SCC: return "SCC";