nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 23 Apr 2024 23:47



Reply to topic  [ 20 posts ]  Go to page 1, 2  Next
Универсальная плата расширения 

Идея
Заставляет задуматься 17%  17%  [ 1 ]
Интересно, не более 0%  0%  [ 0 ]
Пустая трата времени 17%  17%  [ 1 ]
Опоздала лет на 40 50%  50%  [ 3 ]
Абсолютная чушь 17%  17%  [ 1 ]
Total votes : 6

Универсальная плата расширения 
Author Message
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 317
Location: Tashkent
Reply with quote
отсюда
Так как большинство серийных ПЭВМ имело набор разных карт расширения, хотелось бы иметь нечто подобное и под РАДИО-86РК.
В своё время различные источники (журналы Радио или Радиолюбитель) публиковали схемы с модификацией дешифрации адреса, внося в саму схему РЛК коррективы.

Данная тема - совсем о другом...

Из личных опытов (частично проверенных на своём КР-03 в железе) было замечено:
  1. К580ВВ55 при чтении 8003 возвращает FE или FF
  2. К580ВТ57 игнорирует запись в E009-E00F
  3. К580ВГ75 игнорирует запись в C000 без предварительной команды в C001
Первые два пункта я проверил более-менее (видимо в ВТ57 стоит нечто типа К155ИД6, который первые девять комбинаций использует; а ВВ55 нужно ещё проверить на импенданс при непредусмотренном чтении режима, можно ли сажать его ШД на "ноль" и откуда берётся "рандом" между FF и FE тогда?), а вот до записи в C000 всякого "мусора" - ещё руки не доходят (в Emu80 это просто игнорируется).

Что мы при этом получаем?
(В двоичном коде будет яснее):
  • 10XX_XXXX_XXXX_XX11 - 8003..BFFF на чтение до 4 Кб с шагом по 4 байта
  • 110X_XXXX_XXXX_XXX0 - C000..DFFE на запись до 4 Кб с шагом по 2 байта (в эмуляторе у меня там перезаписывается знакогенератор как "вариант#2")
  • 111X_XXXX_XXXX_1YYY - E009..FFFF на запись до 3.5 Кб (3584 байтов) с шагом по 16 байтов (в эмуляторе у меня там перезаписывается знакогенератор как "вариант#1")
То есть, не ломая нативную схему дешифрации того же (моего) КР-03, можно прямо в параллель ВВ55/ВТ57/ВГ75 включать свои дополнительные интерфейсы.
(Не нарушая нативной целостности архитектуры...)

Тем самым, теоретически, можно ли просто разработать под все РК-совместимые ПК универсальную плату расширения, подключаемую в параллель всей цельной (не перерезая ни одной дорожки!) схемы?
(Так как ПЗУ знакогенератора обычно на панельке, схема перезагружаемого знакогератора, вставляемая в панельку, не нарушает целостность!)

P.S.: Всё пока на уровне теории.
Но не прочь обсудить каждый из пунктов.


24 Jan 2024 09:41
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22568
Location: Silicon Valley
Reply with quote
Я уже где-то озвучивал своё мнение по поводу нахлобучек на классические РК - проблема в том, что их в рабочем состоянии практически не осталось :)
Например в 90-е это бы ещё имело бы смысл (см. тех же Акименко, Толкалина и т.д.), а в 20-е годы XXI века - уже вряд ли.
В наше время намного проще развести абсолютно новую плату, воткнув туда вообще любые хотелки, заказать её оч.дёшево у китайцев в количестве 5 штук и спокойно собирать компьютер своей мечты :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


24 Jan 2024 10:37
Profile WWW
Doomed

Joined: 10 Aug 2022 07:27
Posts: 356
Reply with quote
Shaos wrote:
В наше время намного проще развести абсолютно новую плату, воткнув туда вообще любые хотелки, заказать её оч.дёшево у китайцев в количестве 5 штук и спокойно собирать компьютер своей мечты :mrgreen:

А какой он у тебя "компьютер твоей мечты"? И в чём его прелесть?
В своё время склепал контроллер на z80 с видео на 8275. Ну так это бизнес был. И люди были довольны, и все. А тут? Заради чего? Мне понять сложно...


24 Jan 2024 11:00
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22568
Location: Silicon Valley
Reply with quote
Всё заради славы :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


