Автор Тема: Doom на денди через raspberry pi  (Прочитано 2128 раз)

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

Оффлайн хрящ

  • Пользователь
  • Сообщений: 6
    • Просмотр профиля
Doom на денди через raspberry pi
« : 12 Апрель 2021, 06:50:59 »
Привет Народ. Кто знает как такое можно организовать https://youtu.be/FzVN9kIUNxw
Разбери пай захватывает видео память денди и по сути на денди можно вывести все что угодно через нее.
Можно просто засунуть малину в карик и играть в сегу на денди через эмулятор в малине. Или вообще во что угодно.
Кто тоже хочет сделать себе такой картридж, давайте вместе соберемся и выясним как повернул это чувак из видео! А еще интересней будет если помимо джойстика малина будет как то взаимодействовать и с денди клавиатурой

Оффлайн quq_CCCP

  • Пользователь
  • Сообщений: 2228
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #1 : 12 Апрель 2021, 08:01:31 »
Только нафиг тут денди, уж эмуляторы и все на той же малинке.
у них сперва было вывод  rgb и hdmi с ppu, теперь эмулятор который юзает нёс в качестве блока питания и формирователя композитного видеосигнала.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2117
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #2 : 12 Апрель 2021, 08:04:26 »
там идет по сути эмуляция картриджа. можно сделать, но как-то это бредово и бессмысленно.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #3 : 12 Апрель 2021, 08:14:45 »
Я делал себе doom. Конвертер картинки там довольно грубый, мелких деталей не будет.
Разбери пай захватывает видео память денди и по сути на денди можно вывести все что угодно через нее.
Можно просто засунуть малину в карик и играть в сегу на денди через эмулятор в малине. Или вообще во что угодно.
Для того чтобы вывести что угодно, для начала нужно написать видеодрайвер для линукса под контроллер который выводит на приставку. Для Doom изменен код игры, чтобы писать картинку напрямую в контроллер.
« Последнее редактирование: 12 Апрель 2021, 12:11:27 от supremacy »

Оффлайн Triplex

  • Пользователь
  • Сообщений: 157
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #4 : 14 Апрель 2021, 21:49:15 »
там идет по сути эмуляция картриджа. можно сделать, но как-то это бредово и бессмысленно.
Демо сцена сама по себе бессмысленная и беспощадная. Ключевое слово тут я смог  :lol: Другого смысла в этом нет. Но завораживает иногда же  :cool:

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5103
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #5 : 14 Апрель 2021, 21:56:31 »
давайте вместе соберемся и выясним как повернул это чувак из видео
В описании ссылка на техническую информацию и исходный код.

Лучше сразу засунуть туда RetroArch (точнее libretro), написать свой GUI/драйвер, через Wi-Fi обновление ядер, сделать переходник с XInput геймпада на NES/Famicom. Тут тебе и DOOM через PSX эмуляцию и всё остальное.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #6 : 15 Апрель 2021, 08:51:34 »
Привет Народ. Кто знает как такое можно организовать https://youtu.be/FzVN9kIUNxw
Разбери пай захватывает видео память денди и по сути на денди можно вывести все что угодно через нее.
Можно просто засунуть малину в карик и играть в сегу на денди через эмулятор в малине. Или вообще во что угодно.
Кто тоже хочет сделать себе такой картридж, давайте вместе соберемся и выясним как повернул это чувак из видео! А еще интересней будет если помимо джойстика малина будет как то взаимодействовать и с денди клавиатурой

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

С другой стороны возникает вопрос о целесообразности данной затеи?! Запихать то да, можно в картридж всё что угодно, по сути CPU приставки будет отдыхать ведь процессор будет в картридже, и видео будет генерироваться в картридже, и звуковую карту вплоть до воспроизведения mp3 и прочих форматов туда запихать (увы вывод звука лишь 1канал моно будет), шина данных так же заходит в картридж, а значит можно не только перехватывать управление геймпадов, но и клавиатуры, пистолета, мышки и прочих устройств в порте расширения, что существенно расширяет возможности управления игрой нежели 8 кнопок геймпада, ОЗУ точно так же можно расширить в зависимости от поддержки процессора на стороне картриджа. Хватит ли питания самой приставки? Так и это не ограничение, сделать доп питание к самому картриджу.  :lol: Ограничено место картриджа? И это не проблема, сделать шину из картриджа и провести к дополнительному ящику рядом с приставкой (размером с современный пк  :lol: )
Но собственно нафига все эти заморочки? Не проще купить обычный пк и играть на нём? Ведь это полный бред покупать пк встроенный в картридж по цене того же самого пк собранного в полноценном корпусе.

