PDA

Просмотр полной версии : Орион-Про (Orion-Power) - схемы, прошивки софт



AlexBel
11.10.2017, 19:34
Всем привет.

Решил, не торопясь, собрать "Орион-Про". Начал искать информацию и обнаружил, что в Интернет её почти нет. Удалось найти описание архитектуры со схемами, скан весьма плохого качества. Может, плохо искал. Если у кого-нибудь есть информация по "Орион-Про" - поделитесь, пожалуйста. Схемы, прошивки ПЗУ, документация... в общем, что можно. На электронную почту, личным сообщением на почту, в эту тему (думаю, это будет не лишним)...
Заранее благодарен.

Error404
11.10.2017, 21:38
А печатка есть? Или будешь заказывать?
А то я давно хочу добавить небольшие изменений (в основном в области порта принтера/IDE) да заказать себе еще штучку с такими изменениями. А так, можно было бы собрать желающих на новую партию вскладчину.
ROM-BIOS я использую какие есть тут:
https://github.com/serge-404/OriZEmu/tree/master/ROM
(файлы ROM1-*, ROM2-*).
На страничке у Denn наверное еще что-то есть, у него там же и "фирменное" (от авторов) описание страниц на сто.

- - - Добавлено - - -

Надо бы что-то типа Вики иметь, с файлотекой (как сделали по Вектору)

AlexBel
11.10.2017, 22:09
А печатка есть? Или будешь заказывать?
А то я давно хочу добавить небольшие изменений (в основном в области порта принтера/IDE) да заказать себе еще штучку с такими изменениями. А так, можно было бы собрать желающих на новую партию вскладчину.

Я не очень точно выразился. Не собрать оригинал, а сделать репликацию на FPGA. Давно хочу сделать компьютер, для которого, в плане хобби, для удовольствия, можно разрабатывать и адаптировать различную периферию и писать софт. Собственно, выбор был небольшой ("Вектор-06Ц", "Орион-128", "Орион-Про"). Остановился на "Орион-Про".
Но плату оригинального "Орион-Про" (как я понял, речь об оригинальной плате с исправлениями) за приемлемую цену я бы приобрёл - мало ли, что в голову стукнет :) Возможно, даже две.
Спасибо за ссылку на прошивки ROM! А сайт Дениса на реконструкции и, к тому же, там по "Орион-128".

АлександрПП
12.10.2017, 11:02
А то я давно хочу добавить небольшие изменений
У нас мысли одинаковые. Тоже есть желание внести в плату все изменения, что уже сделаны на предыдущей версии. Т.е. убрать доработки в виде проводов и внести их прямо на плату.
Сейчас пока дорисовываю классическую схему, потом внесу в нее все изменения и доработки, а уже потом попробую развести все по новой.

AlexBel
12.10.2017, 14:02
Посмотрел в этом разделе - да, похоже, первый раз при поиске проглядел некоторые темы с информацией по "Орион-Про". Попробую по темам собрать информацию и суммировать. Неудобство в том, что не всегда понятно, насколько информация актуальна. Например, нашёл перерисованную схему "Орион-Про", но пока что не понял, проверена ли она, содержит ли ошибки, если содержит, то где. То же касается прошивок ПЗУ и софта - много разных версий от разных авторов с разным функционалом и разной степенью совместимости. Использовав некорректную информацию легко "огрести" проблемы, причину которых можно искать довольно долго, что особенно актуально для тех, кто раньше с "Орионом" дела не имел.
Собственно, поэтому и создал эту тему - для сбора проверенных данных, что значительно облегчит изучение предмета. Думаю, это было бы полезно не только для меня - можно будет создать централизованную базу.

Denn
12.10.2017, 14:31
AlexBel, Лёш, в ВК'шечку кинул тебе инфу. В т.ч. ссылку на группу по ОРИОНУ-ПРО, где в доках всё есть.

add

Может кому-то тоже будет интересно - https://vk.com/prk_orion_pro

AlexBel
13.10.2017, 08:56
.....А так, можно было бы собрать желающих на новую партию вскладчину....

Это реальные планы, имеющие хотя бы приблизительные сроки? Если да, то можно узнать информацию о новых платах (сроки, деньги...), которая на данный момент есть? Я бы поучаствовал.

АлександрПП
13.10.2017, 09:45
Это реальные планы, имеющие хотя бы приблизительные сроки?
Заказать не проблема, минимальные пять человек, думаю, всегда наберутся. Но это касается готовой платы. Ее можно заказать хоть сегодня.
Но заказывать нужно что-то обновленное. А тут какие могут быть сроки?
Только после того как будут сделаны обновления и доработки. ERROR404 обмолвился вскользь, что есть какие-то мысли. Еще бы от РУ7-х избавиться...

AlexBel
13.10.2017, 11:09
Заказать не проблема, минимальные пять человек, думаю, всегда наберутся. Но это касается готовой платы. Ее можно заказать хоть сегодня.
Но заказывать нужно что-то обновленное. А тут какие могут быть сроки?
Только после того как будут сделаны обновления и доработки. ERROR404 обмолвился вскользь, что есть какие-то мысли. Еще бы от РУ7-х избавиться...

Собственно, я это и хотел уточнить - я же не знаю, в каком состоянии дела на настоящий момент и есть ли смысл ждать чего-то в ближайшее время.

Denn
13.10.2017, 11:28
Еще бы от РУ7-х избавиться...

Тогда заодно и кучу рассыпухи "упаковать" в ПЗУ типа WB27C512 ;)
Две штуки 512к СОЗУ (заодно бонусом получаем "метр" памяти, что не может не радовать!), несколько штук "бондов", Z80 и порты. Маленькая аккуратная платка... мечта поэта :)

AlexBel
13.10.2017, 12:14
Тогда заодно и кучу рассыпухи "упаковать" в ПЗУ типа WB27C512 ;)
Две штуки 512к СОЗУ (заодно бонусом получаем "метр" памяти, что не может не радовать!), несколько штук "бондов", Z80 и порты. Маленькая аккуратная платка... мечта поэта :)

Кучу рассыпухи в ПЗУ упаковать не получится, для этой упаковки требуются ПЛИС, кои ты так не любишь :)

АлександрПП
13.10.2017, 12:42
Да, кто бы схему сделал. Будет схема - будет плата.

Denn
13.10.2017, 13:37
Кучу рассыпухи в ПЗУ упаковать не получится, для этой упаковки требуются ПЛИС, кои ты так не любишь :)

У одной ПЗУ есть 16 входов и 8 выходов, логика между ними реализуется абсолютно любой сложности. Не упаковывается в ПЗУ только логика с памятью (триггеры, регистры, счётчики), а все эти 100500 "ЛА3" и иже с ним - запросто. Вопрос лишь в быстродействии (у бонда это 45 нс).
ПЛИС - это совсем другая эпоха, и её программирование с помощью средств эпохи Ориона невозможно, так что мимо кассы.

П.С. Орион на ПЛИС уже есть, проект кажется назывался Орион-2010 или как-то так. В массы не пошёл, видимо как раз по причине "нефеньшуйности" (неаутентичности 8-битной эпохе).

AlexBel
13.10.2017, 13:48
Ну вот, посмотри схему компьютера - сколько там счётчиков, отдельных триггеров, регистров-защёлок... Да, немного логики можно засунуть в ПЗУ (как сделано в "Профи"), но сильно этим схему упростить не получится. Наверное, лучше всего ПЗУ-шками заменять дешифраторы, но сколько их в схеме...

- - - Добавлено - - -

Вопрос по клавиатурам. Насколько я понял, совместно с "Орионом" используется клавиатура от "РК-86" и МС-7007, других нет. Родной для "Ориона" считается МС7007, правильно? Или есть ещё другие?

Denn
13.10.2017, 13:57
AlexBel, по факту на плате один "бонд" занимает место равное двум ЛА3. Этой самой "ЛА3"-рассыпухи на плате очень много! Основное место занимают: лопата РУ7-ых, кирпичи ВВ55 и та самая куча рассыпной логики. РУ'шки пакуются в две аккуратные СОЗУ (в одну увы никак, т.к. видеовывод требуется параллельный для пикселей и атрибутов цвета). С портами ничего не сделать, они тупо большие, но они нужны (хотя может и не все?). А вот россыпь как раз приличными шмотками можно запихнуть в ПЗУ. КНГМД можно не делать, ну или (для аутентичности) сделать в виде карты расширения. Имхо, получится весьма компактный девайс, и при этом аутентичность будет сохранена чуть менее, чем полностью :)

- - - Добавлено - - -


Родной для "Ориона" считается МС7007, правильно? Или есть ещё другие?

Неправильно. Стандартом для Ориона является клавиатура "РК-86". А современным "стандартом" её эмуляция в виде связки МК + клава от писи.
Для 7007-ой нужен отдельный (специально заточенный) Монитор (а-ка БИОС), и её "национальные особенности" не поддерживаются в игровом ПО, которое из соображений быстродействия обращается напрямую к железке, минуя стандартные п/п Монитора.

AlexBel
13.10.2017, 14:07
Ну, спорить не буду, у каждого своё вИдение. Скажу только, что ПЛИС использовались задолго до появления "Ориона", например, в известных ZX-81, ZX-Spectrum. И, кстати, у нас тоже использовалась - достаточно вспомнить те же Спектрум-совместимые "Кворум", "Компаньон", "АТМ", "Скорпион"... Так что использование ПЛИС канонов не нарушает (во всяком случае, нарушает не больше, чем использование ПЗУ вместо логики), а схему и, соответственно, плату упрощает значительно. Плюс - добавляется возможность лёгкой модификации схемы без разрезания дорожек, пайки МГТФ и, как вероятное следствие, внесение попутно с исправлениями новых ошибок в виде тех же "соплей" при пайке. Ну, а степень "проникновения" ПЛИС в схему каждый разработчик определяет для себя самостоятельно - один сделает на ПЛИС видеоконтроллер, другой засунет всё, в т.ч. и процессор :)

