F/2 это полустрока. Нужно чисто под PAL, кстати.
Вид для печати
F/2 это полустрока. Нужно чисто под PAL, кстати.
Помогите разобраться с разными контроллерами дисковода для Ориона. В процессе реализации в эмуляторе возникло несколько вопросов:
1. Есть ли какие-то отличия в реализации контроллера ОрионСофт (OS-DOS, загрузчик DOS$, порт управления F714) от Орион-Сервис (CP/M, загрузчик DOS$, порт F720) за исключением адреса порта?
Поддерживаются ли одинарная/двойная плотность и четыре привода?
2. Где бы найти для тестирования эмулятора какой-нибудь образ SP-DOS, использующий контроллер с портом F708 и другим назначением битов? Оказывается, найти такую древность уже непросто...
3. Что представляет собой упоминаемый иногда "Ленинградский" контроллер с адресом порта F704? Вариант Чистякова "Altair" - это как раз он или еще одна разновидность?
Есть статья из журнала Радио, в конце там описана модификация "двух известных" вариантов контроллера: Орион-128/Радио 05,06-93/СР/М-80. Контроллер дисковода. Там есть информация.
Есть вариант с регистром запросов F704: Орион-128/Радио 12-92/Контроллер НГМД
А есть и вариант Чистякова: FDC-Altair-Scheme.png
На сайте emuverse.ru достаточно много информации по Ориону-128: Орион-128, Орион-128/Публикации
- - - Добавлено - - -
Получается есть 4 варианта:
1. Orion-Soft Сугоняко,Сафронов (публиковался?)
2. вариант Короткина (SPDOS, Радио 92´12)
3. вариант Рогова,Бриджиди (Oрион-Сервис? Радио 93´5,6)
4. вариант Чистякова (Altair)
Есть всего два типа контроллера, точнее две адресации. Конкретные схемы контроллеров не играют роли и их немного больше, чем 4.Цитата:
Сообщение от B2M
Достаточно знать, что есть всего две адресации КНГМД: более распространённая и имеющая намного больше программ адресация F700/F720 и адресация ОРИОНСОФТ F710/F714. Биты регистра управления одинаковые. Больше ничего для эмулятора знать не требуется.
Эмулировать одинарную плотность FM и односторонность незачем. Одно время я использовал дисковую защиту от копирования в которой часть треков была отформатирована в одинарной плотности, отчего копирование трек в трек не проходило. Но после появились профессональные копировщики на IBM PC, которые это копировали. В последующих защитах использовались сектора нестандартной длины. FM на ВГ93 почему-то не повышает надёжность, а вот РК-КНГМД с FM надёжность существенно повышает.
Ленинградского контроллера не существует. Это один в один контроллер КОРВЕТА. Замена одних микросхем на другие эквивалентные и смена адресации не называется разработкой, как это преподносили некоторые. Отличия КНГМД ОРИОНСОФТ заключается в том, то там схема WAIT встроена в КНГМД, а в других вариантах WAIT при КР580 организуется с помощью одного вентиля из ЛЛ1, смонтированной на основной плате. При Z80 WAIT вообще не нужен.Цитата:
Сообщение от Pyk
История адресаций КНГМД такова. Первоначально CP/M с КНГМД от КОРВЕТА была поставлена мной на СПЕЦИАЛИСТ осенью 1989 года. Адреса КНГМД для СПЕЦИАЛИСТА были FFE0/FFE4, а сама CP/M работала из адресов D000...F7FF (открывалось ОЗУ на экспрессовской плате на РУ5-тых). Печ.плат КНГМД сначала не было. Но в 1990 плата была разведена и на ней был предусмотрен дешифратор разбивающий участок адресов В/У на 8 чип-селектов с шагом 20H, чтобы ставить в ОРИОН и другие В/У, в частности, ВИ53. И естественно, для сокращения числа деталей, имеющийся чип-селект F720 был задействован под регистр управления. Это уже было сделано в рассчёте на ОРИОН. Эти платы имели надпись "Ленинград-90", и появились в начале 1991 года. Первые версии CP/M для ОРИОНА были странслированы для адресации F700/F704 для плат КНГМД спаянных на слепыше и без дешифратора. Так появилась исторически первая адресация. Но когда появились платы с адресацией F700/F720, то CP/M была перетранслирована для адреса рег.управления F720 вместо F704. Это же не проблема при наличии листинга.
К весне 1991 уже много дискет с CP/M ушло в разные города страны. И когда в июне 1991 в Ленинград приехал автор ОРИОНА, то его не устроил адрес F700 и он заявил, что это противоречит его концепции ОРИОНА. Но т.к ни эта концепция, ни адресация В/У не была опубликована, то кто первым сделал печ.платы КНГМД и адаптировал CP/M, тот и выбрал стандарт подключения НГМД. Переделать платы и вернуть дискеты было нельзя. Автора ОРИОНА не устроил ни один из реально существующих адресов КНГМД и он из вредности выбрал третий вариант F710/F714. Это не представляло проблемы, т.к с помощью 2-х диодов и резистора ленинградский КНГМД делался совместимым. Но к сожалению, автор ОРИОНА изменил адрес байта в BOOT-секторе, которым задаётся номер банки загрузки ДОС, из-за чего пришлось городить свой несовместимый загрузчик, а пользователям иметь 2 загрузчика в ROM-диске.
Адресация F700/F704 имела хождение только в 1990 и самом начале 1991 и только для CP/M банки 0. Непонятно откуда "выплыла" столь древняя адресация, т.к таких дискет ушло очень мало. И эмулировать это в эмуляторе нет смысла. Но такую адресацию имела так называемая LK-SHELL из 1992. Это что-то типа оболочки ORDOS позволяющей хранить файлы на дискете. Была ещё система MOZART с той же адресацией, реализующая ту же идею. А SP-DOS это вообще полнейшая туфта. Любая другая система лучше и нет смысла её эмулировать в эмуляторе. То что она опубликована в журнале не делает её на что-то годной. Эту систему вынуждено использовали изолированные сельские пользователи, но как только они доставали что-то получше, то выкидывали SP-DOS. Получить такую дискету можно только в случае, если кто-то сохранил такой контроллер, а это очень маловероятно.
МП Г.Рогова ОРИОН-СЕРВИС, появившееся летом 1991, естественно, стало поддерживать ту адресацию, которая имела широкое распространения к осени 1991. Стандарт F710/F714 появился только, как минимум, год спустя и иначе как вредительством по отношению к пользователям это назвать нельзя. Хотя делать из этого проблему тоже не стоило, т.к простейшими доработками любой контроллер становился совместимым и пользователь даже не замечал и не знал какую адресацию использует конкретная ДОС. Но кому-то было надо сделать из этого проблему.
Единственное реальное неудобство было только в необходимости иметь второй загрузчик. Но это тоже легко устранялось любым из 2-х способов. Во-первых универсальный загрузчик, который сам оценивал BOOT-сектор и разбирался от какой он системы. Во-вторых, достаточно было заменить BOOT-сектор дискеты в инсталляторе и тогда OS-DOS грузилась стандартным загрузчиком.
Загрузчик ОРИОНСОФТ это изуродованный стандартный загрузчик. Он не может грузить в банку 2, грузит на неудобный адрес и неверно ставит стек. Но главная проблема, что в BOOT-секторе изменён адрес байта с номером банки куда грузить ДОС, который как раз и оценивает загрузчик, чтобы знать куда грузить DOS. Из-за этого OS-DOS не грузится стандартным загрузчиком. Переделка BOOT-сектора OS-DOS, чтобы была совместимость в текстовом редакторе занимает 30 секунд. Несовместимость как аппаратная , так и программная сделана специально.
Печатная плата КНГМД с надписью "Altair" была выпущена в 1995, как периферийная плата для обычного ОРИОНА. Но в 1994 она была разведена как периферийная плата для платы ОРИОНА на Z80, которая тоже называлась "Альтаир". Это был по схемотехнике СПЕЦИАЛИСТ "ЭКСПРЕСС" только с 3-мя банками ОЗУ и видеовыходом ОРИОНА, т.к всё было отмакетировано на плате "ЭКСПРЕСС". Но в 1994 выпустить такие платы не удалось, - не удалось собрать заказы. Т.к все с кем я имел контакт уже имели Z80 на обычном ОРИОНЕ и рынок был насыщен платами СУПЕР-ТУРБО. Также покупать медленную плату ОРИОНА на Z80 никто не захотел из-за того, что ОРИОНСОФТ обещал со дня на день выпустить платы на 10 МГЦ. Поэтому плата КНГМД в 1995 была перетрассирована с целью заменить разъём на СНП58-64 (первоначально был врубной разъём, т.к на плате "Альтаир" должны были стоять эпловские слоты на 50 контактов) и эти платы были реально выпущены (прилагаю фотографию).
Отличие этих плат следующее. Они были рассчитаны на DD/HD поэтому имели 2 программно переключаемых кварца. Для переключения кварца в регистре управления добавлен бит. И чтобы снизить требования к быстродействию, на разъём выводились сигналы готовности (ноги 38 и 39 ВГ93), что позволяло чуть быстрее читать готовность. И, естественно, они сразу втыкались в плату ОРИОНА без соединительной косы, как все предыдущие КНГМД ОРИОНА.
Поддерживать HD-формат в эмуляторе нет смысла, т.к специально для HD-формата программ нет (если не считать форматёр, да и он универсальный, сразу для всех форматов дискет, т.е при нужде форматёр можно посмотреть форматируя DD).
Так что для [b]ОРИОНА[b/] есть только два реальных стандарта F700/F720 и F710/F714. По битам регистра управления они одинаковы, а адрес ВГ93 F700 и F710 совместить - это в эмуляторе не проблема. Да и вообще для эмулятора проблема адресации - надумана. Т.к адресация важна только для самой ДОС, для форматёра дискет и теста дискет (С.Коровкина и А.Вакуленко - кстати оба для адресации F700). Но для эмулятора эти программы просто не нужны т.к форматировать в эмуляторе не надо и дискеты там не дохнут. Кстати все 3 программы для адресации F710 ещё 20 лет назад адаптированы для адресации F700, а BRU4 даже доработан до оконного интерфейса.
Однако я вообще не понимаю смысла эмулировать КНГМД в эмуляторе. Даже если можно использовать кем-то сделанную эмуляцию ВГ93. В эмуляции КНГМД вообще нет смысла. Гораздо проще заменить п/п-ммы чтения и записи сектора в конкретных ДОС. Их число невелико. В своём эмуляторе ОРИОНА в 1999 я сделал именно так. Дискета заменяется электронным диском из ОЗУ IBM PC или дисковым файлом в 800К на винчестере. А вначале я вообще использовал в эмуляторе реальную дискету ОРИОНА в дисководе IBM PC. Но то, что работало на 386-той, уже не работало на ПЕНТИУМЕ, т.к там BIOS вообще плохо поддерживает дисковод (а работать напрямую с 8272 это уже намного сложнее). Кроме того, сейчас НГМД и дискеты давно сдохли и в качестве массовой памяти в реальных ОРИОНАХ используются флэш-карточки или эл.диск из ОЗУ, куда программы закачиваются по линии.
Для эмулятора ОРИОНА нужны только две версии CP/M - для банки 0 и для банки 1. Для банки 1 существует много, якобы разных, версий CP/M. Но все они имеют один и тот же адрес BDOS и тем самым программы совместимы. Есть исключения, когда программы специально из вредности делались несовместимыми. Но все такие программы ещё 25 лет назад были исправлены.
barsik, спасибро за обстоятельный ответ, было очень интересно узнать историю НГМД для "Ориона".
Две основных адресации у меня в эмуляторе уже реализованы (как были реализованы и в DOS-версии еще лет 15 назад). Бегло посмотрел еще раз схемы разных контроллеров, которые удалось найти - действительно, отличия минимальны: 2 либо 4 дисковода, разные биты, отвечающие за высокую плотность (D3 либо D6), может быть еще что-то по мелочи, но для эмулятора, я думаю, это действительно несущественно.
В принципе, неплохо было бы хотя бы из теоретического интереса реализовать и первый вариант контроллера, чтобы посмотреть на SP-DOS, но мне просто не на чем его протестировать. Упоминание про LK-SHELL вроде бы где-то видел, может быть даже здесь же на форуме, но тоже навскидку найти не удалось. В общем, если у кого-то завалялось либо то, либо другое - с удовольствием посмотрю.
P.S. Новая версия эмулятора потихоньку пишется. Хотел еще осенью выложить тестовые сборки, но решил все-таки довести сначала до более-менее стабильного уровня, так что чуть позже.
LK-SHELL с описанием Вложение 59394
Есть ещё третий стандарт, и отличие как раз в регистре управления (а точнее конфигурации КНГМД) - М.Короткина (Радио 92´12). Адрес регистра - F708. Там бит стороны не инверсный, а прямой; а также "топология" битов отличная от первых двух "стандартов".
- - - Добавлено - - -
Pyk, ранние версии DSDOS (3.5...3.7х) работают с КНГМД Короткина (который от SPDOS). В v3.8х уже поддерживаются все варианты КНГМД, кроме того, который с адресацией F71x (ОрионСофт?).
Если ваш эмулятор умеет работать с ROM-диском, то просто подкидываете ему соответствующий образ ОС и проверяете работоспособность "КНГМД". Дисководы - это диски "C:" и "D:", команды - FORMAT C:, запись/чтение/копирование и т.д..
можно и я вставлю свои 5 копеек?
вот тут поносят КНГМД Короткина (ж.Радио №12, 1992г).
а чем он плох, что SPDOS не полноценная операционка? но это отличная замена магнитофону.
а теперь ситуация.
предположим, что какой-то человек собрал Орион и хочет сохранять где-то свои файлы. магнитофонов уже давно нет. а как сохранять? ну соберёт он этот КНГМД для СР/M и что дальше? где он саму дискету CP/M'овскую возьмёт? ок, допустим, ему выслали такую дискету. он её вставил раз-два-три раза. а тут опа! внезапно слетел загрузочный сектор. дисковод оказался не совсем хорошо работающий. и что делать дальше?
отсюда собственно вопрос по существу: вот у меня КНГМД под СP/M. как собственноручно поставить CP/M?
Denn, спасибо за наводку, поэкспериментирую вечером с ранними версиями DSDOS. Кстати, какой формат файловой системы используется в ней? Если какой-то свой, то образ дискеты придется создавать, готовых я не нашел, только образы ROM-дисков.