1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-27 01:31:42 +00:00

Gave the Microdisc a clock signal, added just enough of force interrupt to avoid a spurious belief that a type 3 command has started.

This commit is contained in:
Thomas Harte 2016-11-25 20:51:39 +08:00
parent 5c019ad1c0
commit 4af678d2ed
2 changed files with 13 additions and 4 deletions

View File

@ -1,4 +1,4 @@
// //
// 1770.cpp // 1770.cpp
// Clock Signal // Clock Signal
// //
@ -44,9 +44,17 @@ void WD1770::set_register(int address, uint8_t value)
switch(address&3) switch(address&3)
{ {
case 0: case 0:
command_ = value; {
posit_event(Event::Command); if((value&0xf0) == 0xd0)
// TODO: is this force interrupt? {
printf("!!!TODO: force interrupt!!!\n");
}
else
{
command_ = value;
posit_event(Event::Command);
}
}
break; break;
case 1: track_ = value; break; case 1: track_ = value; break;
case 2: sector_ = value; break; case 2: sector_ = value; break;

View File

@ -146,6 +146,7 @@ unsigned int Machine::perform_bus_operation(CPU6502::BusOperation operation, uin
} }
via_.run_for_cycles(1); via_.run_for_cycles(1);
if(microdisc_is_enabled_) microdisc_.run_for_cycles(8);
cycles_since_video_update_++; cycles_since_video_update_++;
return 1; return 1;
} }