PDA

Просмотр полной версии : Неполная дешифрация порта ULA



introspec
10.08.2013, 04:59
пока

BYTEMAN
10.08.2013, 10:35
мы в сидбластере использовали массив портов #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. Но, в основном, они вписываются в данную концепцию.

Я понимаю, но там хотя бы классика с периферией нормально прописаны. Остальное так и так придётся индивидуально прочёсывать. Прорвёмся :)

psb
10.08.2013, 20:03
говорят, на пентеве любой четный порт не покатит. а как мы знаем от алонекодера, кроме пентев щас реалов нету.

introspec
10.08.2013, 20:05
говорят, на пентеве любой четный порт не покатит. а как мы знаем от алонекодера, кроме пентев щас реалов нету.

Ну я из такого рода соображений и спрашивал. ОК, проверю на специализированном эмуляторе.

Titus
11.08.2013, 03:23
говорят, на пентеве любой четный порт не покатит. а как мы знаем от алонекодера, кроме пентев щас реалов нету.

Алоне живет в отчасти выдуманном иллюзорном мире. У меня простой пент и простая дельта.

psb
11.08.2013, 04:07
ОК, проверю на специализированном эмуляторе.
да лучше на реале...

introspec
11.08.2013, 05:07
да лучше на реале...
Своего реала нет; так что эффективнее будет проверить на эмуляторах, ну а дальше, конечно, буду смотреть насколько это всё заработает на практике...

introspec
02.09.2013, 02:35
ОК, если кому-то это ещё интересно: фокусы с записью в странные порты оказались несовместимы с АТМ и АТМ2 из-за применённых там трюков с дешифрацией адресных линий. Конкретнее, т.к. мой просмотрщик пишет на компьютерах с NMOS процессорами данные в порт #E6, он, в самом оптимистичном случае, заливает бордюр со включённой яркостью.

breeze
02.09.2013, 13:12
Просто оставлю это здесь :)

http://speccy.info/%D0%9F%D0%BE%D1%80%D1%82%D1%8B