Soviet Union ZX Spectrum CommunityСреда, 29.03.2023, 12:02
Вы вошли как Гость | Группа "Гости" | RSS
 [ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Soviet Union ZX Spectrum Community » ZX-эксплуатация » Железо » Подключение GS к Дельта-С(75ИС)
Подключение 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!".
"Я никогда не причиняю им зла. Я говорю им правду, и они думают, что это - зло."
Гарри Трумэн
 
Soviet Union ZX Spectrum Community » ZX-эксплуатация » Железо » Подключение GS к Дельта-С(75ИС)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Copyright MyCorp © 2006Сайт управляется системой uCoz