![]() |
Вопрос по доступу к портам спека...
Отлаживаю TDROS в своём Aeonе...
Вопрос к знатокам... Возможен ли доступ к портам спека (#FE, #7FFD, порты AY и т.д.) при DOS=0 (включено ПЗУ TRDOSа) ??? Сейчас доступа нет, но я не уверен, что так правильно. И второй вопрос... Почемуто в игре "Renegade" всё както очень медленно... чуваки двигаются с половинной скоростью. Этот же файл в эмуле даёт совсем другой результат. В других играх и демах проблем пока не замечал. Может ли подобное быть следствием нехватки тактов процессора между прерываниями??? или проблема в другом? з.Ы. всех с праздником!!! |
Доступа по кр.мере к FE из доса нет, т.к тырдос вылезает в 48й басик, чтобы опрашивать break.
А дальше зависит от дешифрации. В зелёном скорпе в разделялку портов включен A1. A1=0 - в досе никакой порт не выбирается, но включен селектор обычных портов. A1=1 - обычные вырублены, выбираются порты доса (по A7,A6,A5) |
ILoveSpeccy, ИМХО, доступа к портам не должно быть. Иначе для чего существует сигнал OUTIORQ в BDI? Если активно ПЗУ TRDOS, то вся остальная периферия отдыхает... Может я чего и не понимаю, но аналогичный сигнал есть и в ZXBUS: IORQGE, только работает он аналогично PC-платформам. Гуру поправят, если я неправ.
|
Quote:
|
Теоретически при работе TR-DOS должны блокироваться только те порты, которые конфликтуют с портами BDI. Практически же всё зависит от схемотехники конкретного компьютера.
|
Любой порт выбирается по приходу IORQ и если этот сигнал заблокирован то никакой порт работать не будет, даже AY.
Добавлено через 24 минуты У меня. Например, блокируется РТ, а на ней дешифруются все порты, а IORQ не блокируется. Так, что, у меня будут работать те порты, что реализованы допайками (не на РТ). |
Кажется Sonic акцентировал внимание на то, что #7FFD доступен из под TR-DOS. Да и в книге http://trd.speccy.cz/book/TRDOSUA.ZIP про это было сказано.
Смежная тема проходила на форуме: http://zx.pk.ru/showthread.php?t=8345 |
Спасибо огромное за помощь по портам...
А кто что думает о проблеме с Renegade (см. первый пост)??? |
Я конечно не уверен, но симптомы похожи на некорректный сигнал INT.
|
В фирменном ZX Spectrum (48) предусмотрена возможность блокировки порта #FE (физически реализованного в ULA), с помощью сигнала IORQULA. Этот сигнал выведен на краевой (системный) разъем ZX Spectrum (PIN 13B). Используя IORQULA внешние устройства могут блокировать (отключать) встроенные порты компьютера.
В начале 80-х ZX Spectrum стал «обрастать» периферией, но порты внешних устройств, как правило, вписывались в схему упрощенной адресации и не требовали блокировки встроенного в ZX Spectrum порта #FE. Однако отсутствие стандарта адресации портов приводило к появлению устройств использующих одни и те же адреса портов ввода-вывода. Чтобы избежать конфликтов многие производители использовали особенность физического подключения внешних устройств к ZX Spectrum: последовательное подключение к краевому разъему. Например, ZX Interface 1 подключался непосредственно к ZX Spectrum, к ZX Interface 1 подключался ZX Interface 2, а к ZX Interface 2 подключался ZX Printer. Аналогичное решение использовалось в Beta Disk Interface который подключенный ближе к компьютеру, мог отключать порты устройств подключенных далее. Для этого использовался сигнал IORQ, который деактивировался (для устройств подключенных далее) при переходе в ПЗУ с TR-DOS и подключении портов ВГ93. Во время клонирования отечественные разработчики повторили и эту особенность фирменной схемы. Отключение порта #FE ZX Spectrum (через IORQULA) у фирменного контроллера Beta Disk Interface не использовалось. Что касается портов AY и #7FFD, они не отключаются в фирменных ZX Spectrum 128 вообще и контроллерами Beta Disk Interface в частности. Разумеется, наши разработчики могли применять собственные решения, но как это было реализовано в оригинале, я рассказал выше. |
| All times are GMT +4. The time now is 17:14. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.