Возможно т
Вид для печати
Возможно т
Оригинал и наши клоны делались на WD1793 (КР1819ВГ93 помоему)
логика вроде как отличаться не должна так как не работала бы TR-DOS. Суть контролера в том что бы при переходе на адреса 3Dxx отключать ПЗУ на плате и подставлять туда свое (с прошикой TR-DOS) а в случае 128 машинок отключине происходит только если включенно ПЗУ48. Во время включения ПЗУ TR-DOS становятся доступны порты ВГ93 и порт управления/статуса BDI в принципе все. Тебе надо будет выбирать от варианта твоего спека (48/128) так же спек расширяли заменой пзу 16К(32К) на 64К и использовали BDI без ПЗУ (NEMO BDI вроде такой)
>> Вообще на пентагоне было пзу 32 кб причем 16 кб были какраз от тр-доса...
Я прав, можно ли также сделать с +3?
На пентагоне 64к + 2к (1991г. вариан) в допПЗУ прошит драйвер принтера если так можно выразиться.
А в +3 надо смотреть как щелкаются банки ПЗУ, к тому же вроде в +3 (может и вру) переключается раскладка памяти и это дело рилиться портом 1FFD который в отечественном софте очень активно юзается, потенциально из за этого можнет софт не работать
Отсюда вывод что возможно прийдется сделать отключалку порта 1FFD (если там это ваще возможно) и переделать в духе TR-DOS переключение ПЗУ
Есть публикация схемы в книге "Периферия своими руками", Инфорком, 1994. Жаль, что до сих пор никто не сделал электронную версию этого издания...Цитата:
Сообщение от lennon
Было например отличие в диапазоне адресов входа: 15616...15871 вместо 15360...15615.Цитата:
Сообщение от lennon
во, у меня как раз такие платы есть чистыеЦитата:
Сообщение от Grand
в n-ом количестве
Возник вопрос на который сам не могу найти ответ...
Как известно вход в TRDOS происходит если установить ПЗУ BASIC48 (бит D4 7FFD равен 0) и произвести чтение команды по адресам #3D00-#3DFF. В этом случае сработает (установится) триггер BDI, ПЗУ подменится на прошивку TRDOS и порты FDC и FF откроются на доступ.
Возврат триггера BDI в исходное состояние (сброс) возможен по сигналу /RESET либо по второму условию. Вот собственно со вторым условием и загвоздка. В общем случае триггер переключится если обратится в ОЗУ. Но поскольку сам TRDOS имеет доступ к области ОЗУ (работа с системными переменными, чтение/запись данных), то логично предположить, что должно происходить не просто обращение, а чтение кода команды (/MREQ=0, /M1=0). Собственно так и построена схема формирования сигнала переключения триггера в Пентагон128. НО, совсем другую картину мы можем наблюдать в NemoFDC - сброс триггера осуществляется сигналом WAIT (в KAY торможение процессора происходит при обращении только к ОЗУ) - косвенный признак работы с ОЗУ...
Кто что думает по этому поводу? Как оно работает?
Именно так переключение и происходит - по чтению кода команды, а не просто по обращению. Читать записывать байты в ОЗУ можно просто так...Цитата:
Сообщение от spensor
1 всё-таки. а в некоторых компах и по ресету, и при том что 7ффд также сбрасывается в нуль, то попадаем в "скрытые" 16к - теневое пзу (на профи так)Цитата:
Сообщение от spensor
это видно какая то хитрая мысль к.Немо (контроллер не заработает нигде кроме его компов), а Максагор все правильно написалЦитата:
Сообщение от spensor
упс... ошибся. Правильно 0 - BASIC128, 1 - BASIC48.Цитата:
Сообщение от The Exploited
Вот тут как раз все очень даже интересно - в схеме KAY ничего эдакого нет, обычная архитектура. Более того я собирал NemoFDC на макетной плате и подключал к Ленинград-2, оно прекрасно работало! А вот теперь решил разобраться как, и был ошарашен. Nemo однозначно высококласный схемотехник!Цитата:
Сообщение от The Exploited
Я бы сказал комбинаторик, учитывая как он называл свое творение - синхронная машина состояний, то он явно был в восторге от научной подоплеки цифровой схемотехники. ВотъЦитата:
Сообщение от spensor
Тем не менее это "чудо враждебной техники" работает, и работает очень хорошо. И очень хочется понять КАК!? Мож всетаки кто-то выдвинет предположение?Цитата:
Сообщение от captain cobalt
смотрим схему ВНИМАТЕЛЬНО !!!Цитата:
Сообщение от spensor
триггер tr-dos сбрасывается после ДВУХ wait-ов подряд не разделенных обращением к пзу (CSROM) ! дальше рассказывать или уже понятно :)
Ну до двух WAIT я и сам дошел, а вот дальше как раз непонятно. Если бы мы сначала прочитали 2 (1 байт?) байта данных, а потом начали бы выполнять команды из ОЗУ это было-бы понятно. А так чет не очень...Цитата:
Сообщение от Ronin
Так что просьба продолжить!
Вопрос все еще актуальный!
блин, я тут с аспирантурой бегаю, потому не смог сразу нормально в схеме порыться. плюс под рукой схемы не было :) но вчера посмотрел. итого:
1. выход из dos осуществляется по ОДНОМУ wait-у (второй триггер - для NMI).
2. теперь смотрим схему KAY-256 (not turbo) и ясно видим что wait бывает ТОЛЬКО при M1/=0, т.е. только при выборке КОПа.
3. берем схемы KAY-256/1024turbo и видим несколько более хитрую схему на КП12 и ТМ8, но с тем же результатом - при no turbo - wait бывает только при M1.
4. ломаем голову с turbo режимом и осеняемся тем что turbo при dos-е отключено :)
Спасибо за комментарии и разъяснения! Правда одно непонятно - подключал самоделку к Ленинград2, все работало. Или возможно что-то и было, но я списал на несовместимость Л2 с Пентагон...
PS: Перепроверю, возможно это еще не конец дискуссии.
так ленинград также точно генерит вайт по м1Цитата:
Сообщение от spensor
Внимательно пересмотрел схему (именно Ленинград-2), создается впечатление что /M1 вообще никуда не идет с проца...Цитата:
Сообщение от The Exploited