Это же часть адреса для out?Код:ld bc, 0h ; port
Нет. Перенастройка каждый раз сделана специально, чтобы можно было отлаживать.Код:jp begin main ;наверно
А вот за это спасибо. Завтра проверю, отпишусь.Код:jr nz, time_wait small_loop ;главное вот здесь
Зверинецъ
Специалист (был когда-то "совсем стандарт") - 1988-2023
Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
Ленинград2 + CF карта
Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
БК0010-01 стоковый[свернуть]
Оно начало подавать признаки жизни! Примерно раз в секунду на ~IORQ и ~WR сигнал принимает 0 на примерно 800 нс. Только вот ВВ55 на это никак не реагирует. Не успевает?
Denn, ради интереса попробовал в своей схеме вместо upd71055 поставить кр580вв55а 89 года.
и нормально НЕ заработало. PC0 на вход работает отлично, а вот PC7 на выход - нет, постоянно висит лог. 0. но у меня проц тактируется 6 МГц, возможно просто вв55 не успевает.
- - - Добавлено - - -
zx_gamer, ~WR (ПЗУ) когда ~MERQ (Z80) ИЛИ ~WR (Z80). может путаешь с И ? с ИЛИ там хрень будет, и немного не понятно зачем сигнал записи пзу вообще к процу подключать?
~RD (ПЗУ) когда ~MERQ (Z80) ИЛИ ~RD (Z80). аналогично, может И?
~RD (ВВ55) когда ~IORQ (Z80) ИЛИ ~RD (Z80). И надо
~WR (ВВ55) когда ~IORQ (Z80) ИЛИ ~WR (Z80). тоже И хотя если у тебя /CS вв55 подключен на /IORQ то не понятно зачем там вообще ИЛИ, хотя даже И не надо.
; Configure VV55
ld bc, 80h ; port
ld a, 0h ; byte
out (FFh), a ; out
на сколько знаю, вот так out (FFh), a старшая часть адреса будет браться с А, а младшая прямо указанная FFh. и того адрес будет 00FFh, что в свою очередь означает (судя по подключению) доступ к ПЗУ, а не ВВ55. более того, вв55 надо именно сконфигурировать, а значит надо по адресу F003h записать 80h и будет это выглядеть вот так.
ld bc, F003h ; port
ld a, 80h ; byte
out (C), a ; out
только после этого ВВ55 настроена всеми портами на выход.
чтоб записать все единицы в порт С (2) надо по адресу F002h записать значение FFh.
чтоб записать все нули в порт B (1) надо по адресу F001h записать значение 00h.
и так далее.
дальше думаю разберешься.
upd. почитал и оказывается товарищ Serg6845, уже предложил рабочее решение. странно, что не заработало.
Последний раз редактировалось vegapiratradio; 12.11.2023 в 00:33.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
может ответ кроется в таблице временных параметров советской копии i82C55 (оригинал шустрее в разы).
Последний раз редактировалось backa; 12.11.2023 в 03:55.
Почему?
1 (нет MERQ) ИЛИ 1 (нет WR) = 1 (нет чтения из памяти)
1 (нет MERQ) ИЛИ 0 (есть WR) = 1 (нет чтения из памяти)
0 (есть MERQ) ИЛИ 1 (нет WR) = 1 (нет чтения из памяти)
0 (есть MERQ) ИЛИ 0 (есть WR) = 0 (есть чтение из памяти)
- - - Добавлено - - -
Почему? Как я понял, все порты на вывод это 10000000b = 80h. Я не прав?
прав - только 80h записывается в порт ххх3h (где ххх - что угодно) - это настройка микросхемы, достаточно сделать 1 раз.
а вот дальше - пишем данные которые пойдут на выходные ноги
xxx0h - port a
xxx1h - port b
xxx2h - port c
- - - Добавлено - - -
все правильно, ИЛИ должно быть.
с чего бы это? ПЗУ активируется по ~MREQ, ВВ55 - по ~IORQ. адреса могут и одинаковыми быть.; Configure VV55
ld bc, 80h ; port
ld a, 0h ; byte
out (FFh), a ; out
на сколько знаю, вот так out (FFh), a старшая часть адреса будет браться с А, а младшая прямо указанная FFh. и того адрес будет 00FFh, что в свою очередь означает (судя по подключению) доступ к ПЗУ, а не ВВ55.
Зверинецъ
Специалист (был когда-то "совсем стандарт") - 1988-2023
Ленинград1 +256К +AY+BDI+VGA выход +Ethernet (Speccyboot) +Xmodem (115200)+divmmc
Ленинград2 + CF карта
Платформа 8085+Z80+CPLD (Специалист МХ2 +SD +FDD +PS/2kbd)
БК0010-01 стоковый[свернуть]
zx_gamer, рисуйте схему, а то слишком много неизвестных:
- схема сброса отсутствует?
- /nmi, /busrq, /wait болтаются или подключены куда-то?
- что за пзу и зачем на ней /wr? что за проц?
- емкости блокировочные на плате имеются хоть?
и т.д. и т.п.
Profi v3.2 512K+color; Profi 6.2B; МС-0511
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)