Начал новую тему про печатки. Высказываемся.
Начал новую тему про печатки. Высказываемся.
Где-то так будет выглядеть
Отправлено с моего JY-S2 через Tapatalk
Скрытый текст
Специалист "УЦА" +SD-Vinxru +PS/2-Vinxru
PLM-X 128 + AY -эмуль на 8меге
Profi V3.2 - 768+Color-CP/M+ProfiExtender Solegstar
Profi V3.2 -1024 Sim30+Color-CP/M+ProfiExtender Solegstar
Pentagon 1024SL 1.42 - работает не совсем стабильно
ZXM-Phoenix V06
ZX-Evolition Rev C2 White FSP-MItX
Sprinter 2000 v.Zorel
Karabas128 + ZX-Taper by TrolSoft +DivSD +ScanDoubler
ZX-UNO v4.1 2М с 4 переключаемыми флешками
Поиск-1 - ждет ремонта
Корвет ПК8010 up to 8020
MisT 1.31
Galaksija + SMD
[свернуть]
Можно пионерский вопрос?
Посмотрел схему платки Z80, там используется стробирование различных выборок портов сигналом /M1 процессора. В чем глубокий смысл дублировать /IORQ сигналом M1, который ЕМНИП активен только при чтении очередного опкода (т.е. в момент никакого отношения к селекту портов не имеющему) и в цикле подтверждения прерывания (тоже никакого отношения к адресному селектору)? В Орионе-128 с Z80 Card, например, /M1 нигде не используется, и все прекрасно работает.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
А так же связка IORQ и M1 - это сигнал подтверждения прерывания INTA.
В Специалисте же нет прерываний. Это функция (прерывания) наверное добавляется только в маппере FUZIX? Да и то, была бы нужна только с внешним аппаратным контроллером прерываний или контролем приоритетов (как в Орионе-ПРО)? Программные же режимы Z80 (IM1, IM2) прекрасно работают без контроллера прерываний (в том же Орионе128 где прерывания есть, но INTA или его аналоги при этом не используется).
Я почему спрашиваю: пытаюсь понять может что-то я недогоняю, т.к. сейчас начал на макетке делать аналогичный проект (минимальный Z80 по портам сходный с тутошним маппером FUZIX), и там я ничего такого с М1 не планирую делать (вот и думаю - не упустил ли чего).
Последний раз редактировалось Error404; 02.03.2017 в 17:42.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Я имею ввиду что при объединении по ИЛИ эти сигналы выполняют данную функцию в Z80. Возможно задел на будущее.
К сожалению с телефона схему не могу посмотреть, как оно там нарисовано.
С помощью /M1 делается запрет выборки устройств сигналом /IORQ. Я полагаю, что это надо если в схеме ЭВМ есть БИС комплекта Z80 (UB855, UB857, UB856) и используются прерывания. Если мне не изменяет память (ЕМНИП), по сигналам /IORQ и /M1 равным 0 БИС комплекта Z80 что-то выдают на шину данных. Причём делают это по цепочке CHAIN с учётом приоритетов. Т.е без сомнения это связано с прерываниями и в машине без INT проблем точно не будет.
Но почему-то во многих ГДР-овских компьютерах, где ещё нет прерываний, сделано точно также. Хотелось бы получить консультацию на эту тему у знатоков. Кто знает зачем /M1 заводят на дешифратор В/У, ведь ни /RD, ни /WR не активны и потому порты не могут повредить, даже если у периферийной БИС адрес случайно совпадёт с адресом на шине. В справочние 'Manfred Kramer, "Datenbuch Mikrorechner Sсhaltkreise", Militaer Verlag der DDR, 1989' указано, что на шину адресов выдаётся содержимое счётчика команд (Befehlszahler).
Последний раз редактировалось barsik; 02.03.2017 в 19:29.
А там есть прерывания?
Мусор читается если в момент чтения все устройства в Z (нет чипселекта) и шина не подтянута резисторами.
Я так понял, /M1 надо добавлять в логику обработки /IORQ для того, чтобы не происходило непланового чтения из портов доступных на чтение, т.к. /IORQ выдается не только для чтения из портов, но и для чтения векторов прерывания (IM2), которые должны читаться реальными, или должен читаться FF, иначе возможен "улет" по несуществующему вектору обработчика прерывания (если вместо FF считается состояние порта).
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)