По клавиатуре - правильно ли я понял, что свежесобранный "Орион-Про" с правильными (не кастомными) прошивками ПЗУ рассчитан на работу с клавиатурой от "РК-86"?
По всяким адаптерам PS/2 - они не являются стандартом, а эмулируют его и, поэтому, на данный момент, интереса не представляют.

Denn
13.10.2017, 14:46
степень "проникновения" ПЛИС в схему каждый разработчик определяет для себя самостоятельно - один сделает на ПЛИС видеоконтроллер, другой засунет всё, в т.ч. и процессор :)

Разумеется. Я для себя считаю, что допустимо всё, что в корпусах DIP и не требует для программирования "вражеских писюков". Эмуляция процессора на ПЛИС - это уже совсем не Орион, а "резиновая баба" в моём представлении.
Мне по теме Ориона интересно играться в то, что можно было сделать тогда (в ту эпоху, в том регионе) из тех самых подручных средств.

https://pp.userapi.com/c841134/v841134430/297ff/C_8jW0rQlbY.jpg

Если у нас есть писи и алиэкспресс, то нафига нам Орион вообще?
Единственный момент, где я смог "задушить жабу религии" - это хранение файлов 8-биток на писи. Исключительно из соображений удобства, надёжности, скорости и - главное - возможности обмена. Я бы мог точно также заниматься разработкой ПО с использованием дискет, но просто жалко времени (и может даже нервов).




По клавиатуре - правильно ли я понял, что свежесобранный "Орион-Про" с правильными (не кастомными) прошивками ПЗУ рассчитан на работу с клавиатурой от "РК-86"?

ПРО'шка классный и универсальный, поэтому у него заложена поддержка обеих клавиатур (выбор джампером на плате, контроль через меню БИОСа). Но это будет работать только в том случае, если прикладное ПО работает с клавиатурой через п/п Монитора, о чём я писал выше. Нужна ли такая ограниченность? РК'шная клава остаётся основным стандартом, именно поэтому её (а не 7007) эмулирует МК-версия.



По всяким адаптерам PS/2 - они не являются стандартом, а эмулируют его и, поэтому, на данный момент, интереса не представляют.

Адаптер просто имитирует аппаратную клаву РК-86. Орион об этом никак не знает, он получает замыкания линий порта ВВ55, как будто это делают кнопки РК'шной клавиатуры. Полнейшая аппаратная эмуляция, не более того.
Если есть возможность сделать настоящую "тёплую ламповую" клавиатуру, то это конечно лучше. Но далеко не у всех хватает терпения на такие подвиги. При этом писишная клава доступна сейчас всем и каждому, и практически даром. Вопрос практичности, не более.

П.С. кстати, совместимость писишной клавы всё таки не полная! Русские буквы на "вражеской" раскладке не совпадают :(
Программно этот недостаток устраним, но опять же.. в старом ПО оно не поддержано, а доделывать его вряд ли кто-то будет.

TomaTLAB
13.10.2017, 15:32
Не упаковывается в ПЗУ только логика с памятью
Регистр на выход, после него сигналы (часть) обратно на вход и получаем классический автомат Мили. Практически почти аналог PAL/GAL.
Широкому применению по тем временам мешала цена ПЗУ.
Вернее цена ячейки при низкой, в данном применении, эффективности использования ячеек, что собственно и привело к разработке тех же PAL и прочих ПЛМок.

- - - Добавлено - - -


Русские буквы на "вражеской" раскладке не совпадают Не русские, а таки латинские. JCUKEN :)
Должно лечится правкой таблицы перекодировки "кнопка-символ", но если прога за буквами лезет напрямую в порт, то да это "неизлечимо" 6)

Denn
13.10.2017, 15:38
Широкому применению по тем временам мешала цена ПЗУ.

Не всем мешала :)
На самом деле мешало быстродействие ПЗУ тех времён и отсутствие софта для написания такой "прошивки".



Не русские, а таки латинские. JCUKEN :)

Таки русские. Конвертер в МК изначально заточен под Латиницу, и она по-умолчанию работает корректно. А вот русские буквы позиционно не совпадают с латинскими, как в раскладке РК.

AlexBel
13.10.2017, 15:42
Если у нас есть писи и алиэкспресс, то нафига нам Орион вообще?
Точно! И если мы умеем плавать, то зачем нам играть на пианино?


РК'шная клава остаётся основным стандартом, именно поэтому её (а не 7007) эмулирует МК-версия.
"МК-версия" эмулирует клавиатуру "РК-86" потому, что так сделал разработчик PS/2-адаптера. Если бы Камиль захотел (наверное, речь об адаптере Камиля, да?), то сделал бы эмуляцию 7007 или вообще - поддержку обоих видов клавиатур.


совместимость писишной клавы всё таки не полная! Русские буквы на "вражеской" раскладке не совпадают
Это решается довольно легко - в адаптере PS/2 производится автоматическое переключение раскладки в зависимости от того, русские или латинские буквы используются - только и всего. Так сделано в моём адаптере клавиатуры PS/2 для "Агата". Правда, сделано не мной - моя прошивка умела только передавать коды символов без учёта раскладки русских букв, дальше я её развивать не стал. Ну, это так, ради справедливости и исторической точности :)


Программно этот недостаток устраним, но опять же.. в старом ПО оно не поддержано, а доделывать его вряд ли кто-то будет.
Доделывать - возможно и не будут. А вот изготовить другой - возможно.

Вообще, я собираюсь сделать для "Ориона" клавиатуру с отечественной раскладкой и расположением кнопок "по канонам" - есть и кнопочки с девственными крышечками и дружба с операторами на лазерном гравере :) Но, на первое время вполне достаточно адаптера с PS/2.


Мне по теме Ориона интересно играться в то, что можно было сделать тогда (в ту эпоху, в том регионе) из тех самых подручных средств.
Я же говорю - у каждого своё вИдение. Для меня "Орион" - чёрный ящик с определёнными характеристиками и возможностями развития. И что внутри этого чёрного ящика, для меня не очень важно, лишь бы был требуемый функционал. Поэтому без зазрения совести использую современные элементы - FPGA, контроллеры, планарный монтаж, SVGA-стандарты - цель оправдывает средства, а пайка сотен корпусов мне удовольствия не доставляет :)

TomaTLAB
13.10.2017, 15:54
Таки русские. А... Прошу пардону, это у меня от MSX "поклинило" :)

- - - Добавлено - - -


На самом деле мешало быстродействие ПЗУ тех времён и отсутствие софта для написания такой "прошивки".
Да, я думаю и то, и то мешало, кому одно, кому другое, кому все сразу :) Сама идея то, никому не мешала и вполне в духе.
Промышленные компики изрядно теми же РТ-шками утыканы. А вот радиогубителям они были да, "поперек организму".
Да и сейчас РТ-шки попаболи доставляют, бо их прошивать тот еще квест.

Гнаться за 100% "аутентичностью", я считаю имеет смысл если собирать машинку в "белом золоте", но тут нужно конкретно на земноводное наступить :)

Denn
13.10.2017, 17:03
"МК-версия" эмулирует клавиатуру "РК-86" потому, что так сделал разработчик PS/2-адаптера. Если бы Камиль захотел (наверное, речь об адаптере Камиля, да?), то сделал бы эмуляцию 7007 или вообще - поддержку обоих видов клавиатур.

Именно Камиль. И сделал он поддержку именно базовой стандартной клавиатуры Ориона (РК86) и не стал делать 7007-ю из-за бессмысленности по причине её несовместимости с некоторым софтом.

http://megasmi.net/uploads/rss/500x300/2016-12/122563456_e-news.su_574.jpeg

- - - Добавлено - - -


Это решается довольно легко - в адаптере PS/2 производится автоматическое переключение раскладки в зависимости от того, русские или латинские буквы используются - только и всего.

А как адаптер, который находится за ВВ55, узнает о том, какой сейчас язык выбран на компьютере? Теоретически это было бы возможно организовать (через светодиод РУС/LAT), но практически этой ОС в МК-версии нет.

- - - Добавлено - - -


Для меня "Орион" - чёрный ящик с определёнными характеристиками и возможностями развития. И что внутри этого чёрного ящика, для меня не очень важно, лишь бы был требуемый функционал.

Есть замечательный эмулятор от b2m, там функционал Ориона 1:1, и не надо махать паяльником вообще! Нужно добавить свой функционал? Нивапрос! Это делается с помощью клик-клик, клац-клац, не отрывая 5-ой точки :)

AlexBel
13.10.2017, 17:28
А как адаптер, который находится за ВВ55, узнает о том, какой сейчас язык выбран на компьютере?
При включении компьютера по-умолчанию какие символы установлены? Латинские? Ну и замечательно - при нажатии "РУС/ЛАТ" будет меняться состояние соответствующего сигнала и раскладка клавиатуры на "РУС". Ещё нажатие - возвращаемся обратно. Это первый вариант. Второй - использовать смену раскладки отдельной кнопкой (или комбинацией), независимо от "РУС/ЛАТ". Так что отсутствие обратной связи в данном случае - небольшое неудобство, не более.


Есть замечательный эмулятор от b2m, там функционал Ориона 1:1, и не надо махать паяльником вообще! Нужно добавить свой функционал? Нивапрос! Это делается с помощью клик-клик, клац-клац, не отрывая 5-ой точки
Я уверен, те, кого интересует программная эмуляция "Ориона", это оценят по достоинству.

- - - Добавлено - - -

P.S. Может, медведя под спойлер засунуть? ;)

