1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-08-13 00:25:26 +00:00

Improve transfer flag for LMMC.

This commit is contained in:
Thomas Harte
2023-01-28 21:45:05 -05:00
parent 2d6afe1013
commit 1e646eb57b
2 changed files with 4 additions and 1 deletions

View File

@@ -1029,7 +1029,8 @@ uint8_t Base<personality>::read_register() {
(queued_access_ == MemoryAccess::None ? 0x80 : 0x00) & (queued_access_ == MemoryAccess::None ? 0x80 : 0x00) &
(( ((
!Storage<personality>::command_ || !Storage<personality>::command_ ||
Storage<personality>::command_->access != Command::AccessType::WaitForColour !Storage<personality>::command_->is_cpu_transfer ||
Storage<personality>::command_->access == Command::AccessType::WaitForColour
) ? 0x80 : 0x00); ) ? 0x80 : 0x00);
return return

View File

@@ -66,6 +66,7 @@ struct Command {
}; };
AccessType access = AccessType::PlotPoint; AccessType access = AccessType::PlotPoint;
int cycles = 0; int cycles = 0;
bool is_cpu_transfer = false;
Vector location; Vector location;
/// Current command parameters. /// Current command parameters.
@@ -176,6 +177,7 @@ struct LogicalMoveFromCPU: public Command {
cycles = 64; cycles = 64;
access = AccessType::WaitForColour; access = AccessType::WaitForColour;
is_cpu_transfer = true;
} }
void advance() final { void advance() final {