PDA

Просмотр полной версии : Контроллер на Z80 и КР580ВВ55А



zx_gamer
08.11.2023, 20:35
Не получается заставить ВВ55 мигать светодиодом. Частота Z80 3 МГц. Есть ПЗУ 32 КБайт (ОЗУ пока нет). Схема такая: Шины данных и адреса параллельно. ~CS (ПЗУ) включается когда A15 (Z80). ~WR (ПЗУ) когда ~MERQ (Z80) ИЛИ ~WR (Z80). ~RD (ПЗУ) когда ~MERQ (Z80) ИЛИ ~RD (Z80). A0 (ВВ55) когда A0 (Z80). A1 (ВВ55) когда A1 (Z80). ~RD (ВВ55) когда ~IORQ (Z80) ИЛИ ~RD (Z80). ~WR (ВВ55) когда ~IORQ (Z80) ИЛИ ~WR (Z80). RESET (ВВ55) на землю, RESET (Z80) к питанию через резистор.

Тактовую частоту на осциллографе видно. "Шумы" на ~MERQ (Z80), ~RD (Z80) тоже. На ~WR (Z80) высокий уровень с редкими падениями. На ~IORQ (Z80) постоянный высокий уровень.

Программа такая:

begin:
; Configure VV55
ld bc, 80h ; port
ld a, 0h ; byte
out (FFh), a ; out

; micro wait
ld b, 0
micro_wait:
nop
nop
nop
nop
nop
djnz micro_wait
;end micro wait

main:
ld bc, 0h ; port
ld a, FFh ; byte
out (0h), a ; out

time_wait:
ld a, 0 ; for big loop compare
ld c, 0 ; big wait loop
ld b, 0 ; small wait loop
small_loop:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnz small_loop ; end small wait loop
dec c
cp c
jr nz, time_wait

ld bc, 0h ; port
ld a, 0h ; byte
out (0h), a ; out

time_wait2:
ld a, 0 ; for big loop compare
ld c, 0 ; big wait loop
ld b, 0 ; small wait loop
small_loop2:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnz small_loop2 ; end small wait loop
dec c
cp c
jr nz, time_wait2

jp begin

Подскажите пожалуйста куда копать.

AlexG
08.11.2023, 21:53
чегото мне кажется здесь "вечный кайф"
ime_wait2:
ld a, 0 ; for big loop compare
ld c, 0 ; big wait loop
......
djnz small_loop2 ; end small wait loop
dec c
cp c
jr nz, time_wait2

уменьшение С с нуля на один будет 255
jr nz, time_wait2 будет переход
а там загрузка С опять нулём...

пс: глубже не копал

Serg6845
09.11.2023, 00:02
Не получается заставить ВВ55 мигать светодиодом. Частота Z80 3 МГц. Есть ПЗУ 32 КБайт (ОЗУ пока нет). Схема такая: Шины данных и адреса параллельно. ~CS (ПЗУ) включается когда A15 (Z80). ~WR (ПЗУ) когда ~MERQ (Z80) ИЛИ ~WR (Z80). ~RD (ПЗУ) когда ~MERQ (Z80) ИЛИ ~RD (Z80). A0 (ВВ55) когда A0 (Z80). A1 (ВВ55) когда A1 (Z80). ~RD (ВВ55) когда ~IORQ (Z80) ИЛИ ~RD (Z80). ~WR (ВВ55) когда ~IORQ (Z80) ИЛИ ~WR (Z80). RESET (ВВ55) на землю, RESET (Z80) к питанию через резистор.


не увидел здесь ~CS (BB55)



Программа такая:


begin:
; Configure VV55
ld bc, 80h ; port
ld a, 0h ; byte
out (FFh), a ; out



а что здесь делает ld bc,80h?
если я не совсем забыл мнемонику z80 - то команда out (FFh), a запишет значение из a в порт FFh - точнее в порт 00FFh (поскольку а в предыдущей команде ставится в 0) - что приведет к сбросу в 0 бита 0 порта С (который после включения питания настроен на ввод).
если хотелось настроить все порты на вывод - то надо так


ld a, 80h ; byte
out (FFh), a ; out

