PDA

Просмотр полной версии : Помогите дешифровать порт



UA3MQJ
19.06.2017, 18:09
2All прошу помочь. Выдумал я сделать дешифратор записи данных в порт 127 (7Fh) 0111_1111b с записью D1 и D0 в ТМ2 с выводом на светодиоды. В дальнейшем, чтобы коммутировать ПЗУ/ОЗУ. Но до этого пока не дошло, т.к. имею проблему в дешифрации.

Изначально взял элементы 2ИЛИ и на них подал nIORQ, nWR, A7. Потому что дешифровать решил по нолю в 7м бите адреса. Но после включения компьютера, в триггеры "заползает" единица. Дальше тестировал с помощью USBeeSuite но так и не понял, в чем дело. Кто-то кроме меня делает запись в порт, у которого в A7 находится ноль. Дальнейшее чтение показало, что надо еще смотреть на M1 и он должен быть в единице (т.е. не активен), когда идет запись в порт. Но т.к. ставить еще одну микросхему ради инверсии одного бита мне не хотелось, то я взял дешифратор 74HC138 (потому что был в наличии) и поставил его. Соответственно, на E3 - M1, nE2 - nIORQ, nE1 - A7, на А подал nWR, а B и C заземлил. Выходы там инвертированные, так что при удачном раскладе на первом выходе должен быть 0 когда все дешифровалось. Но анализ показывает, что туда пролетают данные, даже когда я не пишу в порты сам. Потом, я поменял схему, и на ABC подал, соответвтсвенно A5, A6, A7, nE1 - nWR, nE2 - nIORQ, E3 +5 вольт. То есть, дешифровал более точно - по трем битам адреса. И все равно данные были. М1 не добавлял, малоли, вдруг неисправен. Потом подключил М1 на E3. Но лучше не стало. По идее, на линии Y3 должна быть 0, когда я записываю в порт 127. Но там 0 появляется и при нажатии клавиш.

Компьютер - Дуэт, схема тут (http://sblive.narod.ru/ZX-Spectrum/DUET/DUET-SCH.gif), подключаюсь к порту расширения (левый верхний угол схемы).

Что то я делаю не так, вот хотелось бы понять, что.

OrionExt
19.06.2017, 19:13
Ну, так получится грубая дешифрация в диапазоне соответственно 00..1F, 20..3F, 40..5F, 60..7F, 80..9F, A0..BF, C0..DF, E0..FF. А вам нужно анализировать все биты адреса для 7F. Нужна допустим ЛА2.

- - - Добавлено - - -

А потом это ZX. Тут порты 16-ти битные.

UA3MQJ
19.06.2017, 19:20
Ну, так получится грубая дешифрация в диапазоне соответственно 00..1F, 20..3F, 40..5F, 60..7F, 80..9F, A0..BF, C0..DF, E0..FF.
Это по А7 в ноле?

OrionExt
19.06.2017, 19:45
Это по А7 в ноле?
Вот ваша схемка.

https://lh3.googleusercontent.com/zCqY_lA_kYJstR_dxyK3dEs-tdaSRk7zzqr85Pfq77mQ1hPvAiWvQl7zyola_G9c4UY2jshrm4 NTnE0TxNcHZOZncTdVUic_nAQUXdi-4MF_wJSBpLQczfXy_3lsad0D1YrRS_ikxmp5KehvTtj2Z7LwfG 0ExKYDvOjopWfAbt2pkdyuF7ogNRJ65yVA1R7vfVu5hVYsLhTi d__bkmgYXDaSLjlOOS5lGngOENgZ1aVEAcyiJF-a2uy51X12QDnH-QuwgP1HzzJY5Qt7wZ-3h0C8FVFV9YNwH5sKBuDwlRVLhKX4r9onxw08M0iL_nZVtrUsT WxZHmYcwPgdptULF2C5004I3qOu9Q_rZpxCXv3br3uMDHjs_Rv Yv9_t115O6oCpz91T05gpAf_Dm8lX-zKe8dCfCvQu6_jmmsGFL6kZf8kKBRql_xwPnzPM1aDaV4j0wuO BCCO2yv_F02vdTCWO9g_X7-UP_y-04AARcP3r9bRsJRP5uTWlNN5itwTybcGahiL0MwMK9CyvKQ1DP _aMmB7atUHmwI1Q9BPrHs2MyWT3woVkiOEJ3KFqNduxengKmDD AWqxBFHEyAb6mI7aykFiYHdqpzjAxJfrrLi-q_4-0rzxozyXD4LkrmNt-Dc-Yld1iNX7GipL4yrS2mcunk-QQ7XHfAAOBkBeb4w=w810-h460-no

UA3MQJ
19.06.2017, 20:06
Спасибо, да, все верно. Теперь мои показания изменились )) Еще раз проверил схему. На Y3 всегда единица. Независимо от попыток записи в порт. Т.е. не декодируется.

