mirror of
https://github.com/TomHarte/CLK.git
synced 2026-04-25 11:17:26 +00:00
Attempt some basic voice details.
This commit is contained in:
@@ -109,6 +109,8 @@ private:
|
||||
/*!
|
||||
Combines an SN76489 with an appropriate asynchronous queue and filtering speaker.
|
||||
*/
|
||||
|
||||
// TODO: generalise the below and clean up across the project.
|
||||
template <bool has_beebsid>
|
||||
struct Audio {
|
||||
private:
|
||||
@@ -147,7 +149,7 @@ public:
|
||||
return sn76489_;
|
||||
}
|
||||
if constexpr (std::is_same_v<TargetT, MOS::SID::SID>) {
|
||||
return sn76489_;
|
||||
return sid_;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1027,6 +1029,12 @@ public:
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if(has_beebsid && address >= 0xfc20 && address < 0xfc40) {
|
||||
if constexpr (is_read(operation)) {
|
||||
value = audio_.template get<MOS::SID::SID>().read(+address);
|
||||
} else {
|
||||
audio_.template get<MOS::SID::SID>().write(+address, value);
|
||||
}
|
||||
} else {
|
||||
Logger::error()
|
||||
.append("Unhandled IO %s at %04x", is_read(operation) ? "read" : "write", address)
|
||||
|
||||
Reference in New Issue
Block a user