И у меня возникает вопрос, можно ли считать такие игры nes портами, в то время как они работают на собственном компьютере встроенном в картридж, в отличии от оригинальных игр которые работают полностью на железе приставки имея в картридже только память?

Добавлено позже:
как то взаимодействовать и с денди клавиатурой

Для работы с клавиатурой нужен будет драйвер чтоб понимать какие клавишы нажаты на клавиатуре денди. Если сами геймпады задействуют контакты D0 и D1, то судя по распиновке моего клавишного дома там задействованы все контакты D1, D2, D3 и D4 нужно лишь будет где-то найти инфу обозначений каждого бита в потоке возврата опроса адресов, что-то вроде подобного описания геймпадов http://tv-games.narod.ru/nes/data1.htm в пункте 6
« Последнее редактирование: 15 Апрель 2021, 09:43:20 от Миха42 »

Оффлайн Mad

  • Пользователь
  • Сообщений: 8150
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #7 : 15 Апрель 2021, 10:03:56 »
Все пишут, что NES является адаптером для вывода картинки на экран и звука. Собственно вопрос, картинка и звук будут выводится с какими то ограничениями, которые есть у NES? Разрешение там, палитра?

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2117
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #8 : 15 Апрель 2021, 10:05:01 »
Все пишут, что NES является адаптером для вывода картинки на экран и звука. Собственно вопрос, картинка и звук будут выводится с какими то ограничениями, которые есть у NES? Разрешение там, палитра?
именно.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #9 : 15 Апрель 2021, 10:07:58 »
нужно лишь будет где-то найти инфу обозначений каждого бита в потоке возврата опроса адресов
Нужно всего лишь разобраться с архитектурой и программированием под NES и перестать фантазировать.

Есть конкретная схема с описанием, все исходники выложены. Бери и дорабатывай. Опрос контроллеров выполнен стандартно https://github.com/rasteri/PiPU/blob/00822e099fd899fa8ecefb51d45c512668461f92/nesrom/hello_world.c#L76

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #10 : 15 Апрель 2021, 10:58:43 »
Нужно всего лишь разобраться с архитектурой и программированием под NES и перестать фантазировать.

Где фантазирование?
Лично я не против узнать какая клавиша клавиатуры будет отвечать какому биту в потоке опроса битов D1,2,3,4 хотябы того же сюбора или ещё какого клавишного денди.
При чтении стандартного геймпада точно известно и закономерна последовательность опроса кнопок джойстика, первые 8 чтений бита D0 по адресу $4016 являются опросом кнопок 1го джойстика, вторые 9-16 чтения кнопок являются опросом 3го джойстика. Но существовали и джойстики для нес с кнопками 0-9 и несколькими символами, где первые 8 чтений бита D0 по адресу $4016 опрашивали стандартные кнопки джойстика, а 9-24 чтения опрашивали дополнительные кнопки джойстика, за исключением 23го чтения, оно возвращало 0.
http://dendy.migera.ru/nes/g04.html
Следовательно можно предположить (теоретически), что к Денди можно подключать любые устройства которые будут нажатия клавишь, кнопок или ещё что либо передавать по линиям J1D0 J1D1, J2D0, J2D1, J2D2, J2D3, J2D4, с определённой последовательностью битов в количестве 1-24, а самой программой на денди уже считывать эти биты D0 и D1 по адресу $4016 и биты D0-D4 по адресу $4017, и на основании считаной последовательности битов показывать какую кнопку мы нажали на устройстве, и далее исполнять код исходя из нажатой кнопки.

Но вот по части железа какие микросхемы использовать для передачи битов в нужные контакты в необходимых последовательностях в зависимости от используемых устройств тут я не силён. :neznayu:

http://www.nedopc.org/forum/viewtopic.php?t=10219#p138015


Добавлено позже:
Все пишут, что NES является адаптером для вывода картинки на экран и звука. Собственно вопрос, картинка и звук будут выводится с какими то ограничениями, которые есть у NES? Разрешение там, палитра?
По части картинки. Да, у нес эти ограничения не обойти.
Но касаемо звука. Нет. Звук генерирует чип самой консоли, есть картриджы с дополнительными каналами которые накладывают звук сгенерированный на картридже на звук идущий в картридж от консоли. На самом картридже имеются контакты in audio, out audio. Прежде чем звук пойдёт на усилитель и передачу на устройство звук можно перехватить в картридже, тем самым есть возможность избавиться от генерируемого звука и пустить свой из картриджа в моно канале.
Как правило почти во всех картриджах попросту на эти 2 контакта делают перемычку, но есть и приставки где перемычку ставят уже на самой плате приставки, есть и исключения китайские клоны где вообще звук сразу идёт на усилитель, ну или сразу на передачу звука, даже не подводя к контактам картриджа.
« Последнее редактирование: 15 Апрель 2021, 11:34:37 от Миха42 »

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #11 : 15 Апрель 2021, 11:45:31 »
Лично я не против узнать какая клавиша клавиатуры будет отвечать какому биту в потоке опроса битов D1,2,3,4 хотябы того же сюбора или ещё какого клавишного денди.
ну так бог в помощь, как говорится, https://wiki.nesdev.com/w/index.php/Family_BASIC_Keyboard. У Сюбора матрицу можно глянуть здесь https://github.com/TASVideos/fceux/blob/master/src/input/suborkb.cpp

вторые 9-16 чтения кнопок являются опросом 3го джойстика.
только для Nes FourScore

Следовательно можно предположить (теоретически)
Зачем теоретизировать, если это очевидно. Вот это и есть фантазии, вместо того чтобы посмотреть как реализовано считывание и расширить функционал, начинаются рассуждения "Если сахар кладут в чай, то следовательно можно предположить (теоретически), что он сладкий."

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #12 : 15 Апрель 2021, 12:43:49 »
ну так бог в помощь, как говорится, https://wiki.nesdev.com/w/index.php/Family_BASIC_Keyboard. У Сюбора матрицу можно глянуть здесь https://github.com/TASVideos/fceux/blob/master/src/input/suborkb.cpp

Спасибо

Добавлено позже:
Вот это и есть фантазии, вместо того чтобы посмотреть как реализовано считывание и расширить функционал, начинаются рассуждения
Ну дак хотелось бы для начала хотябы внутренности картриджа глянуть именно для nes, а не snes. А там уже и глядеть как и что привинтить.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #13 : 15 Апрель 2021, 13:14:56 »
Ну дак хотелось бы для начала хотябы внутренности картриджа глянуть
Так там особого ничего нет.

« Последнее редактирование: 15 Апрель 2021, 13:22:57 от supremacy »

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #14 : 15 Апрель 2021, 13:35:07 »
Что за микруха стоит на Data шине знает кто?
Если память, то желателен дамп.
И хотелось бы все стороны плат.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #15 : 15 Апрель 2021, 13:58:29 »
Что за микруха стоит на Data шине знает кто?
Если память, то желателен дамп.
Для начала ознакомься с описанием https://github.com/rasteri/PiPU/blob/master/README.md чтобы не задавать глупые вопросы.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #16 : 15 Апрель 2021, 14:25:22 »
Для начала ознакомься с описанием https://github.com/rasteri/PiPU/blob/master/README.md чтобы не задавать глупые вопросы.

Ознакомился, как я и спросил, если память то нужен дамп, вопрос остаётся прежний. Где взять prg-rom (дамп памяти)?

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2276
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #17 : 15 Апрель 2021, 15:24:04 »
собрать из исходников, либо скачать готовый https://github.com/rasteri/PiPU/releases/download/v0.1/PiPU-v0.1.zip
Вся информация есть в описании, просто нужно прочитать.

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1091
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Re: Doom на денди через raspberry pi
« Ответ #18 : 15 Апрель 2021, 23:44:09 »
Привет Народ. Кто знает как такое можно организовать https://youtu.be/FzVN9kIUNxw
Разбери пай захватывает видео память денди и по сути на денди можно вывести все что угодно через нее.
Можно просто засунуть малину в карик и играть в сегу на денди через эмулятор в малине. Или вообще во что угодно.
Кто тоже хочет сделать себе такой картридж, давайте вместе соберемся и выясним как повернул это чувак из видео! А еще интересней будет если помимо джойстика малина будет как то взаимодействовать и с денди клавиатурой
Таких извращений Иван еще не видывал. Фактически, денди будет просто выводить картинку, а вся движуха будет все равно происходить на малинке. В чем смысл?)

Оффлайн godun

  • Пользователь
  • Сообщений: 3936
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #19 : 16 Апрель 2021, 02:10:47 »
Таких извращений Иван еще не видывал.
а что Иван вообще видывал? денди увидел офигел, видак увидел офигел, жувачку увидел офигел,  оранжевую куртку увидел офигел, бмв увидел офигел, мобилку увидел офигел , интернет увидел офигел, Илон маска увидел и офигел. :) ......   со всего Иван фигеет и будет офигевать. Так было еще со времен Царской руси.