но при этом вывод будет в порт 80FFh - так что надо смотреть как сделана дешифрация ВВ55.






time_wait:
ld a, 0 ; for big loop compare
ld c, 0 ; big wait loop
ld b, 0 ; small wait loop
small_loop:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnz small_loop ; end small wait loop
dec c
cp c
jr nz, time_wait


ну и здесь как уже сказано - будет бесконечный цикл.

сделать можно так:


time_wait:
ld c, FFh ; big wait loop
ld b, 0 ; small wait loop
small_loop:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnz small_loop ; end small wait loop
dec c
jr nz, time_wait

или например так:


ld hl, 03FFh (подобрать по вкусу)
loop:
dec hl
ld a,h
cp l
jr nz, loop

zx_gamer
09.11.2023, 18:27
Serg6845, AlexG, спасибо вам. Пока не помогло. Подпишитесь пожалуйста на тему. Обзаведусь логическим анализатором и распишу все подробнее.

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


не увидел здесь ~CS (BB55)

Прошу прощения. Писал по памяти. На самом деле ~WR с ~WR, ~RD с ~RD, ~IORQ с ~CS. Все это без логических элементов "ИЛИ".

Serg6845
10.11.2023, 09:12
Serg6845, AlexG, спасибо вам. Пока не помогло.


естественно. ибо нефиг на ночь глядя всякую фигню писать (это я про себя).

вот так вроде должно работать.



begin:
; Configure VV55
ld bc, 80h ; port
ld a, 0h 80h ; byte
out (FFh), a ; out

; micro wait
ld b, 0
micro_wait:
nop
nop
nop
nop
nop
djnz micro_wait
;end micro wait

main:
ld bc, 0h ; port
ld a, FFh ; byte
out (0h), a ; out

time_wait:
ld a, 0 ; for big loop compare
ld c, 0 ; big wait loop
ld b, 0 ; small wait loop
small_loop:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnz small_loop ; end small wait loop
dec c inc c ;хотя без разницы. можно dec c оставить.
cp c
jr nz, time_wait small_loop ;главное вот здесь

ld bc, 0h ; port
ld a, 0h ; byte
out (0h), a ; out

time_wait2:
ld a, 0 ; for big loop compare
ld c, 0 ; big wait loop
ld b, 0 ; small wait loop
small_loop2:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnz small_loop2 ; end small wait loop
dec c inc c ;хотя без разницы. можно dec c оставить.
cp c
jr nz, time_wait small_loop2

jp begin main ;наверно

Denn
10.11.2023, 22:41
Наступал на эти же грабли. Не работает Z80 с микросхемой 580ВВ55 !!! Нужен КМОП-вариант 82C55, с ней Z80 в подобной МПС работает без вопросов. А с ВВ55 (8255) нет.

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

П.С. вот эту схему собирал:

https://forum-img.guitarplayer.ru/2023/11/10/MRLuO.png

Только не ставил СОЗУ и УСАПП. Тактовый генератор на панельке, пробовал разные от 1 до 20 МГц.

Serg6845
10.11.2023, 22:55
Наступал на эти же грабли. Не работает Z80 с микросхемой 580ВВ55 !!! Нужен КМОП-вариант 82C55, с ней Z80 в подобной МПС работает без вопросов. А с ВВ55 (8255) нет.


Ерунду говорите. в древних АОН работает. в Пентагоне 48 - работает. без всяких С, обычные ВВ55.

backa
11.11.2023, 02:26
Не работает Z80 с микросхемой 580ВВ55 !!! Нужен КМОП-вариант 82C55, с ней Z80 в подобной МПС работает без вопросов. А с ВВ55 (8255) нет.
Полная ЕРУНДА!
Посмотрите на схему БАЛТИКа - через мои руки прошло большое количество этих машинок и не было в те времена (конец 80-х) разнообразия такого в технологиях в наших краях))) Были ГДР-овские 880 и К580ВВ55А....

zebest
11.11.2023, 08:11
Да и в Профи ВВ55 работает без проблем и костылей. Одновремённо подключал 128 штук советских красненьких светодиодов, матриЦЦа 16х8 на все три портА.

Denn
11.11.2023, 11:02
Говорю то, с чем столкнулся лично. Схему привел выше. Пробовал разные Z80 (как обычные, так и современные PEC'и), а также несколько заведомо исправных экземпляров ВВ55. В процессе отладки сначала заметил, что если вставать логическим пробником на линию WR (по сути дополнительно нагружать TTL входом 155-ой серии), то схема иногда срабатывает, затем обратил внимание, что на вышеприведённой буржуйской схеме указана именно КМОП-версия порта.. попробовал поставить OKI 82C55A-2 и сразу всё заработало без проблем, причём с любыми экземплярами Z80 и генераторами от 1 до 20 МГц. Т.е. 100% проблема в несовместимости конкретно Z80 с КР580ВВ55А, в конкретно таком простейшем включении. Возможно, в другой схеме (при большем кол-ве нагрузок линий ШУ) связка будет как-то работать. Речь лишь про данный вариант включения.

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

Вот тот самый макет (в системе планировался супервайзор питания для CR2032, сторожевой таймер на НСТ193, часы и СОЗУ, но на этапе отладки они были не подключены, только проц+винбонд+порт):

https://forum-img.guitarplayer.ru/2023/11/11/Meb1m.jpg

https://forum-img.guitarplayer.ru/2023/11/11/Mee0c.jpg

UncleDim
11.11.2023, 12:11
Да и в Профи
там АП6 между ними(Z80 и ВВ55) присутствует..

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

М.б. достаточно будет просто подтянуть ШД к питанию например

zx_gamer
11.11.2023, 18:30
ld bc, 0h ; port

Это же часть адреса для out?


jp begin main ;наверно

Нет. Перенастройка каждый раз сделана специально, чтобы можно было отлаживать.


jr nz, time_wait small_loop ;главное вот здесь

А вот за это спасибо. Завтра проверю, отпишусь.

Serg6845
11.11.2023, 18:46
ld bc, 0h ; port

Это же часть адреса для out?


а это смотря какой out. если такой
out (0h), a
то нет. адрес порта явно указан в команде.

а вот если
out (c),a - то да, адрес порта берется из bc

M80
11.11.2023, 19:21
а это смотря какой out. если такой
out (0h), a
то нет. адрес порта явно указан в команде.
И тут нет. Явно указана только половина адреса в/в.

zx_gamer
11.11.2023, 22:21
Оно начало подавать признаки жизни! Примерно раз в секунду на ~IORQ и ~WR сигнал принимает 0 на примерно 800 нс. Только вот ВВ55 на это никак не реагирует. Не успевает?

vegapiratradio
11.11.2023, 23:54
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, уже предложил рабочее решение. странно, что не заработало.

backa
12.11.2023, 03:53
PC0 на вход работает отлично, а вот PC7 на выход - нет, постоянно висит лог. 0. но у меня проц тактируется 6 МГц, возможно просто вв55 не успевает.
может ответ кроется в таблице временных параметров (https://eandc.ru/pdf/mikroskhema/kr580vv55a.pdf?ysclid=lourgylzkw524655915) советской копии i82C55 (оригинал шустрее в разы).

zx_gamer
12.11.2023, 09:02
zx_gamer, ~WR (ПЗУ) когда ~MERQ (Z80) ИЛИ ~WR (Z80). может путаешь с И ? с ИЛИ там хрень будет, и немного не понятно зачем сигнал записи пзу вообще к процу подключать?
~RD (ПЗУ) когда ~MERQ (Z80) ИЛИ ~RD (Z80). аналогично, может И?
~RD (ВВ55) когда ~IORQ (Z80) ИЛИ ~RD (Z80). И надо

Почему?
1 (нет MERQ) ИЛИ 1 (нет WR) = 1 (нет чтения из памяти)
1 (нет MERQ) ИЛИ 0 (есть WR) = 1 (нет чтения из памяти)
0 (есть MERQ) ИЛИ 1 (нет WR) = 1 (нет чтения из памяти)
0 (есть MERQ) ИЛИ 0 (есть WR) = 0 (есть чтение из памяти)

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




только после этого ВВ55 настроена всеми портами на выход.
чтоб записать все единицы в порт С (2) надо по адресу F002h записать значение FFh.
чтоб записать все нули в порт B (1) надо по адресу F001h записать значение 00h.
и так далее.
дальше думаю разберешься.


Почему? Как я понял, все порты на вывод это 10000000b = 80h. Я не прав?

Serg6845
12.11.2023, 09:29
Почему? Как я понял, все порты на вывод это 10000000b = 80h. Я не прав?

прав - только 80h записывается в порт ххх3h (где ххх - что угодно) - это настройка микросхемы, достаточно сделать 1 раз.
а вот дальше - пишем данные которые пойдут на выходные ноги
xxx0h - port a
xxx1h - port b
xxx2h - port c

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


zx_gamer, ~WR (ПЗУ) когда ~MERQ (Z80) ИЛИ ~WR (Z80). может путаешь с И ? с ИЛИ там хрень будет

все правильно, ИЛИ должно быть.



; Configure VV55
ld bc, 80h ; port
ld a, 0h ; byte
out (FFh), a ; out

на сколько знаю, вот так out (FFh), a старшая часть адреса будет браться с А, а младшая прямо указанная FFh. и того адрес будет 00FFh, что в свою очередь означает (судя по подключению) доступ к ПЗУ, а не ВВ55.


с чего бы это? ПЗУ активируется по ~MREQ, ВВ55 - по ~IORQ. адреса могут и одинаковыми быть.

UncleDim
12.11.2023, 10:03
zx_gamer, рисуйте схему, а то слишком много неизвестных:
- схема сброса отсутствует?
- /nmi, /busrq, /wait болтаются или подключены куда-то?
- что за пзу и зачем на ней /wr? что за проц?
- емкости блокировочные на плате имеются хоть?
и т.д. и т.п.

Denn
13.11.2023, 00:01
может ответ кроется в таблице временных параметров (https://eandc.ru/pdf/mikroskhema/kr580vv55a.pdf?ysclid=lourgylzkw524655915) советской копии i82C55 (оригинал шустрее в разы).

Как писал выше, ставил на тактирование проца гену аж на 1 МГц - точно также не работало. Начинало иногда работать на долю секунды при вставании входом лог. пробника на линию WR. Вместо нагрузки лог. пробником пробовал навешивать конденсаторы различной ёмкости об землю - бестолку.
И ещё момент, у меня в Орион-ПРО те же самые ВВ55 работают с Z80 с тактом 10 МГц... мистика, однако :)

П.С. хотя там при обращении к портам проц WAIT'ится, скорее всего это меняет дело!

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



- что за пзу и зачем на ней /wr?

WR используется для ВВ55

vegapiratradio
13.11.2023, 05:10
zx_gamer,

Почему?
1 (нет MERQ) ИЛИ 1 (нет WR) = 1 (нет чтения из памяти)
1 (нет MERQ) ИЛИ 0 (есть WR) = 1 (нет чтения из памяти)
0 (есть MERQ) ИЛИ 1 (нет WR) = 1 (нет чтения из памяти)
0 (есть MERQ) ИЛИ 0 (есть WR) = 0 (есть чтение из памяти)

да, все верно, ИЛИ.
то я на сонный глаз...)))




