Автор Тема: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"  (Прочитано 36081 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
152578-0
Вышел настоящий эмулятор игры "Ну,погоди!", которая была популярной портативной консолью 80-90х годов.
Проделана огромная работа по реверс-инжинирингу однокристальной ЭВМ КБ1013ВК1-2, в условиях отсутствия какой-либо достоверной документации.
Написаны эмуляторы процессора 1013, ЖКИ индикатора ИЖМ2-71.
Точно воспроизведены тайминги реального устройства.
Звуки генерируются непосредственно оригинальной программой из КБ1013ВК1-2.

Эмулятор выполняет те же функции, что и оригинал: помимо игры, это и часы-будильник, которые размещаются на рабочем столе, и могут подавать звуковой сигнал в заданное время.

История создания эмулятора:
http://sfrolov.livejournal.com/175067.html
http://forum.watch.ru/showthread.php?t=154411&page=30

Готовится к публикации статья с описанием КБ1013ВК1-2, системой команд, интерфейсом чтения ПЗУ и другой тех. информацией.

Программа работает под Windows (от XP до 10). Требуется DirectX 9 June 2010.
Скачать эмулятор:
« Последнее редактирование: 17 Август 2015, 23:55:39 от IgorR76 »

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Готовится к публикации статья с описанием КБ1013ВК1-2, системой команд, интерфейсом чтения ПЗУ и другой тех. информацией.
Великолепно. Ждёмс.  Повторюсь, спасибо за проделаную работу.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9375
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
суперски!
более всего порадовало, что в этой игре действительно есть чит, пусть и аппаратный  :thumbup:
знал бы в детстве - обязательно допаял бы проводок с переключателем :)

Добавлено позже:
на счет КБ1013ВК1-2 - а это отечественная разработка или всё же содрали какую буржуйскую однокристалку ?

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
КБ1013ВК1-2 - а это отечественная разработка или всё же содрали какую буржуйскую однокристалку ?

По этому вопросу достоверной информации нет. Как и нет инфы, какой чип применялся в нинтендовских играх. Полная тишина. Но сравнение японской и советской игрушки показывает их полную идентичность... А отсутствие корректной русской документации наводит на определённые выводы...

Онлайн Partsigah

  • Пользователь
  • Сообщений: 5295
  • Трёхглазый пуйошник
    • Steam
    • Youtube
    • Просмотр профиля
Цитата: MetalliC
более всего порадовало, что в этой игре действительно есть чит, пусть и аппаратный

Например?
Нашёл.
Цитата
Чтобы включить "беспроигрышный" режим в играх "Электроника", нужно замкнуть вывод 20 процессора на минус питания. Главное это делать после подачи питания, иначе игра не включится.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9375
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
ясно, спасибо за информацию. подозреваю что он может быть похож на Sharp SM510 использовавшийся японцами. надо проверить.

а саму прошивочку можно заполучить ? или это она и есть 2Кб в ресурсах экзешника эмулятора ?

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
А, кстати, да. Вы правы, SM510 похож на ВК1, но не на 100%. Там целое семейство SHARP и SANYO (например, LC57xx серия), но точного аналога я не встречал. Системы команд немного, да отличаются.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9375
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
это не совсем я, спросил у знакомого, который делал эмуляцию похожих устройств там , вот и подсказали :)
очень интересно будет почитать вашу статью, ждем с нетерпением. и еще раз спасибо за труды.

Оффлайн Sumac

  • Пользователь
  • Сообщений: 7956
  • Пол: Мужской
    • Просмотр профиля
Огромное спасибо за проделанную работу.  :thumbup:

Оффлайн Damian

  • Пользователь
  • Сообщений: 417
    • Просмотр профиля
Очень здорово.... только не знаю почему, но имеено версия ну погоди меня не цепляет... Была бы ИМ-50 Космический полет, которая стоит у меня на полке :)

Оффлайн Silver Dragon

  • Пользователь
  • Сообщений: 4771
  • Пол: Мужской
  • Ave Dominus Nox!
    • Steam
    • Просмотр профиля
Спасибо. Хорошая работа.

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
И вам спасибо за благодарности!

Теперь о вопросах про другие игры серии "Электроника".
Вообще моей целью было понять устройство игры, изучить микросхему. Эмулятор получился как следствие проделанной работы, и чтобы убедиться, что "материал усвоен и достоверен". Воспроизводить всю серию "Электроники" в планы не входило.
Всё бы ничего, можно было б и заняться другими играми, но очень много времени и трудов занимает эмуляция ЖКИ : рисование картинок, изучение топологии дисплея, составление таблиц соответствия сегментов выводам процессора. Этого мне больше не хочется делать. А без этого новую игру не сделать...
Вот если найдётся художник-дизайнер для рисования дисплеев, тогда можно продолжить эмулирование!
Кто хочет заняться - прошу "к станку" ! :)

Оффлайн v0xy

  • Пользователь
  • Сообщений: 1129
  • Пол: Мужской
    • Просмотр профиля
Замечательная работа!
Было бы отлично, если бы вы сделали проект опенсорсным. Это даст толчок для портирования эмулятора на другие платформы (в т.ч. и мобильные).

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
v0xy, ну судя по последнему предложение первого поста - информация будет, а там и опенсорс эмуляторы подтянуться, если и правда это кому-нибудь нужно будет.

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Обновлён дистрибутив эмулятора (в 1м сообщении темы).

1я часть статьи о КБ1013ВК1-2 :

Оффлайн щербаков5

  • Пользователь
  • Сообщений: 2010
  • Сама доброта во плоти
    • Просмотр профиля
Сколько не пытался настроить часы, так ничего и не вышло. Т.е. будильник установить можно, а вот выставить точное время не получается.
Также у меня почему-то не работает сброс через F4. С играми А и В проблем нет :)

*gameB - часы :)

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
 :)
В окне помощи по клавишам управления есть кнопка "Инструкция". Там сказано, что
Цитата
Функции "Сброс","Установка системного времени" доступны только когда активно окно с подсказкой клавиш управления. Когда активно окно с часами-игрой, доступны функции запуска и управления игрой, установка будильника.

P.S.
А проще установить текущее системное время, нажав F3...

Оффлайн щербаков5

  • Пользователь
  • Сообщений: 2010
  • Сама доброта во плоти
    • Просмотр профиля
Непривычный гуи какой-то :) Нельзя ли и кнопки управления и само окошко с игрой вместе склеить?

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Окно игры может масштабироваться (за правую часть окна ЖКИ). А окну помощи это повредит (будет мелко или крупно).
В режиме часов (/watch) программа располагается в правом нижнем углу экрана, и хотелось, чтобы она занимала как можно меньше места на рабочем столе. Поэтому убрана даже стандартная рамка окна Windows.
Помощь по клавишам сворачивается в трей.
А отключение функции сброса при неактивном окне сделано, чтобы случайно не сбросить часы. В настоящем устройстве для нажатия сброса нужен острый предмет. В эмуляторе - выбрать нужное окно.

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Эмулятор КБ1013ВК1-2 \"Электроника ИМ-02\" \"Ну,погоди!\"
« Ответ #19 : 01 Сентябрь 2015, 00:06:36 »
Ссылка на журнал со статьёй о КБ1013:
http://journal-club.ru/?q=node/15460

2я часть статьи про КБ1013ВК1-2.
« Последнее редактирование: 01 Сентябрь 2015, 00:18:23 от IgorR76 »

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #20 : 01 Сентябрь 2015, 00:31:01 »
И теперь можно показать код программы "Ну, погоди!" из ОЭВМ.
Дизассемблированный и "деполиномированный" листинг, получен с помощью самодельного дизассемблера.
Всё-таки лучше, чем просто hex-дамп.

Оффлайн the_Sorrow

  • Пользователь
  • Сообщений: 313
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #21 : 01 Сентябрь 2015, 00:52:18 »
Ну как ж, первая игруха) Версия "Веселые футболисты" с мартышкой и Карлсоном. 23 рубля в местном ДМ.
И упаси меня Создатель вернуться в это "счастливое" детство. :oldgamer:

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #22 : 01 Сентябрь 2015, 07:57:47 »
IgorR76, спасибо за информацию.
Вопрос появился:
я не понял строку в исходниках:
> ; PAGE #1D #1E #1F - ILLEGAL!
Почему большую часть законно дизассемблеровать, а оставшую часть 0x0740-0x07FF уже не законно?

з.ы. я не шантажирую и не давлю, мне просто интересно.
« Последнее редактирование: 01 Сентябрь 2015, 08:11:32 от s1nka »

Оффлайн max-73

  • Пользователь
  • Сообщений: 3
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #23 : 01 Сентябрь 2015, 09:41:20 »
Почему большую часть законно дизассемблеровать, а оставшую часть 0x0740-0x07FF уже не законно?
Там расположен особо охраняемый патентованный алгоритм генерации яиц.  :shifty:  :D
А если серьезно, то причина описана в 1-й части статьи: память в банке 1, соответствующая этим страницам, попросту не реализована, а при попытке доступа к ней произойдет обращение к странице 13. Так что, дизассемблировать оставшуюся часть не незаконно, а бессмысленно. :)

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4420
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #24 : 01 Сентябрь 2015, 10:13:52 »
s1nka,
а с каких пор в программировании "illegal" стало означать "незаконно"? Всю жизнь было чем-то вроде "недоступно", "ошибка" и т.д. =)

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #25 : 01 Сентябрь 2015, 11:18:31 »
Капец я днище. Читал же про 14,15,16 страницы.

Yoti, не знаю. Всю мою жизнь illegal это "незаконно". Теперь буду знать и о другом значении этого слова.

Оффлайн -v-

  • Ушел с форума
  • Сообщений: 6922
  • Пол: Мужской
  • The Third
    • Twitter
    • Steam
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #26 : 01 Сентябрь 2015, 12:08:07 »
Цитата: s1nka
Всю мою жизнь illegal это "незаконно".


Типа всё, бобик уже выехал?  :lol:

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #27 : 01 Сентябрь 2015, 13:03:48 »
-v-, ну все правильно. В данной явно ворованной винде ясно написано, что она выполняет незаконные операции.
з.ы. Окей. Окей. Убедили, что я не шарю в компах. Извиняюсь.

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4420
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #28 : 02 Сентябрь 2015, 12:54:11 »
Вспомнил. "Недопустимо", вот как точнее перевести =)

Оффлайн IgorR76

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Re: Эмулятор КБ1013ВК1-2 "Электроника ИМ-02" "Ну,погоди!"
« Ответ #29 : 03 Сентябрь 2015, 21:26:40 »
Если удастся одна идея, на днях сделаю новый эмулятор. "Ну, погоди!" версия 2.0. Где есть игра "С", когда надо в волка яйцами кидаться. Прошивка от "Разведчиков космоса".