OrionExt
19.06.2017, 20:16
Схема железобетонная:v2_smile:


nE1 - nWR, nE2 - nIORQ, E3 +5 вольт. То есть, дешифровал более точно - по трем битам адреса. И все равно данные были. М1 не добавлял, малоли, вдруг неисправен. Потом подключил М1 на E3.
Может в этом причина. Входы разрешения вроде по другому номеруются.

UA3MQJ
19.06.2017, 20:27
Не, инверсия на входах - там все верно. А вот наименования мог напутать. Но суть в том, что nIORQ и nWR на инверсные входы, а nM1 на прямой.
В общем, если поглядеть анализатором, то в принципе видно, что сигналы на всех шинах есть. Вот на nIORQ большую часть времени находится в ноле, но в единицу тоже перескакивает. Но на выходах вот такая картина.

https://pp.userapi.com/c841423/v841423366/1268/c0GmSp7vLkQ.jpg

Но есть у меня мысль. Я вот припоминаю, что когда был мелкий, то в разъем расширения я засунул картридж от денди(по совету однокласника, у которого все заработало, наверное он с сюбором спутал). Так вот, помню что с тех пор как раз у меня комп после включения то и проглючивает. Иногда длительное время. Может я что-то подпалил именно в микросхемах,которые соединены с линиями на выход. А сейчас вот оно и выплыло.

OrionExt
19.06.2017, 20:46
Ну не знаю.

Я просто подобную схему дешифрации только вчера проверял в железе. Триггер RS по записи/чтении порта A8..AF (PPI) четко опрокидывается с единицы в ноль (/SLTEN). Это кусочек схемы с MSX.

https://lh3.googleusercontent.com/Tvpr011bjkH38XYvh7qMqFi2I5bu1ASyRSz8aFWQrWEq46dqM0 yiuz0PR03ihLR6rmJpjENf_-mNLQRAJ_xB5enP2nvN7FYAeXsPIFV85NJ4HRD59-LASt0s3D8a6zDJTzbXYXKnqILFGyO4XTmAzrsvg7j0-OkAEJ0PIiKEE-L3ebo72PAwOJM-hMIWbqOjAxCNzI7ZHO6QOivB0VGAwaLyY2BWvMYJ6vLV9idBJS Vmza0aWBegMUtuj_XZfwatX_q1QRCjDaK5GBHK7TO3pjBSLtcD z-zlxZsS9IvsDPWVVPtMS4AcjTagoJNaQUTTOrozTO5TpQAUmtIR 9azFsrCRktvmCpUakRf7qiiEaxnlv3ryFO-paFLec5Gee-4rJN9caMOuCg4CEI-KMt5kf67c_CHFJ5ZPeoemf6NG3j7vvOHqeaKxiNszR86U1nmFr 9m0or5-_i_JhJbh4ccKnPnbzupwcoFGm-L8bBuhR3r996CrID_UhEAzEJSda5Pw33p_oI1fLov8vKEa7ngy AXThfqBAwthI7YUfxrWfjZCuBiZcOUGpXvC1SsPC310wNdr1Td D-MooW45F4QVnJ3bmQrc3k7BIx00m6k0A6nvYXgsTIw3ihGs2Y_6 uSfHEq7-Imguv1kg_OYhckuKC4v39hwVWx6uqm34NsNsBwkg=w570-h567-no

UA3MQJ
19.06.2017, 20:51
Ну не знаю.

Я просто подобную схему дешифрации только вчера проверял в железе.
Очень может быть, что все схемы правильные. А сигналы на них идут не правильные. Где тут, казалось бы, блудиться-то, в трех соснах. Я и на 2И делал - она тоже должна была работать, хоть и без М1. Однако не работала. Более того, я записал в файл CSV все сигналы за определенный период с линий nIORQ, nWR, A7 и формулу написал прямо в экселе. Вернее, фильтр поставил, чтобы было во всех трех столбцах - ноль. Не нашлось ни одной сточки, хотя вывод в порт был. Так что надо, пожалуй, с осциллом потыкаться, формы сигналов посмотреть.

UA3MQJ
19.06.2017, 23:00
Осциллограф показал, что сигнал IORQ на внешнем разъеме, куда я подключаю схему, инвертирован относительно сигнала IORQ непосредственно на процессоре :)
UPD. В моей версии Дуэта оказались изменения в схеме, перерезана одна дорожка. В итоге на внешний разъем выдавался прямой IORQ. Я это дело подкорректировал, схема дешифратора сразу заработала. Спасибо еще раз за помощь!