Подключение GS к Дельта-С(75ИС)
| |
Black_Cat | Дата: Суббота, 18.02.2023, 19:40 | Сообщение # 21 |
 Координатор
Группа: Координаторы
Сообщений: 679
Статус: Offline
| Цитата SKV (  ) Под "круговым буфером" я имел в виду "окружающий": Z80 был полностью отделён от Дельты буфером 4*1533АП6 по линиям D0..7, A0..15, [MREQ, M1, RD, WR]. 20 лет назад я собрал этот же окружающий буфер на 4*555АП6 и тоже не смог запустить. Но тогда у меня был слабый блок питания на КРЕН, я списывал на него. Зачем? У тебя что, что-то плохо работало? Буферирование - это мера вынужденная, когда по другому уже никак. Его делают не от хорошей жизни, и уж точно не впрок - шоб було. На Спектруме, почти без негативных последствий можно буферировать только шину данных. Буферирование адресов, и тем более шины управления может привести к проблемам с NemoBus.
Цитата SKV (  ) Схема из статьи "Слотовая система из подручного хлама" ("Чёрная ворона" №5):http://zxdn.narod.ru/hardware/bc05slot.htm УжОс!! Надеюсь ты не повторял этот бред? :)
P.S. И Боже вас всех сохрани, не повторяйте схемы из старой спектрумовской прессы! Лучше изучите вопрос и сами всё разработайте. :)
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
SKV | Дата: Суббота, 18.02.2023, 19:40 | Сообщение # 22 |
 10h
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Да, нестабильно работала моя перепаханная в 128К Дельта + Бета Диск, в лихие 90-е не хватало ни компонентов, ни денег, ни знаний, ни опыта, чтобы понять причину. Блоки питания делали на КРЕНках, у которых номинальный ток 1А. Попалась мне известная статья от НТК+ про буферизацию, с тех пор и держал в уме эту идею.
А о нежелательности буферизации я с тобой согласен, т.к. обе мои попытки отделить Z80 провалились. Теперь рассматриваю эту меру только в применении к внешним устройствам. Осциллограф показывает плохие фронты на шине данных и у основного Z80, и на внутренней шине данных GS. На шине адреса фронты крутые.
Схему из "Чёрной вороны" пока не повторял. Ты имеешь в виду, что тебе не нравится идея с состоянием FF, и надо сделать логику включения буфера данных от арбитра IORQ?
|
|
| |
Black_Cat | Дата: Суббота, 18.02.2023, 19:40 | Сообщение # 23 |
 Координатор
Группа: Координаторы
Сообщений: 679
Статус: Offline
| Цитата SKV (  ) Ты имеешь в виду, что тебе не нравится идея с состоянием FF, и надо сделать логику включения буфера данных от арбитра IORQ? Шина NemoBus затем и существует чтоб исключить конфликты . Чтоб небыло конфликтов, надо всего лишь правильно проектировать устройства в соответствии со спецификацией шины NemoBus, а не городить бредятину из костылей и подпорок. Правильно спроектированные устройства принципиально не могут создавать конфликты. Вот оригинальный GS спроектирован с нарушениями спецификации шины, и если эти ошибки не исправить, то возможны конфликты. И их надо устранять не горожением бреда на шине, а устранением самих ошибок в GS.
Цитата SKV (  ) Осциллограф показывает плохие фронты на шине данных и у основного Z80, и на внутренней шине данных GS. На шине адреса фронты крутые. Буферизацию данных можно делать несколькими способами. Как понимаю, ты пробовал классический, когда между процессором и всем остальным ставится буфер. Для КМОП Z80 это не имеет смысла, т.к. у него нагрузочная способность едва ли не лучше чем у самого буфера, поэтому для компов с NemoBus и рекомендуются КМОП процы, хотя для нМОП, возможно, такой способ и имел бы смысл. Недостатком этого способа является то, что мы практически не получаем выигрыша по коэффициенту разветвления, да ещё приходится городить плату-переходник в панельку процессора с установленными на ней процом и буферами.
В твоём случае проще разделить данные компьютера от данных NemoBus. В этом случае коэф. разветвления увеличивается в дважды, а нагрузка на процессор почти не увеличивается. Буфер конечно лучше ставить на мамке, чтоб не увеличивать ёмкостную нагрузку на проц, но при достаточно коротких проводах можно поставить и на плате NemoBus. Буфер АП6 брать 555 или попробовать 1531, 1530 серии. Переключать направления с помощью исключающего ИЛИ на входы которого подаются RD/ и BUSAK/, таким образом чтоб при захвате шины со стороны NemoBus, направление передачи буфера менялось на противоположное.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
SKV | Дата: Суббота, 18.02.2023, 19:40 | Сообщение # 24 |
 10h
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Цитата Black_Cat (  ) На открытие буфера подать ноль, а вот переключение направления делается с помощью исключающего ИЛИ на входы которого подаются RD/ и BUSAK/, таким образом чтоб при захвате шины со стороны NemoBus, направление передачи буфера менялось на противоположное. Спасибо за ценную и доходчивую информацию, ряд нюансов я не знал. Про буфер данных я давно размышляю, что кроме Z80, нагрузку шины принимают и ROM, и RAM, и все порты чтения. Поэтому шину надо делить буфером так, чтобы образовались два сегмента (внутренний и внешний), как ты и написал.
Но вот по управлению АП6: включаем её на приём по RD, а ответить может память или порт на мамке. Необходимо включать буфер на приём не просто по RD, а по RD + {[IORQ не равно OUT IORQ] или DOS}. У меня за предполагаемым буфером в слотах Beta Disk, GS, Z-Controller. А также думал, не вынести ли за буфер Kempston, AY и порт 7FFD, которые у меня все на дополнительной плате. Порт 7FFD не стоит выносить, наверное?
Сообщение отредактировал SKV - Среда, 15.02.2023, 21:32 |
|
| |
Black_Cat | Дата: Суббота, 18.02.2023, 19:40 | Сообщение # 25 |
 Координатор
