схем такая:
A0, IOREQ -> 2И-НЕ -> CLK sn74ls373n.
Программа пишет в порт #FE (ну или в любой другой четный порт)
- - - Добавлено - - -
Rio444, будет ли программа
делать "как положено" на частоте 16 МГц?Код:.org 0
ld a, 1
out(#FE), a
Вид для печати
схем такая:
A0, IOREQ -> 2И-НЕ -> CLK sn74ls373n.
Программа пишет в порт #FE (ну или в любой другой четный порт)
- - - Добавлено - - -
Rio444, будет ли программа
делать "как положено" на частоте 16 МГц?Код:.org 0
ld a, 1
out(#FE), a
zx_gamer, вот не могу подсказать. Здесь наверняка ;) есть специалисты по Z80. Должны знать временные диаграммы команды out. В какой последовательности на выходе Z80 появляются данные и сигналы A0, IOREQ.
Или в даташите искать.
Смысл Вы поняли, после снятия IOREQ данные на шине должны быть не менее 20 нс.
И нужно учитывать задержку в 2И-НЕ.
Только Вам нужно не 2И, а 2ИЛИ-НЕ. Иначе будет попытка записи каждый раз, когда ноль будет на IOREQ или A0. А Вам нужно, чтобы оба условия совпадали. То есть ноль и на IOREQ и на A0.
Товарищи, я вот набросал схему электрическую принципиальную.
Хотелось бы услышать ваше мнение: есть ли тут ошибки? Стоит ли что-то изменить?
https://i120.fastpic.org/big/2022/08...712753d73b.png
Схема электрическая принципиальная в высоком качестве:
- - - Добавлено - - -
Вы точно не запутались?)
Проверяйте.
Вам это нужно?
https://present5.com/presentation/9c...6/image-55.jpg
Rio444, так стало быть, если мне нужно "ноль и на IOREQ и на A0", то мне нужно использовать блок логического И, а не ИЛИ ... :)
Вы не замечаете, что у Вас на выходе одно и тоже значение, если ноль хотя бы на одном из входов?
То есть достаточно нуля на IOREQ или на A0, чтобы на выходе была "1".
То есть эта схема срабатывает только если на обоих входах единицы. Только при такой комбинации на выходе ноль.
Rio444, да, действительно, я немного затупил :)
А это значит, что схема должна выглядеть так:
https://serfcity.github.io/shema1.png
Всё же надо бы ls574
Судя по диаграмме из мануала, данные на шине данных долго не держатся.
К тому же /WR и /IOREQ приходят с запозданием
https://i.ibb.co/26X5q7h/Z80.png
по схеме порт работает на вывод, непонятно почему в схему формирования LE заведен сигнал /RD? должен быть /WR.
ну и с точки зрения практической реализации - заменить LS02 на LS32 (ЛЛ1 по нашему) - минус 1 корпус (и заодно задержки сигналов поменьше).
А15 с проца подать на /CE 27512 и через инвертор - на /CS озу.
LS32/A - на входы - /MREQ и /RD, выход - на /OE ОЗУ и ПЗУ
LS32/B - на входы - /MREQ и /WR, выход - на /WE ОЗУ
LS32/C - на входы - /IORQ и /WR, выход - на вход LS32/D
LS32/D - на второй вход - выход LS30 (ЛА2), выход - через инвертор на LE регистра (или если регистр LS374/LS574 - то без инвертора).
вроде все.