mirror of
https://github.com/TomHarte/CLK.git
synced 2025-03-06 01:30:19 +00:00
Supplies fuzzy masks where specified.
This commit is contained in:
parent
b0326530d6
commit
d27d14d2b0
@ -260,11 +260,11 @@ class TrackConstructor {
|
|||||||
if(!encoder) {
|
if(!encoder) {
|
||||||
segments.emplace_back();
|
segments.emplace_back();
|
||||||
segments.back().length_of_a_bit = Storage::Time(int(rate + 1), 1);
|
segments.back().length_of_a_bit = Storage::Time(int(rate + 1), 1);
|
||||||
encoder = Storage::Encodings::MFM::GetMFMEncoder(segments.back().data);
|
encoder = Storage::Encodings::MFM::GetMFMEncoder(segments.back().data, &segments.back().fuzzy_mask);
|
||||||
} else if(segments.back().length_of_a_bit.length != rate) {
|
} else if(segments.back().length_of_a_bit.length != rate) {
|
||||||
segments.emplace_back();
|
segments.emplace_back();
|
||||||
segments.back().length_of_a_bit = Storage::Time(int(rate + 1), 1);
|
segments.back().length_of_a_bit = Storage::Time(int(rate + 1), 1);
|
||||||
encoder->reset_target(segments.back().data);
|
encoder->reset_target(segments.back().data, &segments.back().fuzzy_mask);
|
||||||
}
|
}
|
||||||
return encoder.get();
|
return encoder.get();
|
||||||
};
|
};
|
||||||
@ -323,11 +323,17 @@ class TrackConstructor {
|
|||||||
// (TODO: is there any benefit to optiming number of calls to encoder_at_rate?)
|
// (TODO: is there any benefit to optiming number of calls to encoder_at_rate?)
|
||||||
if(!location->sector.timing.empty()) {
|
if(!location->sector.timing.empty()) {
|
||||||
for(size_t c = 0; c < body_bytes; ++c) {
|
for(size_t c = 0; c < body_bytes; ++c) {
|
||||||
encoder_at_rate(location->sector.timing[c >> 4])->add_byte(location->sector.contents[c]);
|
encoder_at_rate(location->sector.timing[c >> 4])->add_byte(
|
||||||
|
location->sector.contents[c],
|
||||||
|
location->sector.fuzzy_mask.empty() ? 0x00 : location->sector.fuzzy_mask[c]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for(size_t c = 0; c < body_bytes; ++c) {
|
for(size_t c = 0; c < body_bytes; ++c) {
|
||||||
default_rate_encoder->add_byte(location->sector.contents[c]);
|
default_rate_encoder->add_byte(
|
||||||
|
location->sector.contents[c],
|
||||||
|
location->sector.fuzzy_mask.empty() ? 0x00 : location->sector.fuzzy_mask[c]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user