Следующий шаг - другие микросхемы..
Конкретно УКНЦ мало кому интересна и ты будешь первый кто сведет это воедино :)
Здесь вообще конкретные вещи мало кому интересны :(
Вид для печати
Следующий шаг - другие микросхемы..
Конкретно УКНЦ мало кому интересна и ты будешь первый кто сведет это воедино :)
Здесь вообще конкретные вещи мало кому интересны :(
Вам это не интересно - ну окей.
Мне бы хотелось получить FPGA-клон УКНЦ.
К тому же на этом форуме "железячников" довольно много. Думаю найдутся желающие.
- - - Updated - - -
Думаю что имеет смысл использовать тот же язык, что и для описания уже имеющегося реверса ВМ2:
https://github.com/1801BM1/cpu11/tree/master/vm2
Оооочень сильный оффтопик (грохну свой пост через пару дней или после прочтения), но Ваша помощь в эмуляции 85-й машинки была бы супер востребованной :)
К сожалению голосовалка о Вашей дальнейшей "точки приложения сил", в сторону некой 16-битной ПК типа МС-0585 ;) похоже не нашла должного отклика :)
Если помните была проблема в лицензии открытых исходников XHomer на базе SIMH Тарика Исани, в данный момент это решается с правообладаетелем. В переписке он не против всех предлагаемых правок (но, тем не менее, пока этого ещё нет в его финальных сорцах).
Да я не против Вас, про другое.. вы кстати тоже не откликаетесь на новые идеи... сидите и смотрите, чтоб не ляпнуть лишнего :)
Ну что нового произошло за последние надцать.. месяцев... (я согласен у вас работы на много месяцев вперед).. но все же.
Хотя бы на то, происходит в соседних темах....
Или я на столько крут., что собрал все платы... .03 (или усраться 04) ... и все, связал свои аж.. две маштны, а что дальше?
То что Вы кладете на GitHub .. слабо даже для новичка.. к большому сожалению..
То что вы следите не всегда за форумом, наверно связано с вашей большой занятостью..
Но все таки я пишу не первый год.. и реальной поддержки так и не увидел... только .. блин микросхемами и меряются ?)
- - - Добавлено - - -
Кто из нас?
тем не менее, самый главный и важный вопрос (в моём понимании) Никита задал
https://zx-pk.ru/threads/30964-rever...=1#post1067945
Для УКНЦ есть небольшая проблема - по-хорошему, ему нужна бы двухканальная память - отдельные каналы для ЦП и ПП. Для хорошей ДВК с КЦГД - тоже. На большинстве отладочных плат и проектов типа Reverse-U16 - память одноканальная. Выкрутиться можно, но со снижением скоростных характеристик. Впрочем, родную машинку перекроет все равно в разы.
Если интерес к УКНЦ есть - я бы взялся за реализацию, с консультациями по архитектуре от местных гуру. Самое сложное - время, у меня его сейчас немного свободного, увы.
- - - Добавлено - - -
Пооткрывал уже 1811, но не фотаю. Надо закрыть М4 и ВМ3, 1811 уже пойдет после них. Есть надежда что удастся сделать считывалку ROM и PLA из 1811ВУxx, там под это дело специальная тестовая нанокоманда предусмотрена, так что объемы реверса возможно получится сократить заметно.
Ну и следи дальше за доктором Титусом... (эмулятор.. работает раза в два быстрее..., таймер врет (я уже писал об этом).. и вообще плевать Титусу на УКНЦ)....
- - - Добавлено - - -
Я к тому, что для удобства подключил Титусовский эмулятор, автоматом и был неприятно поражен.. что в итоге на реале получилось..
В итоге nzeemin рулит, хотя загрузка через жопу получается.
И вдогонку... адептам типа Хобота..грузиться можно даже с винта (без участия RT-11) вот блин чудо? (я скорее всего так и сделаю... без RT-11, память нужна- Rt11-НЕТ)
- - - Добавлено - - -
Да бростье сказать - "ХОББИ"..думал чтобы с вами сровнятьсься.. купить рухляди чуток ДВК, а как выяснилось ХУНТА скупает все платы которые появляются за любые деньги.. я не готов с Вами воевать.
(обидно.. я этого говна вынес в 90м.. дофига пока золотокопатели не пришли, ктоб знал:()
Эмулятор был написан в 2006 году без знания многих подробностей о чипах и процессоре, и с тех пор ядро принципиально не менялось. Просто подкручивать всякие гайки и тайминги по ходу - это пустое дело. Если переделывать, то заново с учетом всех подробностей о процессоре и чипах.
- - - Добавлено - - -
Точно, плевать на УКНЦ) И чипы я реверсю для папы Карло)
- - - Добавлено - - -
Я думаю, что сперва надо привести в человеческий вид реверсы всех чипов, а потом смотреть.
а что ты нового сообщил?
Группа программистов для издания\поставки ИТО "ИГРУШКА-1" и "ИГРУШКА-2" в своё время так и сделали, причём в 2-ух вариантах :
- для класса УК-НЦ - сетевой вариант
_ для РМП - вариант для отдельной машины
Возможность делать копии была только у спец.варианта пакетов и кол-во возможных копий было ограничено
Всё там очень стильно в одном ключе оформлено, сетевой вариант в архиве отсутствует.
Появилось свободное время, продолжил.
Разобрал примерно 75% схемы. Кому интересно, уже может посмотреть, как реализована палитра и видеовыход. Интересно, что при ресете, все цвета палитры устанавливаются в последовательные значения 0, 1, 2, 3, 4, 5, 6, 7. Достаточно бесполезная инициализация, на мой взгляд, учитывая, что все равно система будет прописывать свои цвета.
- - - Добавлено - - -
Заодно и выяснилось, почему этот глюк) Смотрите U36. Цвет курсора действительно накладывается на цвет изображения по OR.
Еще немного поразбирался.
Никаких недокументированных бит в регистрах управления отображением не найдено.
Биты масштаба при инициализации сбрасываются в 0, биты PB, PG, PR - имеют произвольные значения.
Кроме того PB, PG, PR, в отличие от R, G, B, выводятся в инверсном виде.
Так же никаких неизвестных особенностей 128-цветного режима не найдено.
Очень интересная и сложная система тактирования.
Пиксель клок для разрешения 640, равен 12.5Мгц,
для разрешения 320 - равен 6.25МГц.
А вот для разрешений 160 и 80 равен 3.125Мгц и 1.5625МГц, сооветветственно, но при этом может приостанавливаться, если CC1 = 1, а MO = 0.
- - - Добавлено - - -
Теперь можно посмотреть схему формирования курсора (текстового и графического), а так же часть схемы тактирования, и схему дополнительных цветов.
Разбираю счетчик точек по горизонтали.
Он очень навороченный в том плане, что распределенный, является как минимум 11-разрядным, причем при этом он является счетчиком с ускоренным переносом, и при этом он явно считает не по кругу, а до какого-то значения. Стоит ошибиться в полярности какого-то сигнала или элемента, и число до которого он считает, окажется неверным)
Это потому что гранаты у тебя не той системы. Когда я реверсил ВП1-037, то просто построил автоматически модель (сгенерировал Верилог из списка цепей PCAD своей утилитой), потом написал простенький тестбенч - и вся растактовка на диаграммах вылезла cама. Не бережете Вы себя, Юрий Бенедиктович, ой не бережете :)
Пока еще не знаю) Возможно там и 12 разрядов.
Так же непонятно, почему счетчик для позиции курсора в знакоместе (0..7) в графическом режиме курсора, сделан с учетом горизонтального разрешения, т.е. зависит от двух бит ширины точки по горизонтали, а счетчик знакомест устроен иначе, и имеет зависимость от горизонтального разрешения только в младших трех своих разрядах, а старшие 4 разряда почему-то от горизонтального разрешения не зависят. Но это предварительно.
- - - Добавлено - - -
Не владеем мы верилогами, не обучены)
Мне удобно воспринимать схему. Если она хорошо составлена, то любой человек глядя на нее сразу поймет, как и что работает. Для этого я ее таковой и рисую. А все сложности преобразования оставляем за кадром.
Координата курсора на экране (знакоместо) указывается относительно разрешения 80 символов в строке. Т.е. для разрешения 640 точек (80 символов) это будут значения 0, 1, 2, 3 и т.д. При разрешении 320 точек (40 символов) младший бит не учитывается, соответственно будут значения 0, 2, 4, 6 и т.д. При разрешении 160 точек (20 символов) уже не учитываются два младших бита, т.е. значения будут 0, 4, 8, 12 и т.д. Ну и соответственно при разрешении 80 точек (10 символов) не учитываются три младших бита, координаты будут 0, 8, 16, 24 и т.д.
Ага, вот теперь понятно, что ты имел ввиду. Просто двухканальность в привычном для нас понимании из мира PC - это всего лишь удвоенная ширина шины данных памяти. Ты же говоришь о двух независимых банках памяти.
Тогда можно для ЦП использовать основную память девборды, а для ПП использовать внутреннюю память FPGA (её объёма многих FPGA вполне достаточно для ПП) в двухпортовом режиме, потому как там ещё и видеоконтроллер расшаривает её для видеовыхлопа.