Просмотр полной версии : Орион-128: Разное
Electricman, как всегда по аппаратной части зачёт! :v2_clap2:
По софтверной части пока ничего не понятно, в т.ч. скриншот с "ковром" какой-то неинформативный.
- - - Добавлено - - -
Двухпортовая память, конечно, интересная, но что-то слишком жирно она выглядит для такой конструкции. :) Тем более, видеоконтроллер не тормозит процессор.
Двухпортовка отлично выглядит для орионинга, имхо. Отвязка "видеокарты" от такта процессора это грамотное решение, и тут двухпортовка очень в тему.
HardWareMan
11.11.2020, 12:42
Двухпортовка отлично выглядит для орионинга, имхо. Отвязка "видеокарты" от такта процессора это грамотное решение, и тут двухпортовка очень в тему.
Достаточно сделать отдельный видеоконтроллер со своей памятью, доступной только на запись, и небольшим FIFO - на 4 записей и всё, полная отвязанность от процессора. А у процессора своё ОЗУ, которое будет работать на его скорости. Я думал это уже пережёвано и выплюнуто.
Достаточно сделать отдельный видеоконтроллер со своей памятью, доступной только на запись, и небольшим FIFO - на 4 записей и всё
Да, и сделать это на двухпортовке намного проще и дешевле, чем лепить практически вторую маму Ориона ;)
П.С. читать из видео-ОЗУ тоже нужно!
читать из видео-ОЗУ тоже нужно!
Если писать параллельно и в озу проца и в видеопамять, то не нужно.
HardWareMan
11.11.2020, 14:32
Да, и сделать это на двухпортовке намного проще и дешевле
Не забываем ещё один параметр, который в нашем случае всегда намного важнее "проще" и "дешевле": повторяемость/доступность. Я Хабре есть несколько отличных статей по разным DIY устройствам, но абсолютно бессмысленных для нах, т.к. ту элементную базу не достать (или достать но с сильным трудом/дорого). И какой тогда смысл в ЛК, если собран на дорогих дефицитах?
HardWareMan, авторский RAM-диск на 32-х РУ7 для ПРОшки как-то не очень народ собирает :-р
HardWareMan
11.11.2020, 16:06
Denn, а ты не путай тёплое с мягким. Есть полезные вещи, а есть - непопулярные.
Есть полезные вещи, а есть - непопулярные.
В чём польза ещё одного Ориона, но в виде отдельных модулей? А памяти, как известно, много не бывает...
HardWareMan
11.11.2020, 18:01
В чём польза ещё одного Ориона, но в виде отдельных модулей? А памяти, как известно, много не бывает...
А в чём польза Сябра в соседнем разделе? Что касается памяти, то я так скажу: мне на Орионе вторая страница нужна была только как диск B, с которым работали программы и который учавствовал в обмене с дисководом. Какой реально используемый софт использует хотя-бы 256К?
LeoN65816
11.11.2020, 18:06
Electricman, как всегда по аппаратной части зачёт! :v2_clap2:
Только одна видеостраница... :(
Достаточно сделать отдельный видеоконтроллер со своей памятью, доступной только на запись,
1. 128 килограмм видео + 128 килограмм основной памяти: двойной расход памяти (но доступно только 128), двойная нагрузка на шины процика, двойная "дешевизна", двойная "простота", двойная "повторяемость"... Ах да, а мультиплексоры к видеопамяти нужны на адрес и данные? Ну, это вообще супер-"простота"... А ещё и FIFO... Да ещё и на 4 уровня... Дык, это уже гипер-"простота"... И супер-"дешевизна"...
и небольшим FIFO - на 4 записей и всё, полная отвязанность от процессора.
2. Вроде бы и логично. Будь добр, покажи эту схему ("видеоконтроллер со своей памятью, доступной только на запись, и небольшим FIFO - на 4 записей"). Уж очень хочется посмотреть на её "простоту", "дешевизну", "доступность" и "повторяемость" (про эти качества у двухпортовки я уже в курсе, и не только в теории, но и на практике)...
Не забываем ещё один параметр, который в нашем случае всегда намного важнее "проще" и "дешевле": повторяемость/доступность.
3. "Доступность", "дешевизна" (и "повторяемость"):
3.а) LeoN65816 нашёл и купил (и пятивольтовую и трёхвольтовую), "для себя, любимого, ничего не жалко". ;) Однозначно "повторяемо"!
3.б) andreil нашёл и купил, "для себя, любимого, ничего не жалко", надо узнать у него про "повторяемость".
3.в) AlexBel нашёл и купил, "для себя, любимого, ничего не жалко", надо узнать у него про "повторяемость".
3.г) #1 (https://aliexpress.ru/af/idt7028l15pfi.html?d=y&origin=n&SearchText=idt7028l15pfi&catId=0&initiative_id=SB_20201111063842), #2 (https://aliexpress.ru/af/cy7c028.html?d=y&origin=n&SearchText=cy7c028&catId=0&initiative_id=SB_20201111063954), #3 (http://www.pro-electr.net/prod/idt7028l15pf8/1698544), #4 (http://www.pro-electr.net/prod/cypress-semiconductor/cy7c028-15axc/1662607), #5 (http://www.pro-electr.net/prod/cy7c028-20ai/1358570).
HardWareMan
11.11.2020, 18:41
LeoN65816, а чего так подгорело то? Алсо Орион не моя тема вообще, хотя МХ2 легко и непринуждённо может быть превращён в Орион.
3.а) LeoN65816 нашёл и купил (и пятивольтовую и трёхвольтовую), "для себя, любимого, ничего не жалко". ;) Однозначно "повторяемо"!
3.б) andreil нашёл и купил, "для себя, любимого, ничего не жалко", надо узнать у него про "повторяемость".
3.в) AlexBel нашёл и купил, "для себя, любимого, ничего не жалко", надо узнать у него про "повторяемость".
3.г) #1 (https://aliexpress.ru/af/idt7028l15pfi.html?d=y&origin=n&SearchText=idt7028l15pfi&catId=0&initiative_id=SB_20201111063842), #2 (https://aliexpress.ru/af/cy7c028.html?d=y&origin=n&SearchText=cy7c028&catId=0&initiative_id=SB_20201111063954), #3 (http://www.pro-electr.net/prod/idt7028l15pf8/1698544), #4 (http://www.pro-electr.net/prod/cypress-semiconductor/cy7c028-15axc/1662607), #5 (http://www.pro-electr.net/prod/cy7c028-20ai/1358570).
Мы с коллегой тоже давным давно купили без каких-либо проблем - https://aliexpress.ru/item/32801558331.html
Жаль только нету времени совсем заняться(
Electricman
11.11.2020, 21:36
>По софтверной части пока ничего не понятно, в т.ч. скриншот с "ковром" какой-то неинформативный.
По софтверной части это всё тот же орион с монитором из 1990/2. Соответственно, самый простой способ попробовать все цвета разом - включить 16ти-цветный режим на рандомных данных из видеоОЗУ. :) Ну а так всё работает и с родной директивой С.
http://ipic.su/img/img7/tn/Cm4tUcGw87A.1605117332.jpg (http://ipic.su/img/img7/fs/Cm4tUcGw87A.1605117332.jpg)
>Только одна видеостраница...
При большом желании можно сделать и полный функционал, можно сделать и подменные видеостраницы, но лично для меня особого смысла нет. Как минимум из-за сложности дешифрации и адресации того, что задумано.
Ну а почему всё именно так, а не эдак - я предпочитаю обходиться своими запасами, и из этого всё проектирую под это. Двухпортовая память, конечно, интересна, особенно в плане "игр" со всякими идеями, не только на базе ориона, в которые она вписалась бы идеально, но заказывать, ждать... Когда под рукой одной статики на 1024кБ. :) Я молчу про постоянную память, которой у меня где-то на 70мБ (из которых 50 - в виде флеша).
http://ipic.su/img/img7/tn/Cm4tUcGw87A.1605117332.jpg (http://ipic.su/img/img7/fs/Cm4tUcGw87A.1605117332.jpg)
ОЗУ странное, обычно не такое распределение 00 и FF при включении.
HardWareMan
12.11.2020, 11:25
ОЗУ странное, обычно не такое распределение 00 и FF при включении.
Это зависит от физического роутинга AD0-AD7 РУ5х на V0-V7 синхрогенератора. Поэтому паттерн немного разный у Ориона, Специалиста и РКшки. Статика так вообще 55/АА при включении имеет (+ всё те же редкие вкрапления).
Electricman
12.11.2020, 11:34
Ну, на орионе с РУ5 у меня вертикальное распределение, а так - не критично же. Да и зависит от марки микросхемы, у тех же 61256 в видео упорядоченность есть, но совсем другая, и отличается от основной памяти, собранной на 6512.
Electricman
24.11.2020, 00:18
Ну вот, конечно модульный орион, как я и предполагал, окажется вещью в себе. :)
То ли погода поменялась, то ли фаза луны - в общем, происходит наложение банков памяти друг на друга. А всё потому, что адреса меняются быстрее, чем работает вся связка "арбитр + управление чтением/записью ОЗУ" (DD13.2, DD16, DD29). В результате адрес меняется чуть раньше, чем кончится сигнал записи в ОЗУ. А ввиду нынешней организации памяти - деление первой страницы на 4 банка, получается, что адреса А0-А13 накладываются, и при записи в ячейку 0000 что-то успевает записаться по адресу C000. Всё это потому, что дешифрация банков происходит примитивно - дешифратор по адресам А14-15. Либо надо как-то латчить адреса перед дешифратором, тем более, там происходит нездоровое движение. Либо чуть сдвигать SYN, чтобы сигналы "/MEMWR" (линии 92 и 93) успевали кончиться раньше, чем сигнал доступа к памяти, всё равно они формируются косвенным путём.
Electricman
24.11.2020, 18:52
Таки нашёл ошибку. Вполне очевидную, но как-то это работало нормально. :) В общем, чуть подумав при сборке, что к видеоОЗУ обращается либо видеоконтроллер, либо процессор, я решил чуть упростить схему и посадил вход /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И-НЕ
Electricman
28.12.2020, 16:47
В общем, распыляюсь на кучу проектов, что-то движется, что-то нет. В общем, модульный Орион работает, но капризничает, поэтому расширить память пока не получается, а точнее не хочется, пока не исправлю глюки. :( В общем, нет-нет, да и происходит наложение ячеек друг на друга. И стробирование адреса перед дешифратором не помогает. В общем, пока думаю, что тут сделать, из всех мыслей - либо укоротить сигналы записи в память, либо конкретно подтянуть шину данных резисторами, что особо не поможет в данном случае.
Ну и ещё - прикрутил к своему "классическому" Ориону ВН59, ВВ51 и ещё один дешифратор, разбивающий порт F400. Как выяснилось, прикрутить контроллер прерываний оказалось не так просто - пришлось делать формирователь сигнала /STB, сигнала /INTA и удлинитель сигнала INT. Но заработало. Для УСАППа был приделан таймер ВИ53, но он не понадобился, невесть откуда выпаянный кварцевый генератор на 7.3728МГц после деления на 48 даёт необходимые 153.6кГц для асинхронного режима 1/16 со скоростью 9600 бод.
...со скоростью 9600 бод.
Тоскливая скорость, кстати..
Electricman
28.12.2020, 22:28
Может и тоскливая, но уж шустрее порта магнитофона. :) Впрочем, сливаются 2кБ монитора на обычный комп довольно быстро (хотя и подторможено програмно, чтобы не записать в порт раньше, чем он передаст - прерывания ещё не задействованы).
HardWareMan
29.12.2020, 10:05
9600 это же чуть больше 1 кибибайта в секунду. Вполне оправданная скорость для объемов памяти Ориона. Магнитофон в 8 раз медленнее.
9600 это же чуть больше 1 кибибайта в секунду. Вполне оправданная скорость для объемов памяти Ориона.
По современным меркам очень туго и некомфортно работать. По сравнению с магнитофоном наверное да, "прорыв". Но с магнитофоном уже давно никто не работает на Орионе.
Electricman
29.12.2020, 21:43
Ну почему, у меня до сих пор кассета+маяк232... :)
На деле у меня уже давно сделан модуль жёсткого диска, сейчас адаптировал его под новую дешифрацию - теперь он висит по адресам F420-F42F, написаны подпрограммы чтения-записи, считывает-пишет 2кБ мгновенно. :) Только не окультурено это общей подпрограммой сохранения-загрузки.
Electricman
31.12.2020, 16:44
В общем, схема КНЖМД, хотя на деле просто преобразователь интерфейса. Упрощённый, поэтому потерян регистр DA. Но можно и упростить ещё, если открывать ВА86 только через /CS0-/CS1. Уже не помню, зачем объединил их с сигналами /RD и /WR. Микросхемы - сборная солянка 1533ЛИ1, ЛН1/155ЛЕ1, дешифратор вообще 54138. :)
http://ipic.su/img/img7/tn/MzLlKjdC8Nk.1609421152.jpg (http://ipic.su/img/img7/fs/MzLlKjdC8Nk.1609421152.jpg)
Читал тут ночью форум, захотелось попробовать и НГМД, но столько траблов с ними. Впрочем, из 3х десятков дискет нет ни одной живой, ПиСишка ругается на "бэд 0 трэк" при попытке форматирования. Уже с десяток приводов накопал и попробовал, всё одно, не хотит. Либо дискеты записанные спеком и БКшкой по особому форматнуты, либо просто осыпались уже. Впрочем, это не отменяет того, что это всё баловство - если жёсткий диск ещё кое-как можно использовать под аналог магнитофона, с записью в тетрадку "адреса", то с дискетами таки нужна какая-никакая операционка. :)
А ещё хочется сделать преобразователь для SCSI, но в отличие от управления жёсткими дисками по IDE, на скази ничего не нашёл внятного.
В общем, схема КНЖМД, хотя на деле просто преобразователь интерфейса.
Правилом хорошего тона является буферизация шин ПРК, которые идут непосредственно в интерфейс IDE (RD, WR, DA0..2), т.к. внутри накопителя они довольно жестоко (300 ом и менее) терминированы к питанию.
А так это получился фактически NEMO_IDE, который почему-то работает не со всеми экземплярами накопителей.
Electricman
31.12.2020, 19:09
Про терминацию я не подумал. :( Ну ладно, наляпать буфер можно, это не проблема.
Про немо_иде я слышал, но схему глянул совсем недавно. У меня он долгое время вообще был 8-битным, код записи-считывания получался наипростейший. :)
А так - и мой работает не со всеми винтами, точнее, работает, но ошибки при считывании. Конец считанного блока добит какими-то левыми байтами. Но проблемы возникают только при дисках, способных LBA самостоятельно. На мелких дисках (до 1.61Гб включительно) ошибок нет, КС сходятся.
Electricman
17.01.2021, 18:33
Ну вот, и дорос я до ОС от 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 (http://ipic.su/img/img7/fs/NHai1k-LCwg.1610895425.jpg)
В результате получился орион с памятью 320кБ
Кстати, ОС корректно определяет все пять страниц памяти?
Electricman
17.01.2021, 19:32
Увы, 320кб там "маркетинговых. На деле всё те же 256, только 32кБ вообще никак недоступны, а другие 32 затенены видеопамятью. И их никак не использовать из-за особенностей архитектуры. :(
По какой схеме собирать эту плату контроллера дисковода?
https://i.ibb.co/kH8kXdv/CEBC6-D26-CCD8-470-B-86-E8-B3-E9-AE119-ED8.jpg (https://ibb.co/FxwNzPC)
По какой схеме собирать эту плату контроллера дисковода?
Плата была приобретена на уличном базаре?
Обижаете, тута, на барахолке, если мне склероз не изменяет, с юбилейной платой брал, кучкой, у Cornelius-a
Похожа на https://zx-pk.ru/threads/16969-kontroller-ngmd-orion-128-cborka-i-nastrojka-varianta-2011-fak.html?p=544517&viewfull=1#post544517
из Радио 1993 ном 5-6
брал, кучкой, у Cornelius-a
И автор платы не в курсе?
У Корнелиуса там прямо из темы о продаже ссылка https://zx-pk.ru/threads/16969-kontroller-ngmd-orion-128-cborka-i-nastrojka-varianta-2011-fak.html
Electricman
28.01.2021, 18:28
Привалило тут, хоть серийную сборку делай. :) И теперь думаю - просто поменять в орионе процессор (с возможностью турбирования) или уже делать какой-нибудь орион-512 или ПРО? Хотя, конечно, какой-нибудь ПРО на МГТФе будет вещью в себе. Хотя, не впервой делать Франкенштейнов. :)
http://ipic.su/img/img7/tn/2dEC9W4Kp6c.1611847269.jpg (http://ipic.su/img/img7/fs/2dEC9W4Kp6c.1611847269.jpg)
Error404
30.01.2021, 11:51
Привалило тут, хоть серийную сборку делай. :) И теперь думаю - просто поменять в орионе процессор (с возможностью турбирования) или уже делать какой-нибудь орион-512 или ПРО? Хотя, конечно, какой-нибудь ПРО на МГТФе будет вещью в себе. Хотя, не впервой делать Франкенштейнов. :)
http://ipic.su/img/img7/tn/2dEC9W4Kp6c.1611847269.jpg (http://ipic.su/img/img7/fs/2dEC9W4Kp6c.1611847269.jpg)
А чего ж на МГТФ? ПРО на МГТФ это будет похлеще Фауста Гете :) Хотите я вам плату первого выпуска сменяю на чего-нить из этих богачеств? Например как ПРО запустите, на несколько стабильно работающих на 10 МГц Z80. Я на фото навскидку насчитал с десяток кандидатур, так что будет из чего не жалко сменять. Плата ПРО у меня и собственная есть, полностью собранная - второй ревизии. А на первой ревизии только панельки и разъемы впаяны. Отличие в том, что на первой ревизии надо полдюжины проводков МГТФ припаять. Шины питания надо умощнять во всех версиях. Жалко: лежит без дела, собирать я ее вряд ли стану - прошел кураж :) А так еще один Орион родится
Electricman
04.02.2021, 17:24
Собрать то на печатке, конечно, проще, но гораздо сложнее перебороть себя и связаться с почтой. :)
Сейчас планы немного поменялись, но возможно к лету появится ещё один вариант ориона - раз уж начал извращаться с ним, то надо делать по полной. :D Хотя, попробовать Z80 может найдутся силы.
Mick, мне кажется, что 3,5 МГц и даже 4 МГц не стоят всех этих заморочек. В работе ПО принципиально ничего не изменится.
Вот 10 МГц - это реально интересно, 20 - ещё интереснее. Имхо.
Тут как бы не совсем 10 и 20 - но 5МГц ВМ80А осиливает - https://zx-pk.ru/threads/32131-daungrejd-kompyutera-quot-leningrad-quot.html?p=1102923&viewfull=1#post1102923
Правда не все ВМ80А на это способны, но выбор достаточен. Или импортный китайский P8080A - они тоже осиливают.
По какой схеме собирать эту плату контроллера дисковода?
мне Cornelius эту схему давал
http://ipic.su/img/img7/tn/sheme_fdd.1612632936.png (http://ipic.su/img/img7/fs/sheme_fdd.1612632936.png)
мне Cornelius эту схему давал
http://ipic.su/img/img7/tn/sheme_fdd.1612632936.png (http://ipic.su/img/img7/fs/sheme_fdd.1612632936.png)
Да, спасибо, но ее все равно нужно сверять, некоторые номиналы неразборчивы, частоты кварца нет.
Кстати, заработала?
Да, спасибо, но ее все равно нужно сверять, некоторые номиналы неразборчивы, частоты кварца нет.
Кстати, заработала?
пока только заканчиваю с пайкой. за место ла3 лучше панельку поставить, буду переделывать. по кварцу смотрел кучу схем, вроде как на8мгц.
74641
Electricman
22.03.2021, 13:10
Кто может подсказать, с чем связано такое странно формирование сигнала записи в память на орионе? Чтобы обеспечить раннюю запись или ещё для каких целей?
Или из-за особенностей формирования процессором сигнала записи?
Electricman, а какое "такое" ?
Electricman
22.03.2021, 19:20
Ну, "такое", фантомное - запись в память, если не активен сигнал чтения во время действия сигнала /Ф2, элемент DD16.1. Просто сколько не пробовал, запись в память, даже статику, происходит только по сигналам с дешифратора, который в данном случае работает демультиплексором. Родной /WR ничего не делает, хотя, если верить диаграммам, он приходит позже. Но везде эти диаграммы по-разному нарисованы.
Electricman
25.03.2021, 16:05
Ну вот, эксперименты продолжаются. :)
Не смотря на странность сигнала записи, и с ним всё заработало, а именно заработала память на 2, ну, почти 2МБ. Так как особых ограничений в модульном орионе на объём памяти нет, то было попробовано выжать максимум. :)
Изначально планировалось попробовать подменные банки по 16кБ в первой странице, это давало квазинепрерывный объём в её пределах, грубо считая, 3*256 банков по 16кБ. Но это создавало другие проблемы и было оставлено. Поэтому был выбран вариант увеличить число страниц, в пределе до 256. И вроде оно даже получилось.
Первая задача - "избавиться" от дешифратора DD29 и растянуть регистр DD18.1 до 8 разрядов. Они, конечно, остались, но на управление только видеопамятью. Выходы DD16.1 и DD8.3, пропущенную через кучку логики, стали основными сигналами /WE и /ОЕ. В качестве регистра были добавлены две ТМ8.
Далее дело стало за памятью - сигналы получены, выходы дополнительного регистра можно использовать как дополнительные адреса, но у меня статики больше 64кб (да и то в количестве 5 штук) нет, да и не хочется возиться со многими корпусами. Но есть куча модулей SIMM-30/72, да и микросхем ДОЗУ навалом. Поэтому пришлось ломать мозг, как сделать контроллер динамической памяти, который синхронен к родной схеме. После кучи проб и ошибок Франкенштейн ожил. :)
Регенерация осуществлена методом CAS before RAS по сигналу 87 - если ноль, то обращение к памяти, если 1 - регенерация. Сигналы формируются сдвиговым регистром из частоты 40МГц, сброс сигналом Ф2.
Но не всё так гладко, не получилось снова использовать верхние 16кБ - они будут заворачиваться на видеопамять, ибо блокировка между основным ОЗУ и видеопамятью получилась неполной, точнее, почему то нерабочей, ну, как минимум, в стандартных подпрограммах. Есть сигнал, который активен при обращении к любой странице памяти, старше первых двух, его неактивное состояние он используется, чтобы не пересекались видеоОЗУ и основная память в первых двух страницах. Но если им отключать дешифратор DD29 при обращении к старшим страницам, то всё зависает. Пока думаю над этой проблемой.
А в общем, получилось 32 страницы по 48кБ, или 1536кБ на одной микросхеме 2048к*8. Теоретически возможное расширением до 2*48 + 254*60кБ, небольшими переделками хоть 2*48 + 65024*60кБ. :v2_dizzy_roll:
но у меня статики больше 64кб (да и то в количестве 5 штук) нет, да и не хочется возиться со многими корпусами.
У меня есть полуметровые в труъ ДИП32, могу поделиться.
Electricman
25.03.2021, 18:22
могу поделиться
Я уже думал спросить, но это разве что для электронного диска, для ОЗУ и так нормально. :)
Кажется я нашёл причину, почему не получилось работать с оставшимися 12кБ - служебную область ОЗУ нельзя отключать. Вот думаю над цепями блокировок. Для первой и второй страницы дешифратор DD29 должен работать с адреса С000, а для остальных страниц - с F000.
Ох, вроде победил систему. Обращение к адресам С000-EFFF страниц 0 и 1 блокирует динамическую память, обращение к этим же адресам из страниц 2, 3 и т.д. блокирует дешифратор DD29. Обращение по адресу F000 и выше разрешает работу дешифратора независимо от других блокировок.
Итого получилось 2*48 +30*60кБ, или 1896кБ. :) Непонятно, куда столько, но пусть будет.
Error404
26.03.2021, 20:07
экран с 0000, 4000, расширение более 384 точек в строке - планируются?
Electricman
28.03.2021, 13:35
экран с 0000, 4000
Увы, из-за развязки видеопамяти и основного озу это невозможно. Это вроде единственное отличие от классического ориона.
расширение более 384 точек в строке
Вяло-вяло планируется нечто совместимое с орионом, но растянутое по изображению. А расширение классического пока не планируется.
Electricman
25.08.2021, 22:50
Ну что, по прошествии почти полугода новых проектов так и не случилось. То одно мешает, то другое. Но действующий проект, по большей части работающий на минималках, но непрерывно дорабатывающийся по принципу "доработки ради доработок" живёт. :)
И так, весной я пытался скрестить ужа с ежом, оно работало, но нестабильно. Сейчас оно работает стабильно, осталось только ПЗУ буферизировать. А так всё буферизировано от шины данных.
Память... Именно на ней я весной подзастрял. Концепт был рабочим, но ненадёжным. Забросив это дело, я вернулся к изначальному варианту памяти на SRAM (страницы 0...3). Но желание победить в вопросе расширения памяти не давало покоя. Изначально модуль памяти на DRAM я пытался использовать и под первые страницы памяти. Но сложная система дешифрации и блокировки сигналов всё портила. В результате долгих раздумий было принято решение под первые страницы оставить статику, как и управление ею через демультиплексор DD29, добавив только возможность его блокировки внешним сигналом. В модуле DRAM был установлен такой же демультиплексор, правда, работающий непрерывно. В результате, при обращении к первым четырём страницам всё работает как в оригинальном орионе (разве что запись идёт как в статику, так и динамику), а при обращении к страницам с номера 4, работает только динамика, DD29 блокируется. При обращении к адресам F000 и старше блокировка DD29 снимается. С одной стороны кажется, что это сложно, но на деле реальная схема упростилась до предела, да и главное, что работоспособно. :)
В результате в распоряжении имеются страницы с номерами от 0 до 3F. :D
Но этого мне показалось мало. Ввиду лени часто использовать магнитофон всё же решился заняться жёстким диском. Накарябать простенькую программку сохранения/загрузки данных проблем не возникает. Но вот с хранением самой программы возникают проблемы. О чём только не думал - и подменное ПЗУ монитора, и вырезка части монитора, отвечающей за работу с магнитофоном. Первое схематически неприятно, второе лишает совместимости. И тут под руку попалась флешка AT28C16... Интересна она тем, что работает чисто как статика, только после выключения не стирается, да и питание только +5В требует.
"Отдать кусок нулевой страницы под флэш...А почему бы и не да?" - с такого вопроса и началась ещё одна доработка. На свободные места платы был поставлен дешифратор адресов и регистр. В результате флешка оказалась размещена по адресам BC00...BFFF, занимая один килобайт адресного пространства. Использована она на половину, но дешифрация на адрес B8 более сложна, а места под логику уже нет. Регистр, по адресу FA00, предназначен только для блокировки от записи. Хотя, через него можно и переключать половинки флешки, но я думаю, что это излишне. :)
Вариант оказался работоспособным.
Почему я не использую ОСь, где вроде бы всё проще - тут и дело привычки, и вынос любого софта при моих ошибках в кодинге. Ну и отчасти, причина как у "окон" - совместимость с тем, что уже давно написано. Желания переделывать то, что, например, написано для сбора информации через КОП нет никакого. :(
Добрых суток всем! У кого есть "железный" и не слишком доработанный Орион, не поможете разобраться с проблемой. Есть тест ts2 76189, если не сложно, запустите на своем Орионе и выложите фотки из раздела "Цвет". Спасибо!
Схема RGB отсюда
https://zx-pk.ru/threads/30373-elektronnyj-disk-dop-ozu-na-ds1250y-rgb-adapter.html
76190
Схема RGB отсюда
Спасибо!
А у меня не так, у меня почему-то вот так:76191
В ts2 есть ещё тест цветовых режимов ,в нём какая картинка?
В ts2 есть ещё тест цветовых режимов ,в нём какая картинка?
Тоже не правильная, черные и цветные полосы, но картинка с VC - нормальная, синий фон, белые панели и буквы, желтые буквы горячих клавиш.
Вот, что я действительно не понимаю, это то, что когда я залил M2_2rk.bin, картинка стала как у вас, только надписи сбились в кучу:7619276193
Все, разобрался, вопрос снимается, все дело в волшебных пузырях в разнице Z80 и 580вм80. СПАСИБО!!
Electron
01.11.2021, 15:59
Всем Привет, попробовал заменить DD51 ИР13 на ИР10(74xx166), вроде даже работает. (схема)https://drive.google.com/file/d/1MWGV_C_8_0INVld-YnXzaNaaGiRsaLeC/view?usp=sharing,
https://drive.google.com/file/d/14ya9jzjAnd2bYejlNv8zDoq1ajBU-UNA/view?usp=sharing,
https://drive.google.com/file/d/1MbZgBjn_YmMCOuKipY6Xc1OuvzvI0l1p/view?usp=sharing
Electron, отлично. Но ИР13 всё же теплее и ламповей :)
VladimirS
02.11.2021, 06:59
Electron, отлично. Теперь заменяй вторую ИР13.
Сегодня в новостях увидел:
https://forum-img.guitarplayer.ru/2021/11/03/tAEc6.png
Вот отсталые! На Орионе давно уже М2 рулит))
Добрых суток, всем. Друзья, подскажите пожалуйста, за что отвечает последний пункт этого теста http://rdk.regionsv.ru/orion128z80test/z80t-002.jpg (f400-ffff protect)? Как он реализован и на что влияет? Спасибо.
Error404
03.12.2021, 20:47
Добрых суток, всем. Друзья, подскажите пожалуйста, за что отвечает последний пункт этого теста http://rdk.regionsv.ru/orion128z80test/z80t-002.jpg (f400-ffff protect)? Как он реализован и на что влияет? Спасибо.
В i8080 Орионе (и дурных вариантах Z80 специально это эмулировавших) при записи в смаппированный на адресное пространство порт (как по LD, что логично, так по OUT, что есть грязный хак) происходит не только запись в соответствующий чип, но запись в "подлежащее" ОЗУ. Что крайне неудобно для адаптаций игр со Спека (у которого самые интересные большие игры работают в режиме "отключения ПЗУи ВУ" т.е. ОЗУ до FFFF). Соответственно в пакете доработок Z80-CARD-II была доработка на паре элементов И-НЕ которая это устраняет - вот её наличие и проверяет данный тест. Эту доработку обычно никто не делает т.к. 99% игр и новых прог для Z80, использующих ОЗУ F400..FFFF как ОЗУ, все равно работают с портами по OUT как принято у всех нормальных (т.е. неорионовских) программ, а те единицы что были адаптированы по-орионовски, обычно это пришедшие со Специалиста (типа DTE и SilentService) уже давно пропатчены на OUT. Этот хак еще иногда использовался и для "короткой" записи в ОЗУ, но уже в совсем запущенных i8080-случаях головного мозга.
порт (как по LD, что логично, так по OUT, что есть грязный хак) происходит не только запись в соответствующий чип, но запись в "подлежащее" ОЗУ. Что крайне неудобно для адаптаций игр со Спека
Спасибо за разъяснение, я так и думал, но мне остается не понятным, почему у меня этот тест не проходит. В моем Орионе порты отделены от памяти, Орион на плисине. Все остальные тесты проходит, кроме про-чипов.
Error404
04.12.2021, 00:48
Спасибо за разъяснение, я так и думал, но мне остается не понятным, почему у меня этот тест не проходит. В моем Орионе порты отделены от памяти, Орион на плисине. Все остальные тесты проходит, кроме про-чипов.
Вот это ХЗ. Тут от многого зависит - и как работает тест (не факт что правильно), и как реализован режим расширенного ОЗУ (pFB.D5 Z80CardII) в вашей реализации. Например в моем эмуляторе последний тест тоже выдает "badly" даже в режиме эмуляции защиты подПЗУшечного ОЗУ.
pFB.D5
При D5==1 вся память доступна для процессора, вывод в порты только по out и то, только для портов f8-ff. Реализовывал вот этот вариант: http://www.emuverse.ru/downloads/computers/Orion-128/docs/schemes/Z80CardII.png
Доступ к портам/памяти реализован вот так: signal_ram = (cpu_address[15:8] < 8'hF4 | port_fb_ram[5]) & (~start);
Подскажите откуда на схеме Z80CardII берется сигнал #RNMI?
Error404
04.12.2021, 19:25
Подскажите откуда на схеме Z80CardII берется сигнал #RNMI?
Как я понимаю, все что связано с /NMI (а /RNMI это скорее всего тот же /NMI, только на панельке 8080) на Z80CardII делалось с прицелом на будущее, и какие-то вышедшие в широкие массы разработки с его использованием - народу неизвестны (только единичные упоминания об экспериментальных эмуляторах Спека у Барсика, неизвестно бывшие ли в природе или опять концепции). В ревизии-512 я этот узел исключил (2 диода и 2 трассы), и пока никто на это не жаловался. Тут обычными то прерываниями народ не пользуется...
Тут обычными то прерываниями народ не пользуется
Вот с прерываниями у меня и косяк, как выяснилось. У меня сделана СД-карта способом msx_sd-mmc. Если сделана доработка прерываний по схемме в предыдущем посте, то при загрузке Альтаир дос (та что с играми) Орион очень часто зависает, сразу после определения/отсутствия 512ВИ1,на надписи "Please enter data". Может просто подвиснуть, может вывести хлам и продолжить работать. Также зависает игра Dizzy-1#, сразу после просьбы нажать Enter. Если отключить доработку, то зависать перестает, но.. Диззи работает со звуком, через эти прерывания, и тупо не получает ответа от них, просто висит и ждет прерывание, прогружая картинку. Может поможет мне кто решить эту проблемку? Эх.. почти готов мой Орион.
Что интересно, иногда игра запускается, и если она запустилась, дальше работает без проблем..
Частично "починил" прерывания, подвязав .DI(cpu_data_in) к FF, тк прочитал, что 0 на шине данных не очень хорошая идея, загружаться в Альтаир дос стало без проблем, даже часы появились, но диззи и не зависает и не работает. Сколько бы Ентер не нажимал, экран очищается на секунду, и опять появляется надпись - Нажмите Ентер.
Sancho45
05.12.2021, 03:06
Раз (https://zx-pk.ru/threads/27462-sborka-nastrojka-platy-orion-128(uknts)-ps-2(caro)-fdd-ide-z80card2.html?p=1054360&viewfull=1#post1054360)
два (https://zx-pk.ru/threads/18451-altair-dos-v3-x.html?p=932062&viewfull=1#post932062)
Раз,два
Спасибо! У меня, правда, Орион на плисине, но.. "иголки с кондера" - надо попробовать реализовать, сейчас у меня импульс шириной vsync. Про резисторы у вас и прочитал. :)
ПС: тест у меня проходит давно, а вот глюки с загрузкой Альтаир дос и Диззи сводили все на нет.
- - - Добавлено - - -
Error404, подскажите, порты вывода\ввода для 512ВИ1 - f760 и f761, что за что отвечает? Находил на форуме дискуссию по этому поводу, но так и не понял на каком варианте остановились. И еще один вопрос, ткните носом, как создать образ для загрузки с сд-карты.
Error404
06.12.2021, 00:57
Частично "починил" прерывания, подвязав .DI(cpu_data_in) к FF, тк прочитал, что 0 на шине данных не очень хорошая идея, загружаться в Альтаир дос стало без проблем, даже часы появились, но диззи и не зависает и не работает. Сколько бы Ентер не нажимал, экран очищается на секунду, и опять появляется надпись - Нажмите Ентер.
Это известная фича, связанная с тем, что в режиме прерывания 2 (IM2) z80 при наступлении прерывания считывает с ШД байт адреса вектора обработчика прерывания. Учитывая что эти вектора 2-байтовые, их (векторов) может быть 128 штук в блоке размером 256 байт, старший байт этого блока в адрес берется из регистра I. Если с шины читается мусор (шина не терминирована), то обычно этот 256-байтный блок заполняют константой (к примеру F1), и обработчик прерывания размещают соответственно по адресу F1F1. В варианте Z80cardII шина подтянута к +5, и при отсутствии устройств, выставляющих вектор прерывания, оттуда будет читаться FF. Поэтому я не заполняю этот 256-байтный блок константой (место в непереключаемой области не резиновое), и держу вектор только в ячейке F2FF..F300. И соответственно если шину не подтянуть, то будет улёт в космос (переход по случайному адресу).
Образ на CD (IDE, CF) можно записать на Винде вот этой утилитой (https://github.com/serge-404/OriZEmu/tree/master/UTILS/HddUtil) или любой другой утилитой с простой посекторной записью в режиме DD (например, популярный rufus). Или dd на Linux.
Образ можно взять любой для жесткого диска из пролетавших тут в форуме например этот (https://drive.google.com/file/d/0B3S0wVWNPLrwLXgwZE9Ebnh6eHc/view?usp=sharing&resourcekey=0-7-bGWjRuDT0DKWRIhapxcg) (еще бывают для FDD - те другие), загружаться ордос-утилитой MBOOT$ (https://github.com/serge-404/AltairDOS/tree/master/App/source/mboot) или соответствующим монитором ПЗУ F800 (https://github.com/serge-404/OriZEmu/blob/master/ROM/_read_me.txt)
Это известная фича
Спасибо за разъяснения!
Образ на CD (IDE, CF) можно записать
Записать понятно, как этот образ создать самому? Например с ОРДОС? Очень не хочется городить ром-диски или флоповод.
тут в форуме например этот
Не получается скачать, просит гугл-аккаунт, а после входа пишет, что ошибка доступа.
А по портам ви1 не подскажите?
Можно ли простым путём на орионе организовать запись командой OUT port во все 256 байт порта? Это существенно бы ускорило очистку памяти.
Можно ли простым путём на орионе организовать запись командой OUT port во все 256 байт порта?
Вопрос не очень понятный..
Это существенно бы ускорило очистку памяти.
Быстрее, чем стеком - вряд ли.
Error404
06.12.2021, 22:39
Записать понятно, как этот образ создать самому? Например с ОРДОС? Очень не хочется городить ром-диски или флоповод.
Вот это хороший вопрос. Если совсем по-простому - никак. Т.к. вся разработка велась в CP/M, в ней же есть драйвера и утилиты для работы с IDE/SD, FAT16/23, Uzix и много с чем. Пример генерации системы на носитель (вроде дисководный? Или HDD?) тут (https://github.com/serge-404/AltairDOS/blob/master/man/sysgen.zip). Создавать ФС CP/M из Ордос я не припомню есть ли такие утилиты, как и нормального копировщика (а не обрубка типа Атлас). Как записать из Ордос кусок данных (хотя бы первые 100к образа - MBR, первую ФС, драйвер), которых даже по минимуму больше чем 60кб ордосовского диска - тут уже надо фантазировать. Например, кусками. Сырое чтение/запись буфера ОЗУ Ориона (адресуемого страница:адрес) с/на IDE/SD можно делать вот этой утилитой (https://github.com/serge-404/AltairDOS/tree/master/App/source/testdev). Не помню под какую схему там скомпилирован драйвер SD в тамошнем TESTD55.COM. Не знаю зачем придумывать такие сложности, я всегда пишу носители на Винде в кардридере.
Какие-то примеры действий такого типа еще можно посмотреть в этой теме (https://zx-pk.ru/threads/12771-orion-voprosy-i-otvety.html)
Не получается скачать, просит гугл-аккаунт, а после входа пишет, что ошибка доступа.
Попробуйте эту ссылку (https://drive.google.com/drive/folders/0B3S0wVWNPLrwbXdQWElOT0FTWXc?resourcekey=0-QuCr967fgdLtbTNkxYTxZw&usp=sharing). Там доступ на целую папку дал, ничего особо секретного я там не держу, интерес могут представлять uzix-games-rtc.zip, orion-disks*
А по портам ви1 не подскажите?
Есть несколько реализаций подключения ВИ1 -что я делал в 90х на портах 0F760H (0F760H - регистр адреса, 0F761H - регистр данных; адресация выбиралась исключительно по признаку наличия свободной ножки на ИД4 дешифратора в КНГМД по адресу устройства которого кроме как на бумаге "стандартов" никогда не было, как и 90% прочего "стандартизированного"). Есть вариант что делал Denn (тут он лучше подскажет) - там другие порты, есть реализация в варианте ПРО (тоже не помню номера портов, и там выборка по OUT)
Вопрос не очень понятный..
Быстрее, чем стеком - вряд ли.
Со стеком понятно.Вопрос в возможности аппаратной реализации быстрой очистки\заполнении памяти в вариациях команды OUT
Вот это хороший вопрос.
Спасибо! А как Это реализовано у Специалиста? Я Переделывал эмулятор под свою плис и там была загрузка с SD командой GD000, грузился диск с обычнным ФАТ16, что на диск закинул, то и виделось Специалистом.
Есть несколько реализаций подключения ВИ1 -что я делал в 90х на портах 0F760H (0F760H - регистр адреса, 0F761H - регистр данных;
Насколько я понимаю, версия с играми под Альтаир ваша, реализация ВИ1, надеюсь, тоже ваша. Бум пробовать! :)
- - - Добавлено - - -
Что-то у меня ни один из uzix-ов так и не запустился, бежит вот эта строка и все:
76609
Запускал так:
qboot
idebdos sd
uzix 2:
Serg6845
07.12.2021, 08:33
Спасибо! А как Это реализовано у Специалиста? Я Переделывал эмулятор под свою плис и там была загрузка с SD командой GD000, грузился диск с обычнным ФАТ16, что на диск закинул, то и виделось Специалистом.
да очень просто устроено - в ПЗУ с адреса D000 лежит код, который этим безобразием и занимается. или в случае МХ2 - в ОЗУ, куда копируется из теневого ПЗУ по команде "@" вроде. но смысл тот же.
FAT32 кстати - не понимает.
Error404
07.12.2021, 14:49
Спасибо! А как Это реализовано у Специалиста? Я Переделывал эмулятор под свою плис и там была загрузка с SD командой GD000, грузился диск с обычнным ФАТ16, что на диск закинул, то и виделось Специалистом.
По писанию звучит очень похоже на это:
https://zx-pk.ru/threads/29892-sd-karta-i-sdos-dlya-8i-bitnykh-pk.html
Оно есть и для Ориона (в т.ч. и бинарное), для всех схем подключения SD, и кстати существует в варианте только для Ордос :)
Что-то у меня ни один из uzix-ов так и не запустился, бежит вот эта строка и все:
Запускал так:
qboot
idebdos sd
uzix 2:
qboot можно не запускать. Это утилита для аварийного выхода в ОС (прерывание по комбинации клавиш ctrl+shift+key, не помню каких, возможно ctrl+shift+СТР) - работает только с Мониторами3 и срабатывает если есть периодическое обращение к п.п. ввода с клавиатуры Монитора.
В остальном вроде все так с запуском. Параметром ядру (uzix.com) указывается номер партиции (0,2,4,6=master=sd, 1,3,5,7=slave) с root ФС. Аналогичная номерация партиций у прочих утилит (idebdos , bd, fsck, mkfs). Самый рабочий вариант Юзикса в образе uzix-games-rtc.zip (это вообще последний образ что я собирал когда-то), там есть и командник uzix-run.bat с требуемыми командами старта. Тут надо понимать, что Юзикс и в хвост в гриву использует и прерывания, и полностью всю непереключаемую область F000..F3FF (в т.ч. и в области переменных Монитора, т.е. с Мониторами отличными от М3 ничего не гарантировано, но вроде я пытался выбрать общие "дыры", работало даже на ПРО). И постоянно щелкает страницами памяти портом F9 (другие диспетчеры памяти не используются, как и фичи Z80CardiI - только прерывания) - по каждому прерыванию код передает выполнение из одной страницы ОЗУ в другую. Т.е. при каком-то нюансе в модели эмуляции отличающемся от оригинала, могут быть неожиданные эффекты. Но для начала - уточнить версию Монитора F800.
- - - Добавлено - - -
Еще тут есть про SDOS:
http://www.nedopc.org/forum/viewtopic.php?f=91&t=19444
Есть несколько реализаций подключения ВИ1 -что я делал в 90х на портах 0F760H (0F760H - регистр адреса, 0F761H - регистр данных; адресация выбиралась исключительно по признаку наличия свободной ножки на ИД4 дешифратора в КНГМД по адресу устройства которого кроме как на бумаге "стандартов" никогда не было, как и 90% прочего "стандартизированного"). Есть вариант что делал Denn (тут он лучше подскажет) - там другие порты, есть реализация в варианте ПРО (тоже не помню номера портов, и там выборка по OUT)
Я делал адресацию вот по этой методичке:
https://forum-img.guitarplayer.ru/2021/12/07/2W9uH.jpg
F7B0h - регистр данных
F7B1h - регистр адреса
с параллельной поддержкой альтернативной адресации:
F761h - регистр данных
F760h - регистр адреса
точнить версию Монитора F800
Версия монитора: M35ZRKS
ут надо понимать, что Юзикс и в хвост в гриву использует и прерывания
вот с этим похоже у меня и проблемы, не работает Диззи теперь вот и с uzix-ом непонятки. Вообще, прерывания у меня реализованы следующим образом: приходит 1 в 6 разряде порта FB, жду когда придет высокий vsync, жду когда процессор установит в высокий уровень сигналы #wr, #rw, #merq и #iorq, делаю низким #int, жду повторного поднятия этих сигналов, чтобы точно сработал триггер Z80 и поднимаю #int. В следующий раз #int будет низким только когда придет высокий vsync, но и соответственно 6 бит порта FB. Т.о., #int будет 60 Гц.
Error404
07.12.2021, 21:51
Версия монитора: M35ZRKS
вот с этим похоже у меня и проблемы, не работает Диззи теперь вот и с uzix-ом непонятки. Вообще, прерывания у меня реализованы следующим образом: приходит 1 в 6 разряде порта FB, жду когда придет высокий vsync, жду когда процессор установит в высокий уровень сигналы #wr, #rw, #merq и #iorq, делаю низким #int, жду повторного поднятия этих сигналов, чтобы точно сработал триггер Z80 и поднимаю #int. В следующий раз #int будет низким только когда придет высокий vsync, но и соответственно 6 бит порта FB. Т.о., #int будет 60 Гц.
Монитор M35ZRKS в принципе я и сам использовал какое-то время, должен подходить.
С прерываниям в деталях сигналов не подскажу, уже не помню деталей.
OrionExt
08.12.2021, 18:09
вот с этим похоже у меня и проблемы, не работает Диззи теперь вот и с uzix-ом непонятки. ...видимо про z80 вы не в зуб ногой. ничего не понял из вашего алгоритма.
инт такая штука, если поднята то работает всегда. т.е. если поднять инт дольше той процедуры, которая должна выполнятся по инту, она повторится - процедура инта, иии так далее .....
видимо про z80 вы не в зуб ногой
Да я и не претендую на другое.
В схеме int активный никого уровня, да и в даташите. В оригинале, на схеме, в цепи int есть конденсатор. Физически, он делает "иголку", очень короткий импульс с частотой 50 Гц. Длительность этого импульса мне неясна. В своем алгоритме я пытался сказать, что сделал длительность этого импульса равным 2 обращениям к памяти или портам. Я бы сказал к 6 тактам Z80, но это не так, тк это не "железный" Z80, это не "железный" Орион, это ФПГА синтез. Сделал я так, потому что ФПГАшный z80 тактируется 50 МГц, если сделать длину int 1 такт, есть шанс пропустить int. Вот и все.
она повторится - процедура инта, иии так далее
О том и речь.
сделать длину int 1 такт, есть шанс пропустить int
Посмотрел синтез Z80, #int можно сделать в 1 такт.
С прерываниями разобрался, работают как надо.
Тест заработал полностью (исключая pio-чипы и контроллер дисковода):
https://pic.maxiol.com/images2/1639613467.3359484514.whatsappimage20211.jpg
Exolon:
https://pic.maxiol.com/images2/1639613626.3359484514.whatsappimage20211.jpg
Хоть тест и проходит, прерывания работают как положено (касаемо сигнала #int), но.. Диззи с диска Error404 (по его ссылке) и Юзикс не работают.
Диззи звисает вот здесь: https://pic.maxiol.com/images2/1639614018.3359484514.whatsappimage20211.jpg Вернее не зависает, а не проходит дальше, нажимешь Ентер, экран очищается и опять появляется надпись "PRESS ENTER". Куда копать дальше, не знаю. Запускал кто это на "железном" Орионе?
OrionExt
21.12.2021, 18:40
Посмотрел синтез Z80, #int можно сделать в 1 такт.
С прерываниями разобрался, работают как надо.
видишь , как просто. спасибо за фитбек. а то либо молчат и втехаря надуваются, как шарики, а потом ... я так понял дизи 2 заработал, он и не в каждом эмуляторе работает как надо ;)
видишь , как просто. спасибо за фитбек. а то либо молчат и втехаря надуваются, как шарики, а потом
Да чего надуваться то? Просто пойми, "стариков ассов" разбирающихся в этих процессорах очень мало осталось, много забылось за ненадобностью, а вновь разбираться нет смысла, тк применить эти знания просто негде (я имею ввиду комерческую основу - как двигатель).
так понял дизи 2 заработал
Нет, не заработал, но дело не в прерываниях, я что-то упустил, но пока не пойму что. Вернее заработал частично, зациклен на "Press Enter". В предыдущем посте есть фото.
Error404, бился я, бился со своим Орионом, а потом запустил ваш эмулятор... Нормальный человек сразу бы так сделал, но ко мне это не относится :v2_dizzy_vodka:
Короче, Диззи-1# и Диззи-2# на нем не работают также, а uzix, если на вашем эмуляторе включить только 256 КБ памяти, тоже циклично выводит сообщение, что и у меня, 256 КБ ему мало. :)))) Похоже, что у моего Ориона все Ок, спасибо!!!!
Всех с наступающим Новым годом! Здоровья, успехов, благополучия, мира и добра!!!
Error404
01.01.2022, 12:15
Error404, бился я, бился со своим Орионом, а потом запустил ваш эмулятор... Нормальный человек сразу бы так сделал, но ко мне это не относится :v2_dizzy_vodka:
Короче, Диззи-1# и Диззи-2# на нем не работают также, а uzix, если на вашем эмуляторе включить только 256 КБ памяти, тоже циклично выводит сообщение, что и у меня, 256 КБ ему мало. :)))) Похоже, что у моего Ориона все Ок, спасибо!!!!
Всех с наступающим Новым годом! Здоровья, успехов, благополучия, мира и добра!!!
С Новым Годом!
Наверное вполне такое может быть. При 256к получается такое распределение: 64к(page0)+64к(page1) служебная область (экраны, драйвера, ядро CP/M), 64к(page2) - TPA CP/M (в которой живет ядро UZIX), 64k(page3) - init UZIX. Init и ядро работают, а процессы запускать негде, вот и такой эффект. Конечно, там должно было бы быть какое-то осмысленное предупреждение :)
А есть возможность добавить памяти? Оно полезно и кроме Uzix, в "лишней" памяти можно организовывать электронные диски (в любой практически ОС Ориона).
OrionExt
01.01.2022, 13:09
Нет, не заработал, но дело не в прерываниях, я что-то упустил, но пока не пойму что. Вернее заработал частично, зациклен на "Press Enter".
о как. значит мой совет мимо кассы. тогда предложу начать с начала. может образ битый? приатачю свой образ. работает что в моем эмуляторе, что в OrionZEm.
В новый год, со старым компом :) подключил и запустил свой орион-128 образца 1992г.
76787
OrionExt
01.01.2022, 16:41
В новый год, со старым компом :) подключил и запустил свой орион-128 образца 1992г.
теперь интересно вытянуть в кастомном мониторе картинку вниз, не всегда то за паяльник хвататься.
А есть возможность добавить памяти? Оно полезно и кроме Uzix, в "лишней" памяти можно организовывать электронные диски (в любой практически ОС Ориона).
Конечно есть, я просто делал пока все согластно "оригинальным" схемам, до схем расширения памяти свыше 256 КБ просто еще не добрался.
- - - Добавлено - - -
А есть возможность добавить памяти?
Сделал 512, Uzix запустился! :) Ура!!! Спасибо!
- - - Добавлено - - -
приатачю свой образ
Я не могу запустить с ODI, я не делал, пока, контроллер дисководов. Да и не знаю, буду ли делать. ФПГА версии ВГ93 есть, контроллер сделать не сложно, но что делать с эмуляцией самого дисковода? Не цеплять же Готэк.
Я не могу запустить с ODI, я не делал, пока, контроллер дисководов. Да и не знаю, буду ли делать. ФПГА версии ВГ93 есть, контроллер сделать не сложно, но что делать с эмуляцией самого дисковода? Не цеплять же Готэк.
А где можно посмотреть реализацию ВГ93 на FPGA?
Кстати, чем плох Gotek?
А где можно посмотреть реализацию ВГ93 на FPGA?
Посмотрите в реализации компьютера Вектор, например, вот ссылка (https://code.google.com/archive/p/vector06cc/).
Но, я с ней даже не разбирался..
- - - Добавлено - - -
Кстати, чем плох Gotek?
Готэк всем хорош, кроме того, что это отдельное устройство. Мне кажется, что это странно делать. Сам Готэк можно синтезировать в ФПГА, как в Векторе это и сделано (из примера по ссылке).
Спасибо, про реализацию ВГ93 в "Векторе" я знаю, там это сделано полусофтово - используется софтядро 6502. Я думал, есть ВГ93 только на логике.
Я думал, есть ВГ93 только на логике.
Попадалась где-то "потактовая" реализация, но как всегда, где и когда не вспомню, надо искать..
используется софтядро 6502
Софтядро там для эмуляции аналога Готэка, если я правильно понимаю.
Я думал, есть ВГ93 только на логике.
А вот это не оно: https://github.com/RedskullDC/mz80b_de0/blob/master/logic/mb8876.vhd
По даташиту похоже, но я могу и ошибаться.
А вот это не оно: https://github.com/RedskullDC/mz80b_de0/blob/master/logic/mb8876.vhd
По даташиту похоже, но я могу и ошибаться.
Похоже, но нужно изучить получше.
Electricman
28.10.2022, 22:50
Может несколько и дурацкий вопрос, но какая-нибудь ячейка системной области памяти отвечает за мигание курсора? :)
В мониторе1 есть ячейка интервала ,в мониторе2 программой пользователя.
Товарищ подарил лежавший у него более 30 лет "Орион-128":
https://i.ibb.co/KsBL2bK/IMG-20240618-102308.jpg (https://ibb.co/n14n76P)
https://i.ibb.co/YkJTGCP/IMG-20240618-102334.jpg (https://ibb.co/DCmgnJz)
Постепенно буду приводить в порядок...
Товарищ подарил лежавший у него более 30 лет "Орион-128"
Шикарно! Настоящий, тех лет. Мне тоже повезло.
Да, работы с ним предстоит немало. Хочу вернуть ВМ80А и, вообще, "журнальное" состояние. Не знаю насчёт использования, но как память - пусть будет...
Интересует: NC$, ошибка при выборе директивы С(copy)
Кто может подсказать, решение сделать шрифт не кратный 8 по ширине было вызвано только желанием увеличить количество символов в строке до 64? Это от специалиста было унаслеовано?
Кажется, что использование 48 символов в строке значительно бы ускорило вывод символьной информации. Полагаю 64 знака это еще с прицелом на совместимость с RK и Корвет. В эмуляторе вывод листинга приводит в уныние. Получается так, что если нужно быстро и плавно ввыводить текст, то придется свои процедуры и шрифты писать. Жаль, что ширина экрана не 512 точек
Кто может подсказать, решение сделать шрифт не кратный 8 по ширине было вызвано только желанием увеличить количество символов в строке до 64? Это от специалиста было унаслеовано?
Кажется, что использование 48 символов в строке значительно бы ускорило вывод символьной информации. Полагаю 64 знака это еще с прицелом на совместимость с RK и Корвет. В эмуляторе вывод листинга приводит в уныние. Получается так, что если нужно быстро и плавно ввыводить текст, то придется свои процедуры и шрифты писать. Жаль, что ширина экрана не 512 точек
Либо гонка за кол-вом символов в строке, либо попытка упаковать знакогенератор в 2 Кб ПЗУ, либо совместимость с РК... сегодня мы вряд ли узнаем истину. Но тормозной вывод символов 6х10 это совсем беда-печаль. В конце 90-ых я от него отказался в пользу быстрых 8х8, и забыл про родной ввод-вывод Монитора, как про страшный сон.
Error404
26.11.2025, 12:37
Кто может подсказать, решение сделать шрифт не кратный 8 по ширине было вызвано только желанием увеличить количество символов в строке до 64? Это от специалиста было унаслеовано?
Кажется, что использование 48 символов в строке значительно бы ускорило вывод символьной информации. Полагаю 64 знака это еще с прицелом на совместимость с RK и Корвет. В эмуляторе вывод листинга приводит в уныние. Получается так, что если нужно быстро и плавно ввыводить текст, то придется свои процедуры и шрифты писать. Жаль, что ширина экрана не 512 точек
Это сейчас оно игрушка и ностальгия, а конце прошлого столетия из 8-биток остаточно извлекали хоть какую-то пользу для, условно, работы. Поэтому нужны были средства для работы с большим количеством символов в строке (а стандарт 80 символов в строке). И для учебы как разновидности работы (с теми же следствиями). Поэтому и уменьшали матрицу символа по ширине. Например драфт своего диплома я набрал на Орионе (и только чистовик конвертив МС ВОРД и под графопостроитель), это середина 90х. В CP/M Ориона даже есть драйвер 5х8 (он еще более подслеповатый чем 6х8) чтобы иметь 80 символов в 384 точечном экране (расширяемом до 400). К счастью, потом экран аппаратно расширили до 480 точек в строке (в Орионе-ПРО до 512). В драйвере экрана СP/M например можно на лету менять ширину символов выводом управляющего кода и смешивать на экране кодировки разной ширины (чем я часто пользовался - "вот тут надо полезно, а вот тут - красиво" :D )
Тут ещё такое дело. Знакогенератор символов 8х8 не получится сжать, как 6х8. А в несжатом виде он в 2-килобайтный Монитор физически не поместится.
П.С. вообще зачем придумали РФ2 на БСВВ?.. ну, были же уже РФ4 в природе
Это сейчас оно игрушка и ностальгия, а конце прошлого столетия из 8-биток остаточно извлекали хоть какую-то пользу для, условно, работы.
На "Орионе" столько лекций было набрано, столько задач по программированию решено. Маме тоже лекции по медицине набирал, методички печатали.
Кстати, а остались исходники OrionZEmu? Тут появилась мысль переделать их под Lazarus, и скомпилировать под макось с линухом.
Error404
26.11.2025, 22:05
остались исходники OrionZEmu?
Выложено по ссылке в моей подписи:
Тут ещё такое дело. Знакогенератор символов 8х8 не получится сжать, как 6х8. А в несжатом виде он в 2-килобайтный Монитор физически не поместится.
П.С. вообще зачем придумали РФ2 на БСВВ?.. ну, были же уже РФ4 в природе
а фонт внутри монитора? Это все в 2кб влазит? Зачем было так мало ПЗУ делать?
Можно наверное построить монитор, который загрузит с ром диска монитор с нужными шрифтами.
зы:
нашел
http://rdk.regionsv.ru/orion128-m10.htm
В МОНИТОРе находится и специально упакованный знакогенератор, который при пуске МОНИТОРа распаковывается и размещается в области служебного ОЗУ по адресам 0F000 - 0F2FFH. Наличие загружаемого знакогенератора позволяет производить его замену, в том числе и национальные наборы символов, а также одновременно работать с несколькими знакогенераторами.
это такой хитрый план был (
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot