Приставка для видеоигр Dendy

MOS Technology / Commodore / Apple II / NES etc.

Moderator: Lavr

User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Приставка для видеоигр Dendy

Post by Lavr »

Отдельного топика про игровую приставку Dendy у нас нет, поэтому я решил, что его надо сделать. :lol:

Мне понравилась статья:
Легенда о слоне: как IT-компания Steepler создала Dendy и основала российский консольный рынок

Мне интересной показалась часть про Видеоигры в СССР, и что явилось прототипом слонёнка Dendy... :wink:

Да и в целом - материал подробный и добротный... :kruto:

Также объёмный пересказ всей истории Dendy есть здесь:

Играют все! Краткая история фирмы Steepler и главной российской консоли Dendy

Обычно я пишу "случайно попалось"... этот материал попался не совсем случайно, а как бы "по пути"... :wink:
Очень мне стало интересно вдруг: а что за фирма такая - UMC, которая слепила вот этот чип:

Image

на который по сей день не найти никакой документации? :roll:

И любопытство своё я также удовлетворил: это - United Microelectronics Corporation
UMC.PNG
Ну и последнее интересное, что попалось по пути: Краткая история NES.

Обычно пишут, что фирма Ricoh выбросила BCD-инструкции с чипа 6502 для общего удешевления приставки NES.
К моему удивлению и это оказалось не так! :roll:
У Ricoh была лицензия на производство 6502, однако не было лицензии на функцию «binary-coded decimal» (BCD) чипа. Чтобы не ссориться с MOS Technologies, в процессоре Ricoh были перерезаны все электрические соединения между модулем BCD и остальной частью чипа. Когда MOS Technologies купила компания Commodore, последняя попыталась засудить Nintendo за нарушение лицензии, но сдалась, когда инженеры Commodore обнаружили внесённые Ricoh изменения.
То есть модуль BCD в микропроцессорах NES от Ricoh был... но ничего не делал... :o
Это чем-то похоже на "куплю билет на маршрутку... но из принципа поеду на трамвае..." :lol:

Я, удивившись, подумал: надо было отрезать модуль BCD плавкими свинцовыми перемычками...
Потребитель нагревает микропроцессор Ricoh и модуль BCD - цепляется на место! :ebiggrin:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Приставка для видеоигр Dendy

Post by Lavr »

Lavr wrote:
Lavr wrote:
Shaos wrote:
Lavr wrote: ... , эта статья легко находится, автор - Сергей Веремеенко.
Shaos автора, вероятно, знает, поскольку это - его земляк из Ё-Бурга... :wink:
Ну в Ёбурге и окрестностях живёт больше 2 миллионов человек - я честно их всех не знаю :roll:
Но это ж известный в прошлом спектрумист! Ты его просто обязан знать! Ё-маё... я и то - знаю... :lol:
Тем более, что на дружественном ресурсе - https://zx-pk.ru/, который я иногда по случаю
почитываю, а ты - так и зарегистрирован там, есть даже его интервью...

Интервью с Сергеем Леонидовичем Веремеенко - одним из участников фирмы "Проспект"

http://zxaaa.net/ARHIVE/veremeyenko_intervyu.mp3

А на второй странице - там твой землячок и чуть ли не однокурсник ностальгирует о былом... :wink:


P.S. А вот здесь это интервью можно и прочитать: http://dgmag.in/N12/DowngradeN12c.pdf
Сергеей Леонидович Веремеенко, действительно, известный автор среди спектрумистов, но интересен он и тем,
что уделял внимание также игровой приставке Dendy.

Ниже - это его материал, по игровой приставке Dendy:

DENDY ПОД МИКРОСКОПОМ

Для себя я этот материал конвертировал в формат Word - возможно, кому-то будет так удобнее, как и мне:
Famicom_Dendy.zip
Файл описания приставки Dendy от MiGeRA положу здесь для полного комплекта:

Архитектура и программирование Dendy

Сергею Веремеенко также принадлежит идея скрестить видеоконтроллер Dendy с ПК ZX Spectrum.
В своё время я всё это читал и материалы есть у меня. Постепенно выложу в этот топик, как разыщу их.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Приставка для видеоигр Dendy

Post by Lavr »

Я немножко отвлёкся попрограммировать этот самый NES-Dendy, и один трюк у меня вызвал сомнение,
хотя его все рекомендуют делать именно так:

Когда программе NES-Dendy нечего делать, и она ждёт прерывания NMI по кадру, то пишут мёртвый цикл:

Code: Select all

;---------------   БЕСКОНЕЧНЫЙ ЦИКЛ ОЖИДАНИЯ НЕмаскируемого прерывания NMI - ПО КАДРУ
Forever:
     JMP Forever      ; ожидание НЕмаскируемого прерывания NMI
В том, что NMI выдернет управление из этого цикла - сомнений нет... :roll:

А вот куда вернётся управление после NMI по RTI - у меня что-то возникли сомнения... :-?
На мой взгляд, управление после NMI вернётся на адрес ПОСЛЕ JMP Forever.

Но, может быть, я неправ? Может, у 6502 как-то иначе?

По логике, согласно которой строят программу, управление должно вернуться в этот же
бесконечный цикл, но я вот в этом не уверен... :-?
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Приставка для видеоигр Dendy

Post by Lavr »

Lavr wrote:А вот куда вернётся управление после NMI по RTI - у меня что-то возникли сомнения... :-?
На мой взгляд, управление после NMI вернётся на адрес ПОСЛЕ JMP Forever.
В оригинальном мануале на 6502 написано довольно обтекаемо, что при возникновении NMI
в стек сохраняется текущее значение программного счетчика и регистр флагов, причем текущая
инструкция обязательно выполняется до конца. - Это, как говорится, классика... :wink:

Вот только куда указывает программный счетчик в этой ситуации:

Code: Select all

;---------------   БЕСКОНЕЧНЫЙ ЦИКЛ ОЖИДАНИЯ НЕмаскируемого прерывания NMI - ПО КАДРУ
Forever:
     JMP Forever      ; ожидание НЕмаскируемого прерывания NMI
iLavr
belfegor96
Senior
Posts: 106
Joined: 09 Jun 2022 00:49

Re: Приставка для видеоигр Dendy

Post by belfegor96 »

Lavr wrote:Сергею Веремеенко также принадлежит идея скрестить видеоконтроллер Dendy с ПК ZX Spectrum
А какие есть более навороченные видеопроцессоры из тех времён в виде отдельной микросхемы?
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Приставка для видеоигр Dendy

Post by Lavr »

belfegor96 wrote:
Lavr wrote:Сергею Веремеенко также принадлежит идея скрестить видеоконтроллер Dendy с ПК ZX Spectrum
А какие есть более навороченные видеопроцессоры из тех времён в виде отдельной микросхемы?
Я, честно говоря, не интересовался этим вопросом в те времена...
Я и приставкой Dendy тогда не интересовался. :-?

Да и сейчас мой интерес заключается лишь в том, что в этих приставках стоИт микропроцессор-
аналог легендарного 6502.

Такая получается ирония: сам 6502 или клон его в нашей стране приобрести весьма трудно...
А вот в виде приставок Dendy и иже с ней - его просто завались во всяких забытых местах! :wink:
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Приставка для видеоигр Dendy

Post by Lavr »

Lavr wrote:Вот только куда указывает программный счетчик в этой ситуации:

Code: Select all

;---------------   БЕСКОНЕЧНЫЙ ЦИКЛ ОЖИДАНИЯ НЕмаскируемого прерывания NMI - ПО КАДРУ
Forever:
     JMP Forever      ; ожидание НЕмаскируемого прерывания NMI
Всё-таки программный счетчик в этой ситуации указывает на метку Forever:
Поскольку текущая операция в момент NMI должна быть закончена, то и РС
указывает на Forever: в этот момент.

Ну и чтобы точно быть уверенным - проверил программно:

Code: Select all

;---------------   БЕСКОНЕЧНЫЙ ЦИКЛ ОЖИДАНИЯ НЕмаскируемого прерывания NMI - ПО КАДРУ
Forever:
     JMP Forever      ; ожидание НЕмаскируемого прерывания NMI
     JSR Beep         ; подача звукового сигнала
Не Beep-бикает! :lol:
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Приставка для видеоигр Dendy

Post by Lavr »

Lavr wrote:Вот только куда указывает программный счетчик ...
Из общих соображений и не угадаешь! Тут надо знать конкретно MOS 6502...
При выполнении инструкций JSR (переход к подпрограмме) и RTS (возврат из подпрограммы) адрес возврата, помещенный в стек JSR, является адресом последнего байта операнда JSR (то есть наиболее значимого байта адреса подпрограммы), а не адреса следующей инструкции. Это связано с тем, что фактическое копирование (из программного счетчика в стек и затем наоборот) происходит до автоматического увеличения программного счетчика, которое происходит в конце каждой инструкции. Эта характеристика останется незамеченной, если код не проверит адрес возврата, чтобы получить параметры в потоке кода (идиома программирования 6502, задокументированная в Техническом справочном руководстве ProDOS 8). Это остается характерным для 6502 производных и по сей день.
Вот так-то! :wink: https://wiki5.ru/wiki/MOS_Technology_6502
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Приставка для видеоигр Dendy

Post by Lavr »

Lavr wrote:Сергею Веремеенко также принадлежит идея скрестить видеоконтроллер Dendy с ПК ZX Spectrum
Собственно - здесь в архиве тот самый авторский материал:"Видеопроцессор для ZX-spectrum"
Видеопроцессор для ZX-spectrum.zip
А ниже - принципиальная схема к этому материалу:
VideoProc_for_ZX_SP.png
Расцветка на схеме - моя: в своё время разбирался, как это работает... :wink:

На схеме есть авторские ошибки, которые он сам в дальнейшем исправил:
С.Веремеенко wrote:1. Ламели разъема X1.1 и XL2 должны быть пронумерованы сверху вниз от 1 до 30.
2. У дешифраторов 1533ИД4 номера выводов 1 и 2 нужно поменять местами. Знак
инверсии указан правильно.
3. В разрыв шины 82 (идет от D6 к D2) нужно поставить инвертор.
4. Выводы 2 и 4 микросхемы D5 надо соединить с "землей" через конденсаторы n16.
5. На шину питания поставить блокировочные конденсаторы 47М и 4 шт. 68n.
P.S. Разными цветами на схеме я подсветил, какая часть схемы относится к ZX-spectrum, какая -
к процессору Dendy, и какая - к его видеопроцессору...
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Приставка для видеоигр Dendy

Post by Lavr »

Lavr wrote:Расцветка на схеме - моя: в своё время разбирался, как это работает... :wink:
На схеме есть авторские ошибки, ...
Ну и поскольку я с этим всем в своё время разбирался, я всё это и перерисовал по-человечески,
чтобы, глядя на схему, было, действительно, понятно, как это работает...
Авторские ошибки вроде как все учел...

 Схема обмена информацией c DENDY
DENDY_ZX.png

Но в итоге мне это решение как-то не понравилось - слишком громоздко... :-?
You do not have the required permissions to view the files attached to this post.
iLavr