24 Jan 2024 13:09
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 317
Location: Tashkent
Reply with quote
Интересный вопрос появился.
Если в журнале РАДИО за 1993 год публиковалась схема КНГМД с ПЗУ на E000-EFFF, то возникает некий нюанс.
После "Сброса" тригерром ТМ2 блокируется ИД7 до прихода A15 и DBIN, принудительно активируя выборку ПЗУ Монитора. Само ПЗУ обычно дублируется четыре раза по диапазону E000-FFFF. Получается, процессором после Сброса считывается команда JMP F836 с адреса 0000 и именно JMP снимает блокировку ИД7.
(Иначе говоря, после Сброса ПЗУ с командой JMP 0036 также сработает в пределах ПЗУ, но ИД7 при этом не включается и всё РК'шное адресное пространство остаётся в "тени".)

Что получается?
  1. Заменив РФ2 на РФ4 на месте (без всяких КНГМД), Монитор будет стартовать с адреса E000 (формально: Логически - с 0000), тем самым, код нужно планировать со стартовой позиции по E000
  2. Если заменить РФ2 на своё или на РУ8/РУ10, при условии, что старшие 32 Кб мы не будем никак "трогать", процессор будет продолжать работать в "вакууме" (без ОЗУ, ПДП, ППА и т.д.) и все нижние 32 Кб можно искусственно "на макетке" создать свои (схема РК превратится в "отладочный комплекс")
Вот "Момент #2" - самый любопытный!
Так как без перерезания дорожек мы имеем отключенный ИД7 и полные 32 Кб под своё распоряжение.
Под "универсальную плату расширения" этот "режим" тоже надо учитывать!


26 Jan 2024 03:36
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22568
Location: Silicon Valley
Reply with quote
Для того, чтобы стартовать с E000, придётся "резать дорожки" :)
Ну либо сразу собирать себе RK86-SRAM32K :idea:

_________________
:dj: https://mastodon.social/@Shaos


26 Jan 2024 10:09
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 317
Location: Tashkent
Reply with quote
Shaos wrote:
Для того, чтобы стартовать с E000, придётся "резать дорожки" :)
При внимательном изучении схемы (хотя бы тут, где лишь узел ВГ75 сильно пострадал), хорошо видно, что выборка ПЗУ D17 вырабатывается элементом D4.3, который смешивает сигналы от D11 вывод 7 и D13.1* вывод 5.
*хотя на схеме указан D13.2, по нумерации выводов понятно, что это D13.1 (опечатка)

Тем самым, ПЗУ Монитора выбирается при нажатии на кнопку Сброса, когда сбрасывается и D13.1. А так как процессор стартует с адреса 0000, то "притянутый за уши" ПЗУ насильно подключён к процессору. Из ПЗУ читаются три байта C3 36 F8 и процессор их читает при счётчике команд PC из 0000, 0001 и 0002. И только когда команда прочитана целиком и в PC записывается адрес F836, процессор следующую команду читает из адреса F836, вырабатывая "1" на DBIN и A15, которые идут через элемент D10.1 и устанавливают триггер D13.1* в "1", что разрешает работу дешифратора D11 и "отпускает уши" ПЗУ D17.

А так как в оригинальной схеме ПЗУ D17 объёмом в 2 Кб подключено к ИД7 с параграфом в 8 Кб, оно дублируется в памяти четыре раза: E000-E7FF, E800-EFFF, F000-F7FF, F800-FFFF.
Тем самым, если перетранслировать код Монитора на посадку в любые эти четыре "зеркала", он нормально запустится и будет работать.

А вся суть в том, что если в ПЗУ прямо сейчас прошить подобный код:
Code:
     .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
0000 C3 03 00 21 20 00 16 FF 7E B7 CA 03 00 FB 3C C2
0010 0E 00 7E F3 3C C2 14 00 15 C2 08 00 23 C3 06 00
0020 7B BD DE EF F7 89 C4 E2 F1 F8 96 CB E5 F2 F9 00
Вставить на место ПЗУ Монитора в РК-совместимый (максимально совместимый по схеме в указанных выше нюансах), то он будет работать с адреса 0000 совершенно нормально. При этом ИД7 будет продолжать быть "запертым".


26 Jan 2024 12:01
Profile WWW
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
Запустится, но нормально работать не будет, потому что после сброса есть доступ только к ПЗУ, независимо от старших битов адреса. К ОЗУ доступа нет, а с ним нет и стека. Ввода-вывода тоже никакого нет, так что настроить ПДП не удастся. Ну а дальше любое чтение по любому адресу в верхних 32к - например, чтение из регистров ВГ75, которую Монитор настраивает в самом начале - включает ИД7 и возвращает распределение адресов в норму.


26 Jan 2024 14:02
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 317
Location: Tashkent
Reply with quote
alexcp wrote:
Запустится, но нормально работать не будет, потому что после сброса есть доступ только к ПЗУ, независимо от старших битов адреса. К ОЗУ доступа нет, а с ним нет и стека. Ввода-вывода тоже никакого нет, так что настроить ПДП не удастся.
Тем самым, если вместо ПЗУ Монитора вставить свою платку и подтянуть к ней линии A11-A14, то теоретически можно подключить и схему адресного пространства ZX81, заимев 1 Кб ОЗУ (без графики, так как она требует A15)?

Верно ли я понимаю (о чём и сама эта тема), что собрав на макетке свою схему с ПЗУ, ОЗУ (К537РУ8) - можно сам КР-03 использовать как "испытательный стенд" (типа УМК) для экспериментов, "вертясь" в нижних 16 Кб (подключив ВГ75 по своей схеме, например)?
Естественно, не перерезав ни одной дорожки!
alexcp wrote:
Ну а дальше любое чтение по любому адресу в верхних 32к - например, чтение из регистров ВГ75, которую Монитор настраивает в самом начале - включает ИД7 и возвращает распределение адресов в норму.
Вот именно, что ПДП и ВГ75 можно запустить только командами записи! :roll:
(Код F3 поможет выровнять цикл ПДП под экран.)

То есть, вставив в панельку под ПЗУ Монитора свою макетку с ОЗУ и ПЗУ, можно добиться и запуска отображения дисплея (не читая статуса ВГ75) и даже настроить ВВ55 и выводить на магнитофон звук с морганием индикатора "Рус/Lat"!
А это уже не так и мало... :wink:
Причём, вписывается в концепцию "универсальной платы расширения + отладки", позволяя экспериментировать с разработкой собственной архитектуры!


26 Jan 2024 14:21
Profile WWW
Senior
User avatar

Joined: 11 Jun 2012 07:30
Posts: 128
Reply with quote
Спорить не буду, но соглашусь с Шаосом - чем плясать от существующей железки, проще сделать новую. Благо дефицитные 40 лет назад микросхемы теперь (все еще) весьма доступны. Правда, кто и зачем будет писать софт под все это великолепие?


26 Jan 2024 16:42
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22568
Location: Silicon Valley
Reply with quote
alexcp wrote:
Правда, кто и зачем будет писать софт под все это великолепие?
Ну "кто девушку ужинает, тот её и танцует" :lol:
т.е. перефразируя классика - кто железо сделал, тот и софт пишет :)
Я например под свои расширения планирую сам пописать...

_________________
:dj: https://mastodon.social/@Shaos


26 Jan 2024 17:58
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 317
Location: Tashkent
Reply with quote
alexcp wrote:
Спорить не буду, но соглашусь с Шаосом - чем плясать от существующей железки, проще сделать новую. Благо дефицитные 40 лет назад микросхемы теперь (все еще) весьма доступны. Правда, кто и зачем будет писать софт под все это великолепие?
В рамках разработки собственной архитектуры, нужна некая удобная готовая платформа. А окромя РАДИО-86РК я других и не знаю. :no:

Т.е. для меня РК будет работать как отладочный стенд.
УПС!
Вообще-то тема не про отладку, а про расширение!

А все эти "трюки с дешифрацией" - поиск оптимальных решений с минимумом переделок самого РК.
Вот, очень кстати, на мой взгляд, плата расширения с собственным ПЗУ и ОЗУ, которое может производить диагностические процедуры и прочие настройки.
Т.е. после первого Сброса, перед передачей управления Монитору, пока в ОЗУ - один лишь квантовый мусор, таким образом может запускаться ПЗУ с платы расширения и, типа, запрашивать пароль к сети WiFi, чтобы потом директивы I/O Монитора могли принимать/передавать файлы в сетевой ресурс...
Или эмулировать ROM-диск, чтобы по директиве R подгружать данный с сетевого ресурса (пусть даже с Raspberry Pi Zero).

Здесь необходимо будет сосредоточиться на разработке оболочек и прочего ПО под это дело.
(Пока я купил BlueTooth Receiver, чтобы избавиться от проблем с переходниками и статическим паразитным электричеством при передаче магнитофонных файлов.)


27 Jan 2024 01:00
Profile WWW
Senior

Joined: 01 Jan 2022 04:34
Posts: 170
Location: USSR, Tashkent
Reply with quote
у РКшки всего 32кило памяти
прог занимающих этот объем нет
так что просмотреть прогу на предмет обращения к переферии не проблема (это не мегабайты как для виды/линукса дезассемблировать )

поэтому проще сделать все по новой чем пытаться что то изменить не обрезая проводники
и опять таки нафиг 8080 с 3мя питаниями, проще з80

ностальжи должно быть в меру
РК не синклер и даже не спец


27 Jan 2024 02:48
Profile
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 317
Location: Tashkent
Reply with quote
imsushka wrote:
у РКшки всего 32кило памяти
прог занимающих этот объем нет
так что просмотреть прогу на предмет обращения к переферии не проблема (это не мегабайты как для виды/линукса дезассемблировать )

поэтому проще сделать все по новой чем пытаться что то изменить не обрезая проводники
и опять таки нафиг 8080 с 3мя питаниями, проще з80

ностальжи должно быть в меру
РК не синклер и даже не спец
Именно потому тот же Синклер с инженерной точки зрения не так интересен (собрал, отладил, загрузил, запустил, поиграл и... забыл), как Микро-80 и Радио-86РК. :mrgreen:
(У меня в 90-е КР-03 постоянно ломался и приходилось пропаивать. Тогда как ZX-Spectrum с десятками кассет стоял в углу стола и играл музыку: Лучшего применения не нашлось... :roll: )


27 Jan 2024 03:31
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22568
Location: Silicon Valley
Reply with quote
imsushka wrote:
у РКшки всего 32кило памяти

в моём варианте 128кило памяти :)

imsushka wrote:
и опять таки нафиг 8080 с 3мя питаниями, проще з80

на такой частоте 580ВМ80А может и на одном питании выдюжить ;)

_________________
:dj: https://mastodon.social/@Shaos


27 Jan 2024 03:42
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 20 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 16 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.