fifan, А-у-у, есть повод тявкнуть!
Вид для печати
Одно дело в одном месте вставить ссылку на авито, другое - целенаправленно в двух темах, где что-то обсуждают близкое.
Вот засада, заказал у продавана китайца процы P8080A-1, а прислал просто P8080A, а у них максимальная частота всего 2МГц, вместо 3,1МГц.
Конечно и их в опыты. А я то уж собрался даунгредить Ленинград с последующими опытами над Орионом. Но похоже облом, придется искать у других.
Кто покупал P8080A-1, киньтесь ссылкой, чтобы на грабли второй раз не наступить.
P.S. у Павла купил черную плату Орион-Экспресс. Как нибудь на досуге попробую собрать.
- - - Добавлено - - -
Расставил почти все детали
https://i.ibb.co/x3B1qpf/orion-pcb-2.jpg
Mick, сам кинь, добавить продавана в черный список. Идет мне сейчас один 8080, как получу - отпишусь.
https://www.ebay.com/itm/1PCS-P8080A...72.m2749.l2649
Здесь заказывал пару раз,пришло р8080а-1 ,цену сторговал до 150р ,ехало 2 недели. На али заказывал ,один раз р8080а-1 пришло 67р ,но следующий заказ р8080а ,у многих перед покупкой на алике спрашивал - нету говорят первых.На ебэй всё четко.
Почти закончил ввод в P-CAD платы и схемы.
На сей момент заведена схема и связана с печаткой, кое какие замечания из журнала внесены, а также изменен порядок входов микросхем согласно печатной платы.
https://i.ibb.co/py8qwGJ/orion-pcb-3.jpg
Осталось на печатке утолщить некорые линии и чуть их раздвинуть.
Вот не знаю, кто там в диптрейс его завел и когда и где это вообще, но в P-CAD 2002 точно Орион заведен и вот он
https://i.ibb.co/3yPfRrT/Orion-128-pcb-top.jpg
https://i.ibb.co/mFhjXK7/Orion-128-pcb-bot.jpg
Схема в pdf - http://micklab.ru/file/orion/orion_128.pdf
Схема в P-CAD 2002 - http://micklab.ru/file/orion/orion_128_sch.rar
Печатка, связанная со схемой P-CAD 2002 - http://micklab.ru/file/orion/orion_128_pcb.rar
Библиотека P-CAD 2002 - http://micklab.ru/file/orion/orion_lib.rar
Гербер файлы для производства - http://micklab.ru/file/orion/orion_128_gerber.rar
Давно я тут не появлялся, впрочем, комп работал, да и работает до сих пор. Для моих небольших задач его хватает.
Но время идёт и работа с магнитофоном поднадоела, жёсткий диск - я так и не написал ничего толкового для его работы, а суеты с RAM-диском через порт не хочется. В общем, решил я его переделать, с целью изменения организации памяти. Для начала было решено переделать его на статическую память, с выделением видеопамяти в отдельную, что в итоге вылилось в полное выделение видеовывода в отдельный, полностью автономный модуль, для удобства настройки. Ну и соответственно, весь орион стал модульным. :)
Сначала делался видеоадаптер, по старой технологии. Он вырабатывает все выходные сигналы видео, а так же сигналы Ф1, Ф2 (ТТЛ-уровень) и сигнал цепи "87" (по оригинальной схеме), управляется сигналами /SYN (инверсия родного SYN), цепями А0-А13, D0-D7, 76, 92, 93, 94, 95, /RD и новым сигналом /CS4 (выбор участка памяти C000-FFFF). Видеоадаптер полнофункциональный, то есть цветной, чего не было в моём орионе. :)
После этого был сделан модуль процессора, но в этот раз с ЛУТом повезло, царапать не пришлось. Получился он очень простым, так как большая часть деталей оказалась в видеоадаптере. ПЗУ, ОЗУ, ну и дешифраторы адреса и управления.
Не сразу, но оно всё вместе заработало (немного накололся с разграничением сигналов), но в итоге получился модульный Орион со статической памятью, а главное - с возможностью расширения памяти не страницами, а банками по 16кБ, причём, почти неограниченно. :) Теперь ничего не мешает с помощью программируемого дешифратора подключать к каждому диапазону адресов (0000-3FFF, 4000-7FFF и 8000-BFFF) любой банк памяти, причём, не важно какой - ОЗУ, ПЗУ, платы расширения. Хотя и есть ограничения, которые снимаются программируемым матричным коммутатором. С ним любой банк можно подключить к любому диапазону адресов, что вообще создаёт почти непрерывное адресное пространство любой длинны, причём в пределах одной страницы. В данном случае стоит пока что 48кБ памяти (12кБ памяти видео отделены, как и служебные ячейки). В планах сделать модуль ОЗУ/ПЗУ, в который наставить флеш-памяти, ну и/или организовать RAM-диск.
А в общем - сохранена почти полная совместимость с оригинальным Орионом, нет только переключения экранов, а так всё на месте, и страничность памяти, и цвет, не поменялась работа. Разве что теперь вряд ли поставить "Z80-card" на повышенную частоту - скорее всего, не взлетит из-за задержек (местами минимум один логический элемент добавлен, а Ф1 и Ф2 - два).
С монитором немного не получилось, узкое изображение, а так - тупо включённый 16-ти цветный режим. :)
http://ipic.su/img/img7/tn/eo7xezJNBH8.1605034498.jpg http://ipic.su/img/img7/tn/DI7yJL9MG7E.1605034541.jpg http://ipic.su/img/img7/tn/9Vzoq9NHXWY.1605034925.jpg
"- Нормально, Григорий!
- Отлично, Константин!" ;)
Владислав, молодец!!! Первый ОРИОНчик на статике, да еще и модульный. Молодец!
Категорически ;) рекомендую посмотреть в сторону двухпортовой статики - ещё вкусней конфетка из ОРИОНчика получится, и запросто турбировать процик можно.
Хм, по-моему прикрутить статику к Ориону особых проблем нет, только мультиплексоры поменять, да может чуть логики добавить на управление входом /ОЕ. :)
Двухпортовая память, конечно, интересная, но что-то слишком жирно она выглядит для такой конструкции. :) Тем более, видеоконтроллер не тормозит процессор.
Electricman, как всегда по аппаратной части зачёт! :v2_clap2:
По софтверной части пока ничего не понятно, в т.ч. скриншот с "ковром" какой-то неинформативный.
- - - Добавлено - - -
Двухпортовка отлично выглядит для орионинга, имхо. Отвязка "видеокарты" от такта процессора это грамотное решение, и тут двухпортовка очень в тему.
Не забываем ещё один параметр, который в нашем случае всегда намного важнее "проще" и "дешевле": повторяемость/доступность. Я Хабре есть несколько отличных статей по разным DIY устройствам, но абсолютно бессмысленных для нах, т.к. ту элементную базу не достать (или достать но с сильным трудом/дорого). И какой тогда смысл в ЛК, если собран на дорогих дефицитах?
HardWareMan, авторский RAM-диск на 32-х РУ7 для ПРОшки как-то не очень народ собирает :-р
Denn, а ты не путай тёплое с мягким. Есть полезные вещи, а есть - непопулярные.
Только одна видеостраница... :(
1. 128 килограмм видео + 128 килограмм основной памяти: двойной расход памяти (но доступно только 128), двойная нагрузка на шины процика, двойная "дешевизна", двойная "простота", двойная "повторяемость"... Ах да, а мультиплексоры к видеопамяти нужны на адрес и данные? Ну, это вообще супер-"простота"... А ещё и FIFO... Да ещё и на 4 уровня... Дык, это уже гипер-"простота"... И супер-"дешевизна"...
2. Вроде бы и логично. Будь добр, покажи эту схему ("видеоконтроллер со своей памятью, доступной только на запись, и небольшим FIFO - на 4 записей"). Уж очень хочется посмотреть на её "простоту", "дешевизну", "доступность" и "повторяемость" (про эти качества у двухпортовки я уже в курсе, и не только в теории, но и на практике)...
3. "Доступность", "дешевизна" (и "повторяемость"):
3.а) LeoN65816 нашёл и купил (и пятивольтовую и трёхвольтовую), "для себя, любимого, ничего не жалко". ;) Однозначно "повторяемо"!
3.б) andreil нашёл и купил, "для себя, любимого, ничего не жалко", надо узнать у него про "повторяемость".
3.в) AlexBel нашёл и купил, "для себя, любимого, ничего не жалко", надо узнать у него про "повторяемость".
3.г) #1, #2, #3, #4, #5.
LeoN65816, а чего так подгорело то? Алсо Орион не моя тема вообще, хотя МХ2 легко и непринуждённо может быть превращён в Орион.
Мы с коллегой тоже давным давно купили без каких-либо проблем - https://aliexpress.ru/item/32801558331.html
Жаль только нету времени совсем заняться(
>По софтверной части пока ничего не понятно, в т.ч. скриншот с "ковром" какой-то неинформативный.
По софтверной части это всё тот же орион с монитором из 1990/2. Соответственно, самый простой способ попробовать все цвета разом - включить 16ти-цветный режим на рандомных данных из видеоОЗУ. :) Ну а так всё работает и с родной директивой С.
http://ipic.su/img/img7/tn/Cm4tUcGw87A.1605117332.jpg
>Только одна видеостраница...
При большом желании можно сделать и полный функционал, можно сделать и подменные видеостраницы, но лично для меня особого смысла нет. Как минимум из-за сложности дешифрации и адресации того, что задумано.
Ну а почему всё именно так, а не эдак - я предпочитаю обходиться своими запасами, и из этого всё проектирую под это. Двухпортовая память, конечно, интересна, особенно в плане "игр" со всякими идеями, не только на базе ориона, в которые она вписалась бы идеально, но заказывать, ждать... Когда под рукой одной статики на 1024кБ. :) Я молчу про постоянную память, которой у меня где-то на 70мБ (из которых 50 - в виде флеша).
Ну, на орионе с РУ5 у меня вертикальное распределение, а так - не критично же. Да и зависит от марки микросхемы, у тех же 61256 в видео упорядоченность есть, но совсем другая, и отличается от основной памяти, собранной на 6512.
Ну вот, конечно модульный орион, как я и предполагал, окажется вещью в себе. :)
То ли погода поменялась, то ли фаза луны - в общем, происходит наложение банков памяти друг на друга. А всё потому, что адреса меняются быстрее, чем работает вся связка "арбитр + управление чтением/записью ОЗУ" (DD13.2, DD16, DD29). В результате адрес меняется чуть раньше, чем кончится сигнал записи в ОЗУ. А ввиду нынешней организации памяти - деление первой страницы на 4 банка, получается, что адреса А0-А13 накладываются, и при записи в ячейку 0000 что-то успевает записаться по адресу C000. Всё это потому, что дешифрация банков происходит примитивно - дешифратор по адресам А14-15. Либо надо как-то латчить адреса перед дешифратором, тем более, там происходит нездоровое движение. Либо чуть сдвигать SYN, чтобы сигналы "/MEMWR" (линии 92 и 93) успевали кончиться раньше, чем сигнал доступа к памяти, всё равно они формируются косвенным путём.
Таки нашёл ошибку. Вполне очевидную, но как-то это работало нормально. :) В общем, чуть подумав при сборке, что к видеоОЗУ обращается либо видеоконтроллер, либо процессор, я решил чуть упростить схему и посадил вход /CS микросхем на низкий уровень, правда через элемент 2И, так как он был установлен до упрощения. Ну и ввиду этого получилось, что банк видеоОЗУ был выбран всегда, и ничем не квитированный по адресам банков сигнал записи 93 всегда записывал информацию в видеоОЗУ, независимо, от того, по какому адресу происходила запись. И выходило, что записывая в ячейку 0000, происходила запись и в ячейку С000. Решение - квитировать какой-нибудь сигнал. Ну и самым простым оказалось использовать уже стоящий элемент 2И, на один вход - цепь "70", на другой - мой сигнал /CS C000, то есть выбор видеоОЗУ (ну и служебных ячеек). Ну и соответственно, сигнал выбора микросхемы стал падать в ноль либо при работе видеочасти (70 - низкий уровень), либо при обращении к этому банку (/CS С000 - низкий). В остальные моменты /CS видеоОЗУ всегда высокий. Теперь при редактировании памяти мусора на экране не появляется.
Что странно, но квитирование сигнала записи 93 через элемент 2ИЛИ так и не заработало, хотя в теории нет никаких ограничений - низкий уровень выбора банка и низкий уровень цепи 93 однозначно дадут низкий уровень на входе элемента ИЛИ. Но увы, побороть это не получилось.
Ну, и так, для размышления - простая замена DRAM на SRAM в классическом орионе проблем вызывать не должна. /CS там всегда либо на земле для микросхемы 64кБ, либо на адресе А15 и /А15 для двух микросхем 32кБ. /WE - цепь 93 (92 для второй страницы видеопамяти). Вот с /ОЕ чуть посложнее - через элемент 2И объединить цепи 70 и 73 - /ОЕ будет активен только при чтениях процессором и видеоконтроллером, при записи будет неактивен. Впрочем, тут есть выбор - цепи 74 и 87 с элементом 2И-НЕ
В общем, распыляюсь на кучу проектов, что-то движется, что-то нет. В общем, модульный Орион работает, но капризничает, поэтому расширить память пока не получается, а точнее не хочется, пока не исправлю глюки. :( В общем, нет-нет, да и происходит наложение ячеек друг на друга. И стробирование адреса перед дешифратором не помогает. В общем, пока думаю, что тут сделать, из всех мыслей - либо укоротить сигналы записи в память, либо конкретно подтянуть шину данных резисторами, что особо не поможет в данном случае.
Ну и ещё - прикрутил к своему "классическому" Ориону ВН59, ВВ51 и ещё один дешифратор, разбивающий порт F400. Как выяснилось, прикрутить контроллер прерываний оказалось не так просто - пришлось делать формирователь сигнала /STB, сигнала /INTA и удлинитель сигнала INT. Но заработало. Для УСАППа был приделан таймер ВИ53, но он не понадобился, невесть откуда выпаянный кварцевый генератор на 7.3728МГц после деления на 48 даёт необходимые 153.6кГц для асинхронного режима 1/16 со скоростью 9600 бод.
Может и тоскливая, но уж шустрее порта магнитофона. :) Впрочем, сливаются 2кБ монитора на обычный комп довольно быстро (хотя и подторможено програмно, чтобы не записать в порт раньше, чем он передаст - прерывания ещё не задействованы).
9600 это же чуть больше 1 кибибайта в секунду. Вполне оправданная скорость для объемов памяти Ориона. Магнитофон в 8 раз медленнее.
Ну почему, у меня до сих пор кассета+маяк232... :)
На деле у меня уже давно сделан модуль жёсткого диска, сейчас адаптировал его под новую дешифрацию - теперь он висит по адресам F420-F42F, написаны подпрограммы чтения-записи, считывает-пишет 2кБ мгновенно. :) Только не окультурено это общей подпрограммой сохранения-загрузки.
В общем, схема КНЖМД, хотя на деле просто преобразователь интерфейса. Упрощённый, поэтому потерян регистр DA. Но можно и упростить ещё, если открывать ВА86 только через /CS0-/CS1. Уже не помню, зачем объединил их с сигналами /RD и /WR. Микросхемы - сборная солянка 1533ЛИ1, ЛН1/155ЛЕ1, дешифратор вообще 54138. :)
http://ipic.su/img/img7/tn/MzLlKjdC8Nk.1609421152.jpg
Читал тут ночью форум, захотелось попробовать и НГМД, но столько траблов с ними. Впрочем, из 3х десятков дискет нет ни одной живой, ПиСишка ругается на "бэд 0 трэк" при попытке форматирования. Уже с десяток приводов накопал и попробовал, всё одно, не хотит. Либо дискеты записанные спеком и БКшкой по особому форматнуты, либо просто осыпались уже. Впрочем, это не отменяет того, что это всё баловство - если жёсткий диск ещё кое-как можно использовать под аналог магнитофона, с записью в тетрадку "адреса", то с дискетами таки нужна какая-никакая операционка. :)
А ещё хочется сделать преобразователь для SCSI, но в отличие от управления жёсткими дисками по IDE, на скази ничего не нашёл внятного.
Правилом хорошего тона является буферизация шин ПРК, которые идут непосредственно в интерфейс IDE (RD, WR, DA0..2), т.к. внутри накопителя они довольно жестоко (300 ом и менее) терминированы к питанию.
А так это получился фактически NEMO_IDE, который почему-то работает не со всеми экземплярами накопителей.
Про терминацию я не подумал. :( Ну ладно, наляпать буфер можно, это не проблема.
Про немо_иде я слышал, но схему глянул совсем недавно. У меня он долгое время вообще был 8-битным, код записи-считывания получался наипростейший. :)
А так - и мой работает не со всеми винтами, точнее, работает, но ошибки при считывании. Конец считанного блока добит какими-то левыми байтами. Но проблемы возникают только при дисках, способных LBA самостоятельно. На мелких дисках (до 1.61Гб включительно) ошибок нет, КС сходятся.
Ну вот, и дорос я до ОС от Denn'а. Всё заработало и даже не виснет. :)
В общем, трудности начались с самого начала - даже закатать образ в ПЗУ оказалось проблемой. Пришлось передавать бинарник в орион на скорости 2.4кБод и программировать ПЗУ сходу. Правда, я чуть ошибся и программировалась ПЗУшка неправильно, но в конце-концов всё было проверено, КС сошлись.
Долго не мог запустить на своём модульном орионе - вис при загрузке с кучей видеоэффектов, изредка выдавая осмысленную информацию. Возня с модульным компом настолько надоела, что мой стандартный орион был восстановлен до версии 128, каким и был изначально. На нём ОС заработала, но при расширении памяти до 256кБ снова возникли проблемы. Комп снова стал временами виснуть, но ОС всё же запускалась и работала какое-то время. То есть все проблемы вокруг да около ОЗУ. Тесты памяти 128 и 256 ошибок на модульном орионе не показывали, а вот на классическом орионе тест 256 стал временами браковать 2ую (цветовую) страницу. Тут я познал не особо хорошую регенерацию в орионе, ведь 1ая страница на РУ5, а вторая - на SIMM-30 (а третья и четвёртая - вообще статика).
Но в конце-концов всё было побеждено на модульном орионе, как ни странно - достаточно оказалось отвязать все 4 страницы ОЗУ (где нет видеопамяти) от ШД с помощью буфера ВА86. После этого всё заработало как часы. В результате получился орион с памятью 320кБ, из которых доступен стандартный объём (2 по 48 и 2 по 60кБ). Правда, память тут уже сложнее расширить до 512кБ стандартным способом, а нестандартным способом может расширяться практически неограниченно. :)
Огромное спасибо Denn'у за помощь и подсказки. :)
http://ipic.su/img/img7/tn/NHai1k-LCwg.1610895425.jpg
Увы, 320кб там "маркетинговых. На деле всё те же 256, только 32кБ вообще никак недоступны, а другие 32 затенены видеопамятью. И их никак не использовать из-за особенностей архитектуры. :(