Оффлайн Takamura-kun

  • Пользователь
  • Сообщений: 1091
  • Пол: Мужской
  • Закалён и плечист.
    • ВКонтакте
    • Просмотр профиля
Re: Doom на денди через raspberry pi
« Ответ #20 : 16 Апрель 2021, 18:58:24 »
godun, и то верно :lol:

Оффлайн хрящ

  • Пользователь
  • Сообщений: 6
    • Просмотр профиля
Re: Doom на денди через raspberry pi
« Ответ #21 : 20 Апрель 2021, 14:14:32 »
Таких извращений Иван еще не видывал. Фактически, денди будет просто выводить картинку, а вся движуха будет все равно происходить на малинке. В чем смысл?)
смысл в том, что это всё будет в картридже. Ты просто воткнул картридж с Робокопом в денди и поиграл в робокопа, потом тут же воткнул этот картридж и поиграл во что угодно и именно на денди. И ощущение не теже самые, если бы ты поиграл в это же на компе в эмулятор. Отнюдь

Оффлайн Ivan_Ages

  • Пользователь
  • Сообщений: 751
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #22 : 20 Апрель 2021, 14:49:02 »
Что только игры? Как будет круто посмотреть на денди 4К фильмец. Да в 3D очках.

Оффлайн jezruu

  • Пользователь
  • Сообщений: 51
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #23 : 20 Апрель 2021, 15:08:51 »
Вроде речь идёт о nes, а не о денди

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2117
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #24 : 20 Апрель 2021, 15:37:02 »
Вроде речь идёт о nes, а не о денди
с точки зрения железа и в конкретной ситуации они, можно сказать, идентичны

Оффлайн godun

  • Пользователь
  • Сообщений: 3936
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #25 : 20 Апрель 2021, 16:59:56 »
Что только игры? Как будет круто посмотреть на денди 4К фильмец. Да в 3D очках.
нуда, еще прилепить туда gps gsm, wifi, камеру, андоид последний. короче будет не телефон, который умеет в денди, а денди, которая умеет в телефон

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #26 : 20 Апрель 2021, 21:09:59 »
Нужно всего лишь разобраться с архитектурой и программированием под NES и перестать фантазировать.

Есть конкретная схема с описанием, все исходники выложены. Бери и дорабатывай. Опрос контроллеров выполнен стандартно https://github.com/rasteri/PiPU/blob/00822e099fd899fa8ecefb51d45c512668461f92/nesrom/hello_world.c#L76

Контроллер в роме считывается лишь 1, JOY1
Мало просто взять и в самой nes считать нажатия контроллеров с клавиатурой и передать.

Хз зачем в роме столь многократно используется перезапись байта нажатий кнопок джойстика в разные ячейки памяти, при том что передача данного байта производится из $300 байта в шину $2017 ppu, но прежде он пишет в адрес шины $2016 значение #21, вроде как сообщает что сейчас будет производиться передача нажатых кнопок (действия игрока). После 3 раза дублирует $300 байт в шину. И так повторяется каждый кадр приставки.
Можно попробовать вместо дублирования отсылать 3 байта разных нажатых кнопок, джойстика или клавиатуры, но нужно и дальше смотреть драйвер и код игры чтоб понять где и как он этот байт переводит в действия в игре. С целью чтоб вместо этого 1го байта он читал 2-3 и более по мере надобности и переводил их в действия в игре.

Добавлено позже:
Если скажем на данный момент считывается всего 1 байт нажатий
D4-7 движение
D3 главное меню
D2 сменить оружие
D1 использование
D0 огонь

То при добавлении 2-3 байтов нужно будет и им прописывать в самой игре назначения для каждого бита.
« Последнее редактирование: 20 Апрель 2021, 21:21:22 от Миха42 »

Оффлайн ShadowFlash

  • Пользователь
  • Сообщений: 2268
  • Пол: Мужской
    • Просмотр профиля
Doom на денди через raspberry pi
« Ответ #27 : 20 Апрель 2021, 21:42:55 »
Инженерный онанизм класса "потому, что могу". Можно одноплатник x86_64 засунуть и вообще хоть Doom Eternal запустить "на NES". Но смысла ноль без палочки - играть в тот же Дум с четырьмя кнопками, из которых две - start и select? Круто, наверное. Реальный смысл таких извратов может быть с аркадными играми начала 80ых - там и кнопок хватит и артефактов на экране не будет ибо бешеный поток данных гнать не надо и одноплатник можно совсем дешевый.

P.S. Автор видео немного приврал про первый Дум - 8 метров оперативки ему не надо было. Он требовал 4, а реально кушал меньше.