mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-05 21:32:55 +00:00
Added guess on how colour memory and the 12-bit bus possibly works.
This commit is contained in:
parent
2ab21e7a3c
commit
9e9e50edb1
@ -56,8 +56,8 @@ void MOS6560::set_register(int address, uint8_t value)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("%02x: %02x\n", address, value);
|
// printf("%02x: %02x\n", address, value);
|
||||||
printf("%04x %04x [%d by %d from %d, %d]\n", _character_cell_start_address, _video_matrix_start_address, _number_of_columns, _number_of_rows, _first_column_location, _first_row_location);
|
// printf("%04x %04x [%d by %d from %d, %d]\n", _character_cell_start_address, _video_matrix_start_address, _number_of_columns, _number_of_rows, _first_column_location, _first_row_location);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t MOS6560::get_address()
|
uint16_t MOS6560::get_address()
|
||||||
@ -65,6 +65,6 @@ uint16_t MOS6560::get_address()
|
|||||||
return 0x1c;
|
return 0x1c;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MOS6560::set_graphics_value(uint8_t value)
|
void MOS6560::set_graphics_value(uint8_t value, uint8_t colour_value)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ class MOS6560 {
|
|||||||
Outputs::CRT::CRT *get_crt() { return _crt.get(); }
|
Outputs::CRT::CRT *get_crt() { return _crt.get(); }
|
||||||
|
|
||||||
uint16_t get_address();
|
uint16_t get_address();
|
||||||
void set_graphics_value(uint8_t value);
|
void set_graphics_value(uint8_t value, uint8_t colour_value);
|
||||||
|
|
||||||
void set_register(int address, uint8_t value);
|
void set_register(int address, uint8_t value);
|
||||||
|
|
||||||
|
@ -22,7 +22,8 @@ unsigned int Machine::perform_bus_operation(CPU6502::BusOperation operation, uin
|
|||||||
set_reset_line(false);
|
set_reset_line(false);
|
||||||
|
|
||||||
// run the phase-1 part of this cycle, in which the VIC accesses memory
|
// run the phase-1 part of this cycle, in which the VIC accesses memory
|
||||||
_mos6560->set_graphics_value(read_memory(_mos6560->get_address()));
|
uint16_t video_address = _mos6560->get_address();
|
||||||
|
_mos6560->set_graphics_value(read_memory(video_address), _colorMemory[video_address & 0x01ff]);
|
||||||
|
|
||||||
// run the phase-2 part of the cycle, which is whatever the 6502 said it should be
|
// run the phase-2 part of the cycle, which is whatever the 6502 said it should be
|
||||||
if(isReadOperation(operation))
|
if(isReadOperation(operation))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user