В своих эмуляторах реализовал только то, что имел в реале. До 1997-98 использовал Z80CARD-II с режимом FULL RAM (обычно под ПЗУ хранил фонты или дискетный буфер). А после - только "голый Z80", а из доработок только звук OUT FF и две банки ПЗУ F800 по 2 кб. У меня все 6 ОРИОНОВ именно такие. Эмулятор это только инструмент для разработки программ.
Раньше я делал так, что программы определеляли где они запущены, на эмуляторе или на реале. И работали соответственно. Но после 2000 года, когда обмениваться программами стало не с кем, делать это было незачем (т.е для себя защита от дурака не нужна).
У меня более сотни ДОС, но запутаться в них невозможно. Если говорить о CP/M, то есть всего 2 версии (версии для банки 2 откидываем, они нераспространёны). Тогда есть только CP/M для банки 0, и CP/M для банки 1. В терминах ОРИОНСОФТ 1993 года, это CPM-48K и CPM-60K. И всё! Как здесь можно запутаться?
В названиях всех версий ДОС (не только CP/M) стоит цифра - 0 или 1 (ранее было и 2, но уже 17 лет как этого нет). Эта цифра несёт информацию о номере банки в которой работает ДОС. С версиями CP/M для банки 1 вообще никаких проблем не может быть. Т.к все CP/M ОРИОНА (даже антикварные версии 1991 года) совместимы (если только не принимать специальных вредительских мер, чтобы программы работали только на конкретных версиях ОС) - имеют одни и те же адреса BDOS и BIOS, железо одно и то же, а CP/M она и в Африке CP/M. Поэтому они по определению не могут быть несовместимыми. Точнее программам работающим корректно без разницы где работать.
Т.к ОРИОН-СЕРВИС в 1994 разорился, то его вариант CP/M можно считать несуществующим. Но он и был неудачным, т.к не позволял грузить драйвера. Остались только OS-DOS и ACP/M, которые могут грузить драйвера и отличий в которых с точки зрения программ - нет. Поэтому все варианты CP/M, которые я когда-либо транслировал для банки 1 только такие. Других нет.
Драйвера для ДОС в банке 1 не встроены, а грузятся (т.к есть банка 0, куда они могут грузиться). Поэтому отличие одного файла от другого только в том, как устроен и работает эл.диск, из какого ОЗУ он сделан и какой его размер. Варианты ДОС с двумя эл.дисками, сделаны только, чтобы было удобно отлаживать процедуру копирования в нортонах. А версии HIGH, где TPA на 2 кб больше удобны для разработки программ на ЯВУ. Поэтому для банки 1 с точки зрения программ совершенно без разницы какой вариант ДОС запустить. Какой нравится, такой и надо использовать.
Если стоит задача только использовать программы ОРИОНА для CP/M, то достаточно выбрать одну ДОС для банки 1 с одним VDISK-ом максимального размера. Это позволит прогонять любое CP/M ПО ОРИОНА без исключений, т.к даже те программы ОРИОН-СЕРВИС из 1992-93, которые сделаны для несовместимости, были тогда же адаптированы.
Но вот с банкой 0, всё намного сложнее. Исходно CP/M для неё имела TPA 9600 и не имела никакого драйвера консоли. В качестве драйвера служило ПЗУ F800, которое несовместимо с VT52. Отчего от всей CP/M здесь используется только файловая система. Если встроить в ДОС для банки 0 драйвер, то уровень TPA упадёт на размер драйвера. Хороший драйвер имеет размер 12 кб, графический 16 кб, а довольно простой драйвер умещается в 4 кб. Самый простой драйвер D64 умещается в 1 кб. Для CP/M в банке 0 до 1998 года было всего 2 программы - это BRU4 и Windows-93. BRU4 и её улучшенный вариант с окнами ORD5 работают только в CP/M без драйвера. Собственно только ради этих 3-х программ и странслирован вариант без драйвера - файл DOS0BD$.
Но сам я пользовался только CPM0 с драйверами со шрифтом шириной в 5, 6, 7 и 8 точек. И с числом строк 25 и 32. В цвете и без. Если сделать DOS, как в банке 1 с загрузкой драйверов, то надо зарезервировать 8-12 кб ОЗУ выше кода CP/M для загрузки драйверов. Что невыгодно, т.к если драйвер маленький (1-2 кб), то зачем опускать BDOS на 12 кб? Поэтому во все ДОС для банки 0 драйвера встраиваются в ДОС и уже не меняются.
Потому и возникает повышенное число версий ДОС для банки 0. Но т.к драйвер встроен в ДОС, а не сидит на векторах ROM-BIOS, то для запуска программ совершенно без разницы из ДОС с каким драйвером программу запустили. NC и LORD в основном используются в варианте со шрифтом 8*10, т.к это позволяет цветные окна в программах и существенно упрощается разработка программ, т.к нужные оконные функции обеспечивает драйвер, т.е весь труд по созданию интерфейса отпадает - это давно реализовано в драйвере. При перетрансляции оконных программ для шрифтов в 6 или 7 точек, теряются многие возможности (т.к экран ОРИОНА позволяет удобно раскрашивать только с кратностью в 8 точек). Фонты в 5, 6 и 7 точек используются только в текстовом редакторе (есть версии NC и LORD для фонта D6).
Т.о число версий ДОС заменяет число драйверов. А какая разница? Если в ROM-диск прошито, например, 3 версии ДОС для 3-х шрифтов. Я до этого не додумался, но можно придумать механизм, когда при запуске программа проверяет какой драйвер используется и если не устраивает грузит из ROM-диска другую CP/M с другим драйвером и работает с ним.
Почти все CP/M для банки 0 не портят банку 1, т.к там хранятся файлы в формате ORDOS, для переноса которых на дискету или эл.диск используются программы с именем LORD, который в случае эмулятора где CP/M привод только один, фактически является межсистемным нортоном (т.к дают все функции для обоих дисков). Наличие квазидиска ORDOS необходимо для многих антикварных программ ОРИОНА. При ДОС в банке 1 отпадают проблемы с цветом. Благодаря этому ДОС в банке 0 удобнее, чем ДОС в банке 1. CP/M в банке 1 имела смысл только для программистов, позволяя использование ЯВУ. Но после того как выяснилось, что ЯВУ для 8-ми разрядки бесполезны, всякий смысл в ДОС в банке 1 исчез.
Таким образом и для ДОС в банке 0 нет никаких проблем, т.е проблем при запуске старых программ и игр. Какая версия ДОС нравится и для какой есть удобный нортон, той и удобно пользоваться. Для запускаемых программ без разницы какой шрифт был у Вас на экране в момент запуска, т.к программа стартует в среде голого ОРИОНА (то, что имеем по сбросу).
[свернуть]