mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-19 07:31:15 +00:00
Correct ID bit placement, multiplex with motor state.
The latter per my reading of http://www.primrosebank.net/computers/amiga/upgrades/amiga_upgrades_storage_fdis.htm
This commit is contained in:
parent
5899af0038
commit
616ccbb878
@ -1049,6 +1049,7 @@ void Chipset::DiskController::process_input_bit(int value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Chipset::DiskController::set_sync_word(uint16_t value) {
|
void Chipset::DiskController::set_sync_word(uint16_t value) {
|
||||||
|
LOG("Set disk sync word to " << PADHEX(4) << value);
|
||||||
sync_word_ = value;
|
sync_word_ = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1160,11 +1161,12 @@ uint8_t Chipset::DiskController::get_rdy_trk0_wpro_chng() {
|
|||||||
auto &drive = get_drive();
|
auto &drive = get_drive();
|
||||||
|
|
||||||
const uint8_t active_high =
|
const uint8_t active_high =
|
||||||
((combined_id & 0x8000) >> 11) |
|
((combined_id & 0x8000) >> 10) |
|
||||||
|
(drive.get_motor_on() ? 0x20 : 0x00) |
|
||||||
(drive.get_is_ready() ? 0x00 : 0x02) |
|
(drive.get_is_ready() ? 0x00 : 0x02) |
|
||||||
(drive.get_is_track_zero() ? 0x10 : 0x00) |
|
(drive.get_is_track_zero() ? 0x10 : 0x00) |
|
||||||
(drive.get_is_read_only() ? 0x08 : 0x00);
|
(drive.get_is_read_only() ? 0x08 : 0x00);
|
||||||
return 0xff & ~active_high;
|
return ~active_high;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Chipset::DiskController::set_activity_observer(Activity::Observer *observer) {
|
void Chipset::DiskController::set_activity_observer(Activity::Observer *observer) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user