
Сообщение от
AlexCrush
Расскажу-ка я свои мысли про регенерацию в Magic 5 и 6.
Регенерацией занимается видеоконтроллер. В ру5 надо регенерировать только нижние 7 бит (факт из советской книжки про м\с памяти). То есть для полной регенерации достаточно прочитать информацию из 128 ячеек, лишь бы они все были в разных рядах (или как там с терминологией, в общем чтобы адресные сигналы подаваемые во время RAS были разные). На экране 128 байт без учета аттрибутов - это 4 строки. Одна экранная строка - 64 мкс. 4*64=256 мкс,что значительно меньше чем паспортные 2 мс. Даже если предположить (правда это было опровергнуто опытами), что надо регенерировать все 8 бит адреса, то получим 512 мкс, что тоже весьма хорошо. Для того чтобы каждые 4 строки экрана были в разных рядах (RAS) надо всего лишь поменять хитрым образом адресные сигналы, идущие на мультиплексор адреса памяти.
порядок:
A0 A1 A2 A3 A4 A8 A9 (а дальше порядок не важен) A5 A6 A7 A10 A11 A12 A13 A14 A15
Примерно так и сделано в Magic5. Проблема с тем, что на бордюре такая регенерация обломается решены радикально - даже во время изображения бордюра видеоконтроллер продолжает читать информацию из памяти. Неважно откуда, главное что младшие 7 бит "перепутанного" адреса перебираются в любом случае за 4 экранных строки. ВСЕ!
Спасибо разработчикам Magic5 за столь простое и надежное решение.
Когда я заменял в своем Magic5 ру5 на ру7 пришлось порядок адресов измененять так, чтобы перебор был 256 разных адресов, получилось что то вроде A0 A1 A2 A3 A4 A8 A9 A10 ... то же не плохо, 512 мкс.
При последующем апгрейде до мегабайтного симма перепутывание чуть усложняется, но проблему регенерации решает именно оно.
Только не надо полагаться на то что предельный период регенерации у ру5 будет больше 2 мс - встречаются всякие экземпляры.