Почему? Как я понял, все порты на вывод это 10000000b = 80h. Я не прав?
это конфигурация портов. а данные это другая история.

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

Serg6845,

с чего бы это? ПЗУ активируется по ~MREQ, ВВ55 - по ~IORQ. адреса могут и одинаковыми быть.

да, так и есть. поздно писал и не разобрался с подключением ИЛИ, думал за И.
там вообще можно было /CS ПЗУ сразу на /MREQ подключить и линии /RD /WR напрямую к одноименным на ПЗУ и никаких элементов ИЛИ не понадобилось бы.
с ВВ55 поступить так же только уже /IORQ на /CS ВВ55...

UncleDim
13.11.2023, 09:07
/WR напрямую к одноименным на ПЗУ
"никогда такого не было и вот опять"
зачем??? что за пзу такое с /WR (28Cxx что ли?) и зачем на нем /WR от процессора? прошивку портить по мере работы?

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


с ВВ55 поступить так же только уже /IORQ на /CS ВВ55...
вообще-то так и сделано
https://zx-pk.ru/threads/35386-kontroller-na-z80-i-kr580vv55a.html?p=1188562&viewfull=1#post1188562

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


Начинало иногда работать на долю секунды при вставании входом лог. пробника на линию WR. Вместо нагрузки лог. пробником пробовал навешивать конденсаторы различной ёмкости об землю - бестолку.
малоомные резисторы вдоль /rd, /wr иногда творят чудеса

zx_gamer
13.11.2023, 16:26
"никогда такого не было и вот опять"
зачем??? что за пзу такое с /WR (28Cxx что ли?) и зачем на нем /WR от процессора? прошивку портить по мере работы?

Прошу прощения. Опять ошибка. У ПЗУ нет ~WR. W27C512



малоомные резисторы вдоль /rd, /wr иногда творят чудеса

Какой наминал и как ставить?

vegapiratradio
13.11.2023, 17:27
"никогда такого не было и вот опять"
зачем??? что за пзу такое с /WR (28Cxx что ли?) и зачем на нем /WR от процессора? прошивку портить по мере работы?
да откуда я знаю? автора спроси!

UncleDim
13.11.2023, 17:30
zx_gamer, ом 20-30 в разрыв, между источником и приемником(-ами)

backa
13.11.2023, 18:55
zx_gamer, ом 20-30 в разрыв, между источником и приемником(-ами)
это делаеться на длинных линия и ВЫСОКИХ СКОРОСТЯХ ))) но не как не на паре МЕГАГЕРЦ! Просто работа будет впустую для автора топика...

UncleDim
13.11.2023, 19:07
backa, крутой фронт - это ВЫСОКАЯ скорость)
К тому же мы ничего не знаем про схему автора (автор! Если не схему, то хоть фотку сделайте. От чего тактируется, какой проц, есть ли подтяжки клока, шины,....)

backa
13.11.2023, 21:04
backa
К тому же мы ничего не знаем про схему автора
вот тут скорее ошибка - неверное подключение чисто схематически( подтяжки в том числе)
Но без схемы - это гадание на картах)))

vegapiratradio
13.11.2023, 21:20
какой проц
как бы в названии темы указан проц

UncleDim
13.11.2023, 21:24
vegapiratradio, cmos? nmos?

vegapiratradio
14.11.2023, 00:29
vegapiratradio, cmos? nmos?

а сильно ли это важно на 3 МГц?

UncleDim
14.11.2023, 07:26
сильно ли это важно
ну когда и на одном мегагерце "помогает" касание щупом

vegapiratradio
14.11.2023, 17:31
ну когда и на одном мегагерце "помогает" касание щупом

не, то у другого человека.
у автора совсем все плохо! а может быть от непонятного флюса и до неисправности ВВ55 или проца. хотя и ошибки в коде никто не отменял. более того, то автор пишет про элементы ИЛИ по управляющим линиям процессора, то выясняется что логических элементов, оказывается вообще нет...

zx_gamer
14.11.2023, 18:12
Китайцы обещают КМОП. Но не удивлюсь, если окажется ТТЛ.

Оно точно работает. Раз в секунду осциллограф показывает "ямку" длиной в 800 нс.

Вопрос только в том, почему ВВ55 это не воспринимает. Внутрення емкость ВВ55? Через резисторы подтянуть ~CS и ~WR к минусу питания?

Rio444
14.11.2023, 19:36
Внутрення емкость ВВ55? Через резисторы подтянуть ~CS и ~WR к минусу питания?
К минусу точно не надо. У Z80 выходной ток лог.1 гораздо меньше лог.0.
Соответственно 0,25мА и 1,8мА.
Если подтягивать, то к +5 вольт через примерно 4,7К.

Xrust
14.11.2023, 21:28
Схему бы все-таки хотелось глянуть. Чую, в этом все дело.

vegapiratradio
14.11.2023, 21:41
zx_gamer, схему надо, и хорошо, если еще и фото макета.

