Просмотр полной версии : Неполная дешифрация порта ULA
introspec
10.08.2013, 04:59
пока
мы в сидбластере использовали массив портов #xx5E
Barmaley_m
10.08.2013, 17:35
Тут надо понимать, как реализована в разных машинах дешифрация всех портов (а не только FE).
Например, порты AY и 7FFD обычно выбираются по адресным линиям A1, A14, A15. Это значит, что если A1=0 - то в зависимости от состояния A14-A15 возможна выборка портов AY или 7FFD. Таким образом, при таких номерах портов, где A1=0 и A0=0 выводимое значение попадет не только в регистр бордюра, но и в порты AY или 7FFD.
Многие другие внешние устройства также дешифруют свои порты только по одной адресной линии. Если она равна 0 в номере порта - то выводимое значение попадет в это внешнее устройство.
Некоторые клоны, например "Орель БК-08", наоборот, используют жесткую дешифрацию портов по всем 8 младшим адресным линиям. Поэтому на "Орели" значение попадет в регистр бордюра только если младшая часть номера порта равна #FE, а по другим четным портам выборка регистра бордюра не произойдет.
introspec
10.08.2013, 17:59
Тут надо понимать, как реализована в разных машинах дешифрация всех портов (а не только FE).
Например, порты AY и 7FFD обычно выбираются по адресным линиям A1, A14, A15. Это значит, что если A1=0 - то в зависимости от состояния A14-A15 возможна выборка портов AY или 7FFD. Таким образом, при таких номерах портов, где A1=0 и A0=0 выводимое значение попадет не только в регистр бордюра, но и в порты AY или 7FFD.
Я потому и спрашиваю, что понимаю, что не везде такое заработает. Т.е., наверное, можно переформулировать вопрос так: можно ли подобрать порты для моих целей так, чтобы это всё заработало, скажем, на пентагоне, скорпе, атм и классике?
null_device
10.08.2013, 19:06
можно ли подобрать порты для моих целей так, чтобы это всё заработало, скажем, на пентагоне, скорпе, атм и классике?
Сама постановка вопроса, целиком состоит из взаимоисключающих параграфов:
мне очень хочется писать в безумные чётные порты
introspec
10.08.2013, 19:19
Сама постановка вопроса, целиком состоит из взаимоисключающих параграфов:
Неконструктивный подход! :)
null_device
10.08.2013, 19:31
Неконструктивный подход!
Конструктивно: при записи в четный порт вашего устройства, также будет происходить запись в порт #FE (т.е. моргание бордюра, щелчки бипера и т.д.).
Если в устройстве будет организована функция чтения из порта - при обращении к четному порту, гарантирован конфликт оборудования.
Такие дела! ;)
introspec
10.08.2013, 19:35
Конструктивно: при записи в четный порт вашего устройства, также будет происходить запись в порт #FE (т.е. моргание бордюра, щелчки бипера и т.д.).
Спасибо! Т.е. и на клоне любом? это хорошо. Меня только запись интересует.
А как насчёт конфликтов с разными расширенными портами? Не хочется заодно включить третий мегабайт. Где-то есть подборка информации по дешифрации портов, особенно на клонах? Чтобы понять, где и что будет ломаться, и подбирать комбинацию пониженной злостности.
null_device
10.08.2013, 19:40
introspec, это исторически заложено в самой концепции дешифрации портов на спектруме. Более подробно смотрите здесь (http://webcache.googleusercontent.com/search?q=cache:TxESqx-7Jg4J:sblive.narod.ru/ZX-Spectrum/ZXPORTsLIST/ZXPORTsLIST.htm+&cd=1&hl=ru&ct=clnk&gl=ru&client=firefox-a) (сам сайт сейчас "лежит").
introspec
10.08.2013, 19:43
introspec, это исторически заложено в самой концепции дешифрации портов на спектруме. Более подробно смотрите здесь (http://webcache.googleusercontent.com/search?q=cache:TxESqx-7Jg4J:sblive.narod.ru/ZX-Spectrum/ZXPORTsLIST/ZXPORTsLIST.htm+&cd=1&hl=ru&ct=clnk&gl=ru&client=firefox-a) (сам сайт сейчас "лежит").
Спасибо огромное! это в точности то что нужно.
null_device
10.08.2013, 19:49
introspec, там приведены не все порты: например, управления памятью сверх 128К - pentagon 512\1024, kay, scorpion, atm. Но, в основном, они вписываются в данную концепцию.
introspec
10.08.2013, 19:51
introspec, там приведены не все порты: например, управления памятью сверх 128К - pentagon 512\1024, kay, scorpion, atm. Но, в основном, они вписываются в данную концепцию.
Я понимаю, но там хотя бы классика с периферией нормально прописаны. Остальное так и так придётся индивидуально прочёсывать. Прорвёмся :)
говорят, на пентеве любой четный порт не покатит. а как мы знаем от алонекодера, кроме пентев щас реалов нету.
introspec
10.08.2013, 20:05
говорят, на пентеве любой четный порт не покатит. а как мы знаем от алонекодера, кроме пентев щас реалов нету.
Ну я из такого рода соображений и спрашивал. ОК, проверю на специализированном эмуляторе.
говорят, на пентеве любой четный порт не покатит. а как мы знаем от алонекодера, кроме пентев щас реалов нету.
Алоне живет в отчасти выдуманном иллюзорном мире. У меня простой пент и простая дельта.
ОК, проверю на специализированном эмуляторе.
да лучше на реале...
introspec
11.08.2013, 05:07
да лучше на реале...
Своего реала нет; так что эффективнее будет проверить на эмуляторах, ну а дальше, конечно, буду смотреть насколько это всё заработает на практике...
introspec
02.09.2013, 02:35
ОК, если кому-то это ещё интересно: фокусы с записью в странные порты оказались несовместимы с АТМ и АТМ2 из-за применённых там трюков с дешифрацией адресных линий. Конкретнее, т.к. мой просмотрщик пишет на компьютерах с NMOS процессорами данные в порт #E6, он, в самом оптимистичном случае, заливает бордюр со включённой яркостью.
Просто оставлю это здесь :)
http://speccy.info/%D0%9F%D0%BE%D1%80%D1%82%D1%8B
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot