1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-02-16 18:30:32 +00:00

Takes a second shot at the MemoryWrite constructor complaint.

This commit is contained in:
Thomas Harte 2020-11-19 22:28:10 -05:00
parent 2c9ce116a2
commit d00e5d23ef
3 changed files with 12 additions and 7 deletions

View File

@ -15,7 +15,14 @@
using namespace Apple::IIgs::Sound;
GLU::GLU(Concurrency::DeferringAsyncTaskQueue &audio_queue) : audio_queue_(audio_queue) {}
GLU::GLU(Concurrency::DeferringAsyncTaskQueue &audio_queue) : audio_queue_(audio_queue) {
// Reset all pending stores.
MemoryWrite disabled_write;
disabled_write.enabled = false;
for(int c = 0; c < StoreBufferSize; c++) {
pending_stores_[c].store(disabled_write);
}
}
void GLU::set_data(uint8_t data) {
if(local_.control & 0x40) {

View File

@ -50,8 +50,6 @@ class GLU: public Outputs::Speaker::SampleSource {
// Assumed: on most modern architectures, an atomic 64-bit read or
// write can be achieved locklessly.
struct MemoryWrite {
MemoryWrite() : enabled(false) {}
uint32_t time;
uint16_t address;
uint8_t value;

View File

@ -388,10 +388,10 @@ uint16_t *VideoBase::output_super_high_res(uint16_t *target, int start, int end,
if(line_control_ & 0x80) {
for(int c = start * 4; c < end * 4; c++) {
const uint8_t source = ram_[row_address + c];
target[0] = palette_[0x8 + (source >> 6) & 0x3];
target[1] = palette_[0xc + (source >> 4) & 0x3];
target[2] = palette_[0x0 + (source >> 2) & 0x3];
target[3] = palette_[0x4 + (source >> 0) & 0x3];
target[0] = palette_[0x8 + ((source >> 6) & 0x3)];
target[1] = palette_[0xc + ((source >> 4) & 0x3)];
target[2] = palette_[0x0 + ((source >> 2) & 0x3)];
target[3] = palette_[0x4 + ((source >> 0) & 0x3)];
target += 4;
}
} else {