UncleDim
15.11.2023, 08:14
Не работает Z80 с микросхемой 580ВВ55
ну если вв55 (а не вв55а), то вот почти 30-летней давности пост например:
https://www.maxwolf.ru/faq/eparts/8255a.html

Serg6845
15.11.2023, 08:58
ну если вв55 (а не вв55а)

а такие в природе существовали? все ВВ55 что я видел - были с буквой А. все без буквы А - были ИК55.

UncleDim
15.11.2023, 09:10
гугль знает всё

Serg6845
15.11.2023, 09:30
гугль знает всё

странно - с ВП и ноги не желтые...

ну да ладно, не о том спорим. в теме КР580ВВ55А указан...

UncleDim
15.11.2023, 09:41
Здесь много чего указано, а потом - ой, извините, не так, вот эдак.)
Обсуждаем схему без самой схемы

UncleDim
15.11.2023, 13:35
Ну и до кучи: все приведенные примеры работоспособных связок z-вв формируют /cs несколько посложнее, чем прямое соединение с /iorq, да? (кагбэ наводящий вопрос)

zx_gamer
15.11.2023, 17:46
https://i122.fastpic.org/big/2023/1115/1a/f308314437b6b39ef86f033a73172a1a.jpg

Схему нарисую несколько позже.

UncleDim
15.11.2023, 18:02
Я не вижу ни одной ёмкости по питанию, а вы?

tnt23
15.11.2023, 18:24
Видим много паразитных емкостей.
Питание меряли? Сколько вольт с точностью до десятых?

M80
15.11.2023, 20:39
Видим много паразитных емкостей.

ТАКАЯ фигня.)

vegapiratradio
16.11.2023, 05:44
zx_gamer, это трэшак! мне кажется там и емкости по питанию могут не помочь. разве что частоту понизить хотя бы до 1 мгц и емкости поставить обязательно по питанию, тогда есть шанс на успех.
но все равно конструкция не внушает доверия.
да и еще, вижу присутствуют китайские проводочки со штыречками... так вот часто из-за хренового обжима нет контакта или он плохой.
макетку (бредборд) убери вообще, соединения делай ТОЛЬКО ПАЯННЫЕ!

UncleDim
16.11.2023, 10:46
трэшак
да лан, оно только выглядит страшно)
дьявол, как обычно, в малозаметных (или отсутствующих) деталях.

ALS
16.11.2023, 11:37
емкости по питаниюСорри, что-то вспомнилось )

https://img.radiokot.ru/files/5396/thumbnail/2uaxyagtq0.JPG (https://img.radiokot.ru/files/5396/2uaxyagtq0.JPG)

Xrust
16.11.2023, 19:49
zx_gamer, если интересно, посмотрите мой проект - z80mini на ПЛИС (https://zx-pk.ru/threads/33242-z80mini-z80-i-cpld.html). Платы, если что, есть в наличии.

UncleDim
16.11.2023, 21:18
втыкаем в даташит на 8255А, особенно на параметр Twa. Он хоть и назван "Address stable after write", но на сопутствующей иллюстрации кроме А0 и А1 присутствует также /CS
при прямом подключении iorq-cs_вв55а сие Twa в части cs не соблюдается
я бы для начала попробовал исправить это, просто задержкой iorq на паре элементов лл1

vegapiratradio
17.11.2023, 02:14
просто задержкой iorq на паре элементов лл1

можно поставить резистор на 220 Ом и конденсатор на 100 пФ. это даст задержку в 22 нс

UncleDim
17.11.2023, 08:19
это даст задержку
можно и так.
это даст постоянную времени цепи 22нс, а вот какую задержку - уже отдельный вопрос)
(я к тому, что если не поможет - есть смысл "поиграться" величинами R и C, а не отбрасывать идею сразу как негодную)

zx_gamer
19.11.2023, 14:17
Попробовал ~IORQ -> НЕ -> НЕ -> ~CS. Не работает.

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

И по логике надо тормозить ~WR, а не ~CS.
Попробовал и так и так, не работает никак.

UncleDim
20.11.2023, 00:00
по логике надо тормозить ~WR
это логика от ВВ55, не 55А)
какой серии логика, кстати? на фото не разобрать нифига..