1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-02-19 23:29:05 +00:00

Doubled up to ensure that every byte that should be inspected is represented. This makes it clearer that I'm on the right road. A garbled version of 'Amstrad 64k Microcomputer' can be discerned, in a weird grayscale and with the right-hand column missing and skewed output as a result.

This commit is contained in:
Thomas Harte 2017-08-01 07:56:44 -04:00
parent 933d69a256
commit ca42abab70

View File

@ -43,11 +43,13 @@ struct CRTCBusHandler {
((state.refresh_address & 0x3000) << 2) ((state.refresh_address & 0x3000) << 2)
); );
*pixel_pointer_++ = ram_[address]; pixel_pointer_[0] = ram_[address];
pixel_pointer_[1] = ram_[address+1];
pixel_pointer_ += 2;
// flush the current buffer if full // flush the current buffer if full
if(pixel_pointer_ == pixel_data_ + 320) { if(pixel_pointer_ == pixel_data_ + 320) {
crt_->output_data(320, 16); crt_->output_data(320, 8);
pixel_pointer_ = pixel_data_ = nullptr; pixel_pointer_ = pixel_data_ = nullptr;
} }
} }
@ -59,7 +61,7 @@ struct CRTCBusHandler {
crt_->output_sync((unsigned int)(cycles_ * 16)); crt_->output_sync((unsigned int)(cycles_ * 16));
} else { } else {
if(was_enabled_) { if(was_enabled_) {
crt_->output_data((unsigned int)(cycles_ * 16), 16); crt_->output_data((unsigned int)(cycles_ * 16), 8);
pixel_pointer_ = pixel_data_ = nullptr; pixel_pointer_ = pixel_data_ = nullptr;
} else { } else {
uint8_t *colour_pointer = (uint8_t *)crt_->allocate_write_area(1); uint8_t *colour_pointer = (uint8_t *)crt_->allocate_write_area(1);