Denn
13.10.2017, 18:01
При включении компьютера по-умолчанию какие символы установлены? Латинские? Ну и замечательно - при нажатии "РУС/ЛАТ" будет меняться состояние соответствующего сигнала и раскладка клавиатуры на "РУС". Ещё нажатие - возвращаемся обратно. Это первый вариант.

Это не вариант, т.к. без ОС будет лажа. Опрос клавы в РК86/Орионах происходит программно, и только в те моменты, когда ПО обращается к соотв. п/п Монитора (без использования прерываний). Кнопку я могу нажать в момент отрисовки или скроллинга экрана или ещё в какой-то момент, когда на экране не будет присутствовать мигающий курсор - с этого момента начнётся расхождение. Далее - аппаратный сброс ПРК скидывает Орион, но не МК. В общем, дружбы не получится.



Второй - использовать смену раскладки отдельной кнопкой (или комбинацией), независимо от "РУС/ЛАТ". Так что отсутствие обратной связи в данном случае - небольшое неудобство, не более.

Бывают ситации, когда либо удобно, либо нафик не нужно. Вот этот вариант как раз из этой серии. Переключать алфавит и раскладку разными кнопками... нет, "спасибо".

AlexBel
13.10.2017, 18:13
Я лишь привёл примеры решения, а уже каждый для себя решает, использовать их или нет.

Сейчас посчитал - кнопок вполне достаточно и даже с запасом. Нужно только сделать гравировку надписей и немного изменить расположение кнопок на правой группе.
62515

Error404
13.10.2017, 19:35
У одной ПЗУ есть 16 входов и 8 выходов, логика между ними реализуется абсолютно любой сложности. Не упаковывается в ПЗУ только логика с памятью (триггеры, регистры, счётчики), а все эти 100500 "ЛА3" и иже с ним - запросто. Вопрос лишь в быстродействии (у бонда это 45 нс).
ПЛИС - это совсем другая эпоха, и её программирование с помощью средств эпохи Ориона невозможно, так что мимо кассы.


Да, мысль хорошая. Я давно ее думаю, но сам такое делать не потяну. :)
Кроме того, ее можно развить до использования в "маппере" кроме нескольких ПЗУ еще и несколько ОЗУ типа быстрой "узкой" статики с 386х (те же 15-16 входов и 8 выходов). Т.е. в ПЗУ "маппера" держать базовый конфиг 128-го чтобы Орион стартанул и прогрузился с носителя, а затем с того же носителя можно подгружать в ОЗУ "маппера" информацию о расширенных портах и режимах (например тот же ПРО или режим VGA где меняется пересчет счетчиков или еще на что фантазии хватит).



П.С. Орион на ПЛИС уже есть, проект кажется назывался Орион-2010 или как-то так. В массы не пошёл, видимо как раз по причине "нефеньшуйности" (неаутентичности 8-битной эпохе).

В-основном, из-за того что чего-то нехватало в VHDL-ном T80 (некоторое ПО с реала висло на ПЛИС), а железного Z80 туда не ставили т.к. хотели "всё в одном".

HardWareMan
13.10.2017, 20:10
Единственная проблема ПЛМок на базе ПЗУ - это иголки на шине данных. Их можно избежать только буферизировав регистром выход и/или вход. Тема скользкая, но решаемая.

У одной ПЗУ есть 16 входов и 8 выходов, логика между ними реализуется абсолютно любой сложности. Не упаковывается в ПЗУ только логика с памятью (триггеры, регистры, счётчики), а все эти 100500 "ЛА3" и иже с ним - запросто. Вопрос лишь в быстродействии (у бонда это 45 нс).
Вега 120МП или 122МП. РТ2, что там применяется никакая не ПЛМ, это обычное ПЗУ большой ёмкости. Для реализации триггера часть выходов заведена на вход.

ivagor
13.10.2017, 20:27
В-основном, из-за того что чего-то нехватало в VHDL-ном T80 (некоторое ПО с реала висло на ПЛИС)
Давно есть правленый T80, встречал в одном из проектов спека. Когда в другом спеке что-то не пошло, заменил на правленый t80 и заработало.

AlexBel
13.10.2017, 20:48
Давно есть правленый T80, встречал в одном из проектов спека. Когда в другом спеке что-то не пошло, заменил на правленый t80 и заработало.

Если вспомнится, в каком "Спектруме" использован правленый Т80 - напиши, пожалуйста.

ivagor
13.10.2017, 21:03
Сейчас посмотрел проекты - последнюю версию T80, которую вижу - 0249 (в OneChipMSX и в спеке vlada для Reverse). В плисовом орионе - 0247.

shurik-ua
13.10.2017, 21:17
У Влада самая православная, я тоже немного приложил руку )

AlexBel
13.10.2017, 21:21
Сейчас посмотрел проекты - последнюю версию T80, которую вижу - 0249 (в OneChipMSX и в спеке vlada для Reverse). В плисовом орионе - 0247.

Т.е. в OneChipMSX - самая правильная? А на OpenCores?