Группа: Координаторы
Сообщений: 679
Статус: Offline
| Да, верно, там ЕЩЁ сложнее будет с открытием буфера, где-то так: ((CSR/ (+) RDR/) or (IORQ/ (+) IORQG/) or RD/)/
Добавлено (16.02.2023, 02:48) ---------------------------------------------
Цитата SKV (  ) А также думал, не вынести ли за буфер Kempston, AY и порт 7FFD, которые у меня все на дополнительной плате. Порт 7FFD не стоит выносить, наверное? Ну. в концепции Спектрума порождённой Альтвассером, порты мамки обязаны иметь наинизший приоритет. Но никто не запрещает дублировать какие-то порты внутренних периферийных устройств в устройствах NemoBus. У тебя например rd#FE дублируется даже два раза - в Sinclair Joystick и ZC :)
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
SKV | Дата: Суббота, 18.02.2023, 20:12 | Сообщение # 26 |
 10h
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Цитата Black_Cat (  ) Арбитр можно сделать проще, т.к. спецификация NemoBus допускает подключение к IORQGE одного и того же слота любого количества устройств, если они между собою не конфликтят по дешифрации. В твоём случае http://www.nedopc.org/forum/viewtopic.php?f=35&t=21927 , Синклер джойстики и GS не конфликтуют. И в дешифрации джойстиков А11, А12 лишние, т.к. они и так подаются на джойстики: Валерий, спасибо за отделение темы, это просилось. И за то, что вникаешь в мои доработки. Но ты ошибаешься, полагая, что у меня присутствует третий порт #FE специально для Синклер-джойстиков. Это всё тот же единственный порт #FE на материнской плате Дельты, где джойстики подключены параллельно клавиатуре. Изображённая мной диодная сборка это штатный кусок схемы Дельты. Поэтому в твоей схеме Z-Controller будет перехватывать IORQ по пути в материнскую плату. Моя идея в том, чтобы разблокировать именно порт на материнской плате.
Сообщение отредактировал SKV - Суббота, 18.02.2023, 21:09 |
|
| |
Black_Cat | Дата: Суббота, 18.02.2023, 21:40 | Сообщение # 27 |
 Координатор
Группа: Координаторы
Сообщений: 679
Статус: Offline
| Я правильно понял, что ты используешь Синклер джойстик и PC клавиатуру? И кстати, как у тебя формируется IORQGE BDI? Арбитр у тебя на плате NemoBus разведён?
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
SKV | Дата: Воскресенье, 19.02.2023, 12:13 | Сообщение # 28 |
 10h
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Правильно, PC-клавиатура на ZC и Синклер-джойстики на штатном порту FE мамки. В моей схеме в момент нажатия любой кнопки джойстиков отключается весь ряд клавиш с цифрами у РС-клавиатуры.
IORQGE BDI это сигнал /DOS (инвертирующий выход ТМ2). Он равен единице при активации BDI.
Арбитр 1531ЛЛ1 разведён на плате со слотами, там же микросхемы перехвата джойстиков, за исключением первой ЛА2. -- Спасибо за учёт замечаний в схеме GS. Ты бы не хотел ещё контакты расширителя переименовать? Либо к стандарту расширителя 2МВ (нижний нечётные, верхний чётные). Либо, что на мой вкус самое удобное, к старому стандарту Мучкина: верхний А1..18, нижний В1..18. Сейчас сделано по принципу обхода микросхемы, против часовой стрелки - разъёмы так вроде не нумеруются.
Сообщение отредактировал SKV - Воскресенье, 19.02.2023, 12:28 |
|
| |
Black_Cat | Дата: Понедельник, 20.02.2023, 00:46 | Сообщение # 29 |
 Координатор
