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:
parent
5c019ad1c0
commit
4af678d2ed
@ -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;
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user