ivagor
13.10.2017, 21:27
Могу привести пару строк с историей правок из последней имеющейся у меня версии (может с тех пор еще правили)
-- 0248 : add undocumented DDCB and FDCB opcodes by TobiFlex 20.04.2010
--
-- 0249 : add undocumented XY-Flags for CPI/CPD by TobiFlex 22.07.2012

AlexBel
13.10.2017, 21:43
На OpenCores последняя версия:
0247 : Fixed bus req/ack cycle

Да, похоже, нужно использовать Т80 из OCM. Спасибо за инфо!

AlexBel
15.10.2017, 17:02
Могу привести пару строк с историей правок из последней имеющейся у меня версии

У меня есть проект "Орион-128" на борде Altera DE1, который делал когда-то мой товарищ. В этом проекте используется ядро T80:
-- 0247 : Fixed bus req/ack cycle

Собрал проект с ядром от OCM (добавив использующийся в проекте отсутствующий файл T80s.vhd от старого ядра), взятом с сайта Камиля:
-- 0247 : Fixed bus req/ack cycle
-- 0248 : add undocumented DDCB and FDCB opcodes by TobiFlex 20.04.2010
-- 0249 : add undocumented XY-Flags for CPI/CPD by TobiFlex 22.07.2012

Компьютер не запустился. Можешь дать ядро Т80, о котором говорил? Или, если можно, весь проект.


У Влада самая православная, я тоже немного приложил руку )

А её можно где-нибудь взять?

ivagor
15.10.2017, 17:31
Вот доработанный вариант, которым легко заменить 0247. В начальных комментариях доработки не отображены, но если сравнить, то отличия будут видны

AlexBel
15.10.2017, 17:36
В начальных комментариях доработки не отображены, но если сравнить, то отличия будут видны

А доработки 248 и 249 там присутствуют?

ivagor
15.10.2017, 17:52
А доработки 248 и 249 там присутствуют?
Не сравнивал. Но я именно про этот вариант писал:

Когда в другом спеке что-то не пошло, заменил на правленый t80 и заработало.
Это из какого-то спектрума. Если не ошибаюсь, мне подсказал про эту версию zebest, может он лучше помнит откуда она.

- - - Добавлено - - -

Кстати, когда адаптировал орион-2010 на de2-115 (sof выложен где-то в орионовском разделе) еще не знал про эту версию t80 и там "старая".

- - - Добавлено - - -

Нашел, эта версия t80 из tsconf (конкретно вариант vlada для reverse). Я ее потом еще в паре проектов использовал.

AlexBel
15.10.2017, 18:14
Вот доработанный вариант, которым легко заменить 0247.

"В лоб" заменить 0247, используемый в проекте (насколько я помню, он взят с OpenCores) не вышло - проект собирается, но Т80 в нём отсутствует. Буду искать отличия.

Моя цель - найти наиболее правильное, совместимое ядро для "Ориона". Проект, который я использую для проверки разных Т80, мало использовался, он был разработан при изучении Верилога, поэтому неизвестно, какой софт на нём работает, а какой - нет. Какими программами для "Орион-128" можно проверить совместимость ядра? В каких файлах ядра произведены доработки? Хочу попробовать заменить только эти файлы...

shurik-ua
15.10.2017, 18:17
А её можно где-нибудь взять?
тут - http://zx-pk.ru/threads/13875-reverse-konfiguratsii.html?p=599660#post599660
Т80 который точно проходит Zexall.

Предыстория такова - Т80 взят с сайта Caro, который в свою очередь долго допиливался на msx.org - затем добавлены фиксы от syd (можно найти в теме про Speccy2010) - и затем уже проверялось всё в Zexall на базе Reverse девборд.

p.s. щас глянул там скомпиленные прошивки - сорцы тут

AlexBel
15.10.2017, 18:51
p.s. щас глянул там скомпиленные прошивки - сорцы тут

Спасибо!

