mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-19 23:29:05 +00:00
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
This commit is contained in:
commit
8768ee1504
@ -911,16 +911,24 @@ void Base<personality>::write_register(uint8_t value) {
|
|||||||
low_write_ = value;
|
low_write_ = value;
|
||||||
write_phase_ = true;
|
write_phase_ = true;
|
||||||
|
|
||||||
// The initial write should half update the access pointer.
|
// The initial write should half update the access pointer, other than
|
||||||
install_field<0>(ram_pointer_, value);
|
// on the Yamaha.
|
||||||
|
if constexpr (!is_yamaha_vdp(personality)) {
|
||||||
|
install_field<0>(ram_pointer_, value);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The RAM pointer is always set on a second write, regardless of
|
// The RAM pointer is always set on a second write, regardless of
|
||||||
// whether the caller is intending to enqueue a VDP operation.
|
// whether the caller is intending to enqueue a VDP operation.
|
||||||
|
// If this is a Yamaha VDP then the latched byte isn't set as part
|
||||||
|
// of the address until now.
|
||||||
//
|
//
|
||||||
// The top two bits are used to determine the type of write; only
|
// The top two bits are used to determine the type of write; only
|
||||||
// the lower six are actual address.
|
// the lower six are actual address.
|
||||||
|
if constexpr (is_yamaha_vdp(personality)) {
|
||||||
|
install_field<0>(ram_pointer_, low_write_);
|
||||||
|
}
|
||||||
install_field<8, 6>(ram_pointer_, value);
|
install_field<8, 6>(ram_pointer_, value);
|
||||||
|
|
||||||
write_phase_ = false;
|
write_phase_ = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user