Группа: Координаторы
Сообщений: 679
Статус: Offline
| Цитата SKV (  ) IORQGE BDI это сигнал /DOS (инвертирующий выход ТМ2). Он равен единице при активации BDI. А BDI под NemoBus? Т.е. его можно переставлять?
Цитата SKV (  ) Ты бы не хотел ещё контакты расширителя переименовать?Либо к стандарту расширителя 2МВ (нижний нечётные, верхний чётные). Либо, что на мой вкус самое удобное, к старому стандарту Мучкина: верхний А1..18, нижний В1..18. Сейчас сделано по принципу обхода микросхемы, против часовой стрелки - разъёмы так вроде не нумеруются. Да, микросхемная нумерация для PLD непривычна, при сквозной нумерации 1-36 обычно используется нумерация типа змейка. Кстати, тот, кто рисовал схему, был более технически грамотен нежели аффтары, и думал что аффтары нумеровали разъём именно змейкой, и тем самым добавил ещё больше неразберихи в нумерацию на схеме :) . Если переделывать, то более интуитивной является нумерация змейкой - это стандартная нумерация для PLD разъёмов. Нумерация по сторонам более наглядна, но интуитивно не понятно где какая сторона. И ещё надо учитывать при обоих методах, что для папы и мамы стороны меняются местами.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
SKV | Дата: Понедельник, 20.02.2023, 11:47 | Сообщение # 30 |
 10h
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Цитата Black_Cat (  ) А BDI под NemoBus? Т.е. его можно переставлять? Нельзя. У меня все 3 слота разные: 1) Бета диск - вариант "НТК+", разъём ГРПМ1 2) GS - метрический разъём 3) ZC - дюймовый разъём
При наличии GS в слоте после входа в DOS по экрану начинали бежать точки. Этот эффект пропал, когда я заменил основной процессор с Z80A на Z80C0010PEC (вынул из GS, поставив Z80C0020PEC).
При наличии GS в слоте через несколько минут после запуска софта, использующего GS, начинает отваливаться ZC - перестают работать различные кнопки на РС-клавиатуре.
Всё это я связываю с длинной шиной. Приступаю к её укорачиванию.
Сообщение отредактировал SKV - Понедельник, 20.02.2023, 12:14 |
|
| |
Black_Cat | Дата: Понедельник, 20.02.2023, 17:53 | Сообщение # 31 |
 Координатор
Группа: Координаторы
Сообщений: 679
Статус: Offline
| Имхо, ты слишком перестраховался с арбитрированием. Арбитрирование нужно если есть пересечение по дешифрации. У тебя такое пересечение есть только у Кемпстона, что устраняется добавлением сигналов DOS/&IODOS/ в его дешифрацию. Так что BDI вполне можно было уравнять по приоритету с мамкой, уменьшив задержку IORQ/. Можно было бы и ещё улучшить дешифрацию, но глобально не очень нужно, т.к. у тебя всё равно свободных слотов нет.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
SKV | Дата: Понедельник, 20.02.2023, 18:27 | Сообщение # 32 |
 10h
Группа: Пользователи
Сообщений: 16
Статус: Offline
| Это ценная идея, можно переделать разводку IORQ под мою конфигурацию. Считаешь, что задержка IORQ в моей конфигурации слотов может давать критические последствия? GS я доработал по твоей схеме для учёта сигнала RD.
|
|
| |
Black_Cat | Дата: Понедельник, 20.02.2023, 18:39 | Сообщение # 33 |
 Координатор
Группа: Координаторы
Сообщений: 679
Статус: Offline
| По идее, задержка не должна быть критической, но если есть возможность, лучше убрать. На Фениксе, например, и BDI и ZC на мамке с равным приоритетом, но с чуть более сложной дешифрацией чем у тебя.
"Трудно найти чёрную кошку в тёмной комнате.. ...особенно, если её там нет", "Forever!". "Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло." Гарри Трумэн
|
|
| |
|