Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Чт мар 12, 2020 02:00:30 Сообщений: 70 Откуда: Ноль тринадцать в тентуре, семь по спирали, налево от "большой медведицы"
Рейтинг сообщения:0
Привет, котаны! Недавно полез в чулан и наткнулся на свою игровую консоль, которую видел рабочей лишь однажды в глубоком детстве, поиграв в неё всего 1 раз лет 30 назад. После чего работать она наглухо отказалась. Спустя треть века я решил её продиагностировать. После беглого осмотра выяснил, что это железка на некоем чипе UMC UM6599 и 2х чипов памяти спаянных стопкой. Подозрение падает собственно на сам контроллер, так как у него большое энергопотребление (почти 1А). Информации о нём в инете минимум. Главная мысль, что это чип "всё в одном" (MOS/UM6507, TIA и RIOT). Схема очень похожа на этого клона, но есть различия https://vfiuchcikicshuusrch.ddns.net/At ... y653673921
Собственно, вопросы: Есть ли владельцы данного чипа, кто готов от него избавиться?
Если нет, то, возможно, кто-нибудь знает какие-нибудь проекты - эмуляторы atari на современных МК?
Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Чт мар 12, 2020 02:00:30 Сообщений: 70 Откуда: Ноль тринадцать в тентуре, семь по спирали, налево от "большой медведицы"
Рейтинг сообщения:0
Ладно, поржали над дымом, можно еще над рыжим механиком из настольных часов. Но всё-таки, по существу: где найти этот UM6599? Или на чём собрать эмулятор?
где найти этот UM6599? Или на чём собрать эмулятор?
Смотря по вашим компетенциям. Эта самая UM6599 похоже - не имеет встроенной прошивки? Прошивка читается/выполняется похоже из внешней ROM. А значит можно просто впаять на её место (через переходник ессно) какой-нить современный микроконтроллер с Cortex-M ядром. Только или с 5V-толерантными ногами или напряжение питания на плате понизить до приемлемого уровня. Дальше просто пишем эмулятор, который будет читать команды с внешней шины и выполнять их в режиме интерпретатора. Надо только найти описание системы команд этого UM6599. С растактовкой. А скорости какого-нить STM32H723 или STM32H743 или STM32H750 о 550/480МГц тактовой должно за глаза хватить для эмуляции такого древнего CPU. При наличии полной таблицы команд, думаю можно за несколько дней это всё окучить.
Берём что-нить типа такого: https://www.aliexpress.com/item/1005005816567121.html Смотрим - какие ноги 5V-толерантные? (там таких большинство) Впаиваем короткими проводками на место UM6599. Подключаем SWD. Пишем программу. На старте программа быстренько вычитывает всю внешнюю ROM в свою внутреннюю ОЗУ (там её аж 1МБ!). Копирует код эмуляции в ту же самую ОЗУ (чтобы пошустрее). Настраивает нужную периферию и... - в путь! Имхо - самая большая сложность тут - найти толковое описание системы команд. Конечно - нужно уметь писать на ассемблере для ARM. Но имхо - это самая простая часть задачи.
Если тамошние ребята поделятся с ТС системой команд UM6599, то и местная публика может помочь с написанием эмулятора. Только именно помочь. А не написать.
смотрим оригинальную схему Arati 2600 там комплект UM6526, UM6532, UM6507 - это всё внутри um6599 um6507 - 28 выводов версия cpu 6502 um6532 - ram, timer, io-ports um6526 - PAL TV gen + ram
смотрим оригинальную схему Arati 2600 там комплект UM6526, UM6532, UM6507 - это всё внутри um6599 um6507 - 28 выводов версия cpu 6502
И зачем нам эти 28 ног? Я же писал - "вычитываем внешнюю ROM на старте в ОЗУ STM32". За примерно 1/4 секунды. Обычным ногодрыгом. И больше эти ноги не нужны.
С чем именно не справится? Там процессор работает на тактовой 1.19МГц - это в ~400 раз медленнее STM32H750. Уж не говоря о том, что и команды скорее многотактовые - а значит разница ещё больше. Скорее всего - STM32H750 будет даже слишком жирно.
PS: Лучше ТСу начать с программных эмуляторов. Их несколько тут есть: https://ru.wikipedia.org/wiki/Atari_2600 А после может и желание пропадёт эмулировать - наиграется. Имхо - без ностальгии не вижу смысла этим заниматься. А ТС вроде как и не пользовался ею практически - откуда ностальгии взяться?
Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Чт мар 12, 2020 02:00:30 Сообщений: 70 Откуда: Ноль тринадцать в тентуре, семь по спирали, налево от "большой медведицы"
Рейтинг сообщения:0
Хочется понять, чего я потерял не поигравшись в неё ) Под STM не писал ни разу. На меге 32u4 пробовал писать простенький конвертер сигналов PPM (на одной ноге принять, разобрать, немного подкрутить уровни, отправить дальше). Столкнулся к кучей ограничений из-за этого были постоянные артефакты на выходе. С обработкой кода игры и формированием ТВ сигнала, возможно, будет та же история. Не хочу. Да и программист из меня не очень.
Я пока думаю в сторону замены UM6599 на плату из 3х чипов, которые внутри были (CPU, RIOT и TIA). Их вроде бы пока можно наболтать. Эмуляторы видел, их действительно куча. Но эмулировать именно этот чип достаточно сложно из-за его "комплексности". То есть нужно программно описать 2 модуля вместо одного CPU.
Эмуляторы видел, их действительно куча. Но эмулировать именно этот чип достаточно сложно из-за его "комплексности".
Ничего там сложного. CPU проще z80, звук проще AY8912, видео режим простейший, разве что несколько спрайтов одноцветных есть. Ничего сложного относительно эмуляции других старых компов/приставок, но имея опыт написания простенькой программы на AVR такой эмуль можно никогда и не написать )
Эмуляторы видел, их действительно куча. Но эмулировать именно этот чип достаточно сложно из-за его "комплексности". То есть нужно программно описать 2 модуля вместо одного CPU.
Странно слышать такое от человека, который "Под STM не писал ни разу". Как вы можете судить тогда?
PS: Писал под ARM-ы много чего. И даже эмуляторы старых компов - дважды писал. Так что - знаю о чём говорю. Не вижу в них ничего сложного. Точнее - самое сложное там: Найти внятную, толковую документацию на чипы и на всю систему в целом. И чтобы без кучи ошибок в ней. К сожалению - в те времена ещё не делали .pdf-ов на чипы/схемы и не было всемирной сети, которая бы их сохранила. Первый свой эмулятор старого компа писал ещё в конце 90-хх. На i486DX4 100МГц под DOS. Даже уже на том древнем CPU быстродействие эмулятора превышало требуемое быстродействие во много раз. С эмуляцией всей периферии - и звука и видео. Современные ARM-ы быстрее того древнего i486DX4 ещё где-то на порядок. десятичный. Уж не говоря про всякие имеющихся в них DMA и пр.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения