1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-28 21:49:27 +00:00

Corrects attributed mode.

This commit is contained in:
Thomas Harte 2021-06-19 13:08:14 -04:00
parent 1dcac304d3
commit 4968ccf46d

View File

@ -323,7 +323,7 @@ void Nick::run_for(Cycles duration) {
case Mode::Attr: case Mode::Attr:
// Reload the attribute address if VRES is set. // Reload the attribute address if VRES is set.
if(line_parameters_[1] & 0x10) { if(line_parameters_[1] & 0x10) {
line_data_pointer_[1] = uint16_t(line_parameters_[6] | (line_parameters_[7] << 8)); line_data_pointer_[0] = uint16_t(line_parameters_[4] | (line_parameters_[5] << 8));
} }
break; break;
} }
@ -500,8 +500,8 @@ template <int bpp> void Nick::output_attributed(uint16_t *target, int columns) {
static_assert(bpp == 1 || bpp == 2 || bpp == 4 || bpp == 8); static_assert(bpp == 1 || bpp == 2 || bpp == 4 || bpp == 8);
for(int c = 0; c < columns; c++) { for(int c = 0; c < columns; c++) {
const uint8_t pixels = ram_[line_data_pointer_[0]]; const uint8_t pixels = ram_[line_data_pointer_[1]];
const uint8_t attributes = ram_[line_data_pointer_[1]]; const uint8_t attributes = ram_[line_data_pointer_[0]];
++line_data_pointer_[0]; ++line_data_pointer_[0];
++line_data_pointer_[1]; ++line_data_pointer_[1];