ivagor
15.10.2017, 20:15
Оффтоп, но нужно дополнить мои посты про замену t80 в орионе-2010. Этот вариант (http://zx-pk.ru/threads/28219-orion-pro-(orion-power)-skhemy-proshivki-soft.html?p=932320&viewfull=1#post932320) заработал в 2010 после легкой доработки напильником T80.vhd. Приложил доработанный файл (при использовании в других проектах адрес после ресета стоит откорректировать, остальное трогать скорее всего не придется).

AlexBel
16.10.2017, 08:14
Если я правильно понял, последовательность действий такова:
1. Берём исходники Т80 из поста 40 (http://zx-pk.ru/threads/28219-orion-pro-(orion-power)-skhemy-proshivki-soft.html?p=932337&viewfull=1#post932337)
2. В этих исходниках удаляем файл T80.vhd и заменяем его файлом из поста 42 (http://zx-pk.ru/threads/28219-orion-pro-(orion-power)-skhemy-proshivki-soft.html?p=932352&viewfull=1#post932352)
3. Файлы T80a.vhd и T80s.vhd (в проекте задействован T80s.vhd) берём из версии 0247

Правильно?

ivagor
16.10.2017, 09:23
Берем исходник из поста 36 (http://zx-pk.ru/threads/28219-orion-pro-(orion-power)-skhemy-proshivki-soft.html?p=932320&viewfull=1#post932320), если речь об использовании в орионе-2010. Если в другом проекте, то можно сначала попробовать T80.vhd из поста 36. Если не пойдет, то из поста 42, только на адреса после ресета нужно обратить внимание.
По пункту 3 - T80a.vhd и T80s.vhd в оригинальном 0247 и правленом 0247 (пост 36) идентичны.

AlexBel
16.10.2017, 09:45
Про "Орион-2010" я ничего не знаю, у меня другой проект "Орион-128" на FPGA, в котором я и меняю ядро. "Орион-2010" - проект открытый? С ним можно ознакомиться на уровне исходников?
Собственно, как я уже писал, задача не столько в том, чтобы заставить правленное ядро работать в проекте (это просто для проверки), сколько для того, чтобы получить наиболее правильное (совместимое с Z80) ядро для использования в новом проекте "Ориона".
В ядре из поста 40 адрес сброса 0x0000, в T80.vhd из поста 42 - 0xF800. В изначально использованном в проекте (с которым "Орион" работает) - 0xF800.
Попробую использовать ядро из поста 40 без замены T80.vhd с исправленным адресом сброса, может, заработает. Но ситуация удивляет - в ядре, насколько я понял, правилось выполнение команд, что не должно влиять на совместимость, т.е. если проект работает на более ранней версии ядра, то он должен работать и на более поздней. Пока причина не найдена, на мой взгляд, рискованно начинать новый проект.

Про T80a.vhd и T80s.vhd спросил потому, что их не обнаружил в правленных Т80.

ivagor
16.10.2017, 09:54
Стоп, я поторопился с ответом. Думал пост 40, это тот, который я выкладывал, а это оказался пост shurik-ua (я тот вариант не пробовал). Откорректировал свой ответ, вместо поста 40 я имел в виду пост 36 (http://zx-pk.ru/threads/28219-orion-pro-(orion-power)-skhemy-proshivki-soft.html?p=932320&viewfull=1#post932320).

- - - Добавлено - - -

Автор Ориона-2010 Ewgeny7, при участии, как я понимаю, Errora404. Они лучше расскажут про него.

AlexBel
16.10.2017, 10:19
Спасибо ещё раз! Вечером опробую.

Error404
16.10.2017, 12:10
Автор Ориона-2010 Ewgeny7, при участии, как я понимаю, Errora404. Они лучше расскажут про него.

Мое участие было весьма скромным, проект разработал Ewgeny7. Призываю его в тему. :) Он вроде не делал тайны из проекта, так что может зальет сорцы на Github?
Хороший повод снять проект с полки и допилить до идеала - с ядром с новыми командами и может чем-то еще (например, контроллером SPI из этой темы (http://zx-pk.ru/threads/27393-spi-kontroller-dlya-oriona-na-diskretnykh-is.html)?).

AlexBel
16.10.2017, 12:36
Ну, зальёт - хорошо, не зальёт - не страшно. "Орион" на FPGA у меня есть, хотя, конечно, всегда интересно посмотреть чужие исходники, в т.ч. Т80 не вырванный из проекта, а в составе.

Denn
16.10.2017, 13:03
"Орион" на FPGA у меня есть...

Такой?

http://denn.ru/orion/igor_t-01.jpg

:)

AlexBel
16.10.2017, 13:28
Знакомая платка переходничка на IDE. "Маска, а я тебя знаю!" (с) :)
Да, такой. От того же автора, что и переходник :)

AlexBel
16.10.2017, 19:56
Откорректировал свой ответ, вместо поста 40 я имел в виду пост 36.
Проект собирается без ошибок, но видно, что ядро в проект не попадает, весь проект занимает очень мало ресурсов:
62553
А Т80 в проекте занимает аж 1 Logic Cell :)
Хотя исправный проект занимает порядка 3000LEs.

Но зато работает ядро от OCM - заработало бы и раньше, да я забыл адрес сброса изменить на 0xF800. Завтра буду разбираться в причине, хотелось бы докопаться до причины...

ivagor
16.10.2017, 20:21
работает ядро от OCM
Значит t80 используется не через t80s. Во всех трех проектах, в которых работает вариант из поста 36 (или 36+42) используется t80s. Через t80a и t80se эту версию не пробовал.

AlexBel
16.10.2017, 20:40
Значит t80 используется не через t80s

Через него:
T80s T80s(
.RESET_n(RESET_n),
.CLK_n(CLK_CPU),
.WAIT_n(1'b1),
.INT_n(1'b1),
.NMI_n(1'b1),
.BUSRQ_n(1'b1),
.RD_n(RD_n),
.WR_n(WR_n),
.M1_n(),
.MREQ_n(MREQ_n),
.IORQ_n(IORQ_n),
.RFSH_n(RFSH_n),
.HALT_n(),
.BUSAK_n(),
.A(A),
.DI(D_I),
.DO(D_0)
);

ivagor
16.10.2017, 20:49
В вариантах ocm, которые скачивал и пробовал, t80s не было.

AlexBel
16.10.2017, 20:56
И в тех, что я скачивал, не было. Я добавил из того ядра, которое было раньше в проекте.

ivagor
16.10.2017, 21:16
T80 из OCM + t80s.vhd из комплекта 0247 завелся в 2010, но стоит отметить, что без микрокоррекций в t80s не обошлось. Т.е. для 2010 можно брать и из OCM и из спеков vlada, только нужно чуть-чуть допиливать.

AlexBel
16.10.2017, 21:21
Возможно, эти микрокоррекции относятся именно к 2010? Во всяком случае, я никаких коррекций не производил и компьютер заработал. Правда, дальше приветствия ORDOS не проверял.
Интересно, ядро из OCM достаточно правильное, чтобы его использовать в проекте "Орион-Про", не возвращаясь к вопросу совместимости?

ivagor
16.10.2017, 21:35
Наверно достаточно будет прогнать zexall. Например здесь (http://mdfs.net/Software/Z80/Exerciser/) есть для cp/m и спектрума. Возможно есть более поздние версии, но я не в курсе.

AlexBel
17.10.2017, 11:07
Есть какой-нибудь проект Спектрума на FPGA, с использованием T80 и поддержкой .tap? Ну, так, чтобы время на поиске сэкономить - я бы на DE1 его загнал и проверил бы...
У меня есть где-то парочка спектрумов для DE1, но они не работают с накопителями и им нельзя скормить .tap-файл.

ivagor
17.10.2017, 14:15
T80 из OCM прошел zexall - "все OK". А вариант из поста 36 не идеален.

AlexBel
17.10.2017, 14:22
Спасибо! Его и буду использовать. Из какой версии OCM тестировался T80?
Скорее всего, в последних версиях ядра все одинаковые, но, мало ли...
Думаю, может переименовать тему - вдруг кому-нибудь тоже будет полезно...

ivagor
17.10.2017, 14:31
Вариант, который я тестировал, идентичен тому, который на сайте (http://caro.su/msx/ocm_de1.htm) caro. Только T80s из 0247 с "микрокоррекцией".

OrionExt
17.10.2017, 14:31
Да что ж не так-то с ядром T80?) Если с этого ядра не выжимать все соки (не юзать хитры фичи реального Z80), а на Орионе такой софт не замечен.

Когда развлекался с FPGA c привязкой к Ориону использовал ядро T80 c примеров Grant Searle. А оно там самое обыкновенное и проблем не было.

А вот когда захотелось реальную растактовку (такты как в реальном Z80) то да, там этого нет.

AlexBel
17.10.2017, 14:36
В проекте "Орион" на FPGA, который пользую я для проверки, тоже обычное Т80 с OpenCores и работает (правда, софта на нём проверялось немного). Но хочется использовать уже доработанное и максимально совместимое, чтобы (ну, мало ли?) избежать возможных, связанных с этим, проблем. Вот и всё :)
Если есть что-то лучшее, то почему бы не использовать? ;)

OrionExt
17.10.2017, 14:42
Я бы решал проблемы по мере их поступления, ну это мое. А так до. Знал бы где упасть – соломки постелил;)

AlexBel
17.10.2017, 14:46
Вариант, который я тестировал, идентичен тому, который на сайте caro. Только T80s из 0247 с "микрокоррекцией".
Я тоже оттуда брал.
"Микрокоррекция" связана с конкретным проектом (2010), а не с совместимостью с Z80?

- - - Добавлено - - -


Я бы решал проблемы по мере их поступления, ну это мое. А так до. Знал бы где упасть – соломки постелил

Ну вот я и стараюсь соломки побольше разбросать заранее :)
А проблем и без этого будет достаточно, т.к. "Орион" и его софт для меня штука малознакомая :)

Denn
17.10.2017, 14:48
Предлагаю тему переименовать в "Орион-ПРО на FPGA и Т80".

ivagor
17.10.2017, 14:49
"Микрокоррекция" связана с конкретным проектом (2010), а не с совместимостью с Z80?
Я тестировал в спектруме by Ewgeny7, но правка такая же, как и для 2010 - закомментил 5 "лишних" сигналов (SavePC ... RestorePC_n) при обращении к T80.

AlexBel
17.10.2017, 14:55
Предлагаю тему переименовать в "Орион-ПРО на FPGA и Т80".

Переименовал.

- - - Добавлено - - -


Я тестировал в спектруме by Ewgeny7, но правка такая же, как и для 2010 - закомментил 5 "лишних" сигналов (SavePC ... RestorePC_n) при обращении к T80.

Понял, ещё раз спасибо. С ядром вопрос закрыт... пока что :) :)

Error404
17.10.2017, 21:15
А что такое "OCM"?

ivagor
18.10.2017, 07:13
One Chip MSX