1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-11 04:28:58 +00:00

Fixed inverse characters, added an extra per-frame phase change, based on empirical observation, ensured header guard won't become ambiguous.

This commit is contained in:
Thomas Harte 2016-10-16 22:14:01 -04:00
parent fae1bb0db9
commit 61ad0f8bdc
2 changed files with 8 additions and 4 deletions

View File

@ -56,7 +56,11 @@ void VideoOutput::run_for_cycles(int number_of_cycles)
set_character_set_base_address(); set_character_set_base_address();
_phase += 64; _phase += 64;
if(!_counter) _frame_counter++; if(!_counter)
{
_phase += 64;
_frame_counter++;
}
} }
State new_state = Blank; State new_state = Blank;
@ -93,7 +97,7 @@ void VideoOutput::run_for_cycles(int number_of_cycles)
int address = 0xbb80 + (_counter >> 9) * 40 + h_counter; int address = 0xbb80 + (_counter >> 9) * 40 + h_counter;
control_byte = _ram[address]; control_byte = _ram[address];
int line = _use_double_height_characters ? ((_counter >> 7) & 7) : ((_counter >> 6) & 7); int line = _use_double_height_characters ? ((_counter >> 7) & 7) : ((_counter >> 6) & 7);
pixels = _ram[_character_set_base_address + control_byte * 8 + line]; pixels = _ram[_character_set_base_address + (control_byte&127) * 8 + line];
} }
uint8_t inverse_mask = (control_byte & 0x80) ? 0x77 : 0x00; uint8_t inverse_mask = (control_byte & 0x80) ? 0x77 : 0x00;

View File

@ -6,8 +6,8 @@
// Copyright © 2016 Thomas Harte. All rights reserved. // Copyright © 2016 Thomas Harte. All rights reserved.
// //
#ifndef Video_hpp #ifndef Machines_Oric_Video_hpp
#define Video_hpp #define Machines_Oric_Video_hpp
#include "../../Outputs/CRT/CRT.hpp" #include "../../Outputs/CRT/CRT.hpp"