Проект "Multi-Format Disk Doctor"
(c) 1996, 2018 Michael Borisov

Низкоуровневый редактор дисков, поддерживающий нестандартные форматы.

---------------------
ПРЕДИСЛОВИЕ

Это незавершенный проект. Я я взялся его делать в 1996г из-за
нужды: начали сыпаться дискеты в формате CP/M, на которых хранились ценные
исходники. Для дискет TR-DOS в то время были хорошие "докторы", позволяющие
спасти содержимое файлов, а для CP/M у меня таких "докторов" не было. Еще
универсальный редактор мог бы пригодиться для форматов IS-DOS, MS-DOS, ADS,
изучения и взлома разных дисковых защит.

На тот момент у меня была готова программа "OMNIPROG" с шестнадцатеричным
редактором, которая хорошо себя зарекомендовала. На её
основе и планировалось сделать MFDD. Кое-какие идеи планировалось
позаимствовать из Norton DiskEdit.

К сожалению, этот проект стал жертвой очередной вышедшей из строя дискеты.
От чего должен был защитить, от того и погиб. Пропали результаты многих дней
напряженной работы. И хотя несколько дней - вроде бы пустяк, но потраченное
терпение, как говорят, не вернёшь. Терпение и энтузиазм было не восстановить.

То, что предлагается вашему вниманию - это один из сохранившихся бэкапов.

------------------------------------------

ИСПОЛЬЗОВАНИЕ ПРОГРАММЫ

Программу можно скомпилировать с драйверами клавиатуры SPKEYB ("Орель БК-08")
или SPKEYB40 (стандартная клавиатура). Второй драйвер также можно
скомпилировать в одном из двух вариантов: на 40 клавиш (Spectrum-48 и клоны);
или на 58 клавиш (по сути то же самое, но расположение оптимизировано для
ZX Spectrum +2).

У разных драйверов одни и те же коды вызываются разными комбинациями клавиш.
Ниже будут сначала приведены необходимые для работы MFDD коды, а потом
разъяснено, как набрать эти коды на разных клавиатурах.

Навигация по меню: стрелки и Esc. Все элементы меню, кроме "EDIT" - заглушки.
Эти функции не были реализованы в сохранившейся версии.

Навигация в редакторе:
Cтрелки - перемещение курсора;
PgUp и PgDn;
Tab - переключение из шестнадцатеричного в символьное представление и обратно.

Выделение блока:
код клавиши 18 - выделение блока. В режиме выделения блока стрелки, PgUp
и PgDn перемещают его границу, Enter завершает выделение. Выделенный
блок будет подсвечен; подсветка сохраняется при навигации в редакторе.
Планировалось реализовать копирование, перемещение, сохранение блока в файл.

Вот и всё.

-----------------------------------------------
Как вызвать необходимые коды клавиш:

Код          ОРЕЛЬ                  40-key        ZX+2
Tab          Tab                    Symb+Space    Symb+Edit или Ext+1
PgUp         TrueVideo или Ctrl+Q   Caps+Symb+Q   Ext+Q
PgDn         InvVideo или Ctrl+A    Caps+Symb+A   Ext+A
12h          Shift+Tab или Ctrl+R   Caps+Symb+R   Ext+R

также эти коды можно набрать в режиме ввода кода. Для Орели нужно, удерживая Ctrl,
набрать десятичный код цифрами. Для 40-key или ZX+2 нужно нажать Caps+Symb+0,
после чего набрать десятичный код и нажать Enter. Если код трехзначный - то нажимать
Enter не надо. Таким способом можно набрать любой код клавиши.

Остальные богатые возможности драйверов клавиатуры можно узнать из документации
по AZKEYB (прототип SPKEYB40) и MZKEYB (прототип SPKEYB). Только, в отличие от оригинала,
у драйверов SPKEYBxx удалены режимы КОИ-7 и КОИ-8, макросы и функции паузы, сброса и т.д.


