Jump to content
sluhbaryer

Flash-Картридж Dendy На Микроконтроллере

Recommended Posts

Всем доброго времени суток!

Возникла идейка создать девайс типа картриджа игровой приставки Dendy на микроконтроллере.

Суть идеи:

- установить flash-память и USB разъем (чтоб можно было подключать к ПК как обычную флешку);

- отформатировать в FAT32 и забрасывать файлы .nes;

- установить микроконтроллер, подключенный к шине адреса и шине данных приставки;

- микроконтроллер получает запрос на считывание (запись) данных с определенного адреса и выбирает данные из файла .nes;

- программа микроконтроллера будет учитывать особенности мапперов различных моделей (согласно классификации iNES).

У меня возникает несколько вопросов:

1. Стоит ли устанавливать на девайс отдельную RAM-память?

2. Где можно найти описание работы мапперов (некоторые у меня уже есть)?

3. Какие микросхемы памяти лучше использовать (FLASH или EEPROM)?

Заранее благодарен за ответы, советы, подсказки и прочие сообщения!

Share this post


Link to post
Share on other sites

У радио за 90-00 годы были статьи Рюмик. по роботе Денди там была полностью описана робота приставки

Edited by basf1

Люблю українську природу, горячий борщ, холодну воду, i бабу товсту як колоду, i лiс, i поле, i ставок, i повну пазуху цицьок А ще я люблю булку з маком, вино, горiлку, пиво з раком, люблю дiтей, батькiв, сiм'ю, та i себе трішечки люблю.

Share this post


Link to post
Share on other sites

У радио за 90-00 годы были статьи Рюмик. по роботе Денди там была полностью описана робота приставки

По работе приставки написано достаточно, а вот о работе мапперов...

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Новинки и уникальные решения Molex. На что обратить внимание и почему»

7 апреля приглашаем на вебинар, который будет интересен разработчикам и инженерам-схемотехникам, интересующимся тенденциями рынка, новыми перспективными решениями для соединений «провод-провод», «провод-плата», «плата-плата». Для инженеров КИПиА и IT будут освещены уникальные решения Molex для «удлинения» интерфейсов HDMI, DisplayPort и USB даже в условиях сильного зашумления, а также семейство бесконтактных датчиков Contrinex. Помимо этого, будет уделено внимание дальнейшему развитию направления антенн, где Molex имеет ряд интересных и уникальных решений

Подробнее

Микроконтроллер не успеет обрабатывать запросы шины, только FPGA.

Share this post


Link to post
Share on other sites

Зачем FPGA? Ставим вместо ПЗУ Static RAM, запрещаем доступ к памяти со стороны приставки читаем в RAM образ с SD карточки, после считывания образа запрещаем доступ к памяти со стороны MK, разрешаем доступ со стороны приставки.

Share this post


Link to post
Share on other sites
                     

Измеряем мощность в режиме реального времени с помощью ИС регистратора потребляемой мощности

Одной из важнейших функций обеспечения работы системы управления питанием является измерение среднего значения потребляемой мощности критичных участков цепи питания в режиме реального времени. Микросхемы регистраторов производства Maxim Integrated имеют встроенную функцию накопления измеренных значений мощности и предоставляют на выходе данные, пригодные для вычисления ее среднего значения. В статье рассматриваются различные примеры использования регистраторов для проведения критичных измерений мощности в режиме реального времени.

Подробнее

Микроконтроллер не успеет обрабатывать запросы шины, только FPGA.

А с какой тогда частотой работает шина в приставке? На частоте процессора?

По моим данным (с разных статей и сайтов) частота CPU Dendy 1,79МГц.

Разве нельзя взять МК с гараздо большей частотой?

Зачем FPGA? Ставим вместо ПЗУ Static RAM, запрещаем доступ к памяти со стороны приставки читаем в RAM образ с SD карточки, после считывания образа запрещаем доступ к памяти со стороны MK, разрешаем доступ со стороны приставки.

Я планирую использовать эмулятор различных мапперов на МК (как бы универсальный картридж), т.е. его отключать от памяти мне никак нельзя...

Share this post


Link to post
Share on other sites

Из вашего ответа на моё сообщение я могу сделать вывод, что не сделаете вы ничего, по крайней мере в ближайшее время.

Удачи.

Share this post


Link to post
Share on other sites

Из вашего ответа на моё сообщение я могу сделать вывод, что не сделаете вы ничего, по крайней мере в ближайшее время.

Удачи.

Почему же? Для начала хочу реализовать один-два "программных" маппера, а потом расширить их колличество...

Реализовать флеш-картридж под маппер №0 (по iNES), без МК могу хоть сейчас. Но ведь игр под такой картридж мало очень. Мне интересно разработать именно маштабируемую модель.

Share this post


Link to post
Share on other sites

вот и разработай сначала под nrom, как только проверишь и увидишь , что это работает, дальше будет двигаться.

инфы навалом тут:

http://wiki.nesdev.com/w/index.php/Nesdev_Wiki

описано всё при всё)))

но думаю сложно тебе будет)))

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

стоит понимать что с таким кариком (во время игры, т.е. когда он вставлен в консоль) возрастет общее потребление тока приставки.

лучше использовать низкоточные чипы и мк. иначе для пользователей будет заморочка - найти мощный бп.

Share this post


Link to post
Share on other sites

вот и разработай сначала под nrom

А почему именно под ром? Можно же попробовать с флеш-памятью замутить или еепром?

Share this post


Link to post
Share on other sites

Вот приблизительный план действий:

1. Проектирование usb флешки на микроконтроллере ATMega8U2 (или другом с поддержкой usb);

2. Тестирование флешки на макетной плате;

3. Подробное изучение структуры файлов .nes;

4. Подробное изучение пары наиболее популярных мапперов;

5. Разработка схемы и пробной прошивки картриджа;

6. Тестирование и дороботка прошивки.

nrom = маппер #0

Понял. Прошу прощения за неосведомленность.

Наверное так и сделаю... Запаяю картридж без маппера и запишу простенькую игру... посмотрю, что получиться...

Share this post


Link to post
Share on other sites

Подскажите, пожалуйста, может ли шина работать с частотой, отличной от тактовой частоты процессора? Если да, то в какую сторону?

Если рассуждать логически, то в с большей чем тактовая частота процессора шина работать не должна. Это получается около 2МГц. Если выбрать МК с гараздо большей частотой, то он, по идее, успеет считать данные с памяти и вывести на порты вывода.

Поправте, пожалуйста, меня если я не прав.

И еще один вопрос если тактовая частота процессора меньше 2МГц, то зачем к нему подключается кварц больше чем на 20МГц?

Share this post


Link to post
Share on other sites

Как формируется видеосигнал?

PPU формирует «готовый» низкочастотный видеосигнал, который непосредственно

Как я понял из документации, источников в интернете и книги, то процессор управляет видеопроцессором при помощи 8 регистров. У видеопроцессора есть своя 14-битная шина адреса, 8-битная шина данных и шина управления. На картридж выводяться эти шины для подключения ПЗУ с видеоданными.

Ну вот так как-то...

Share this post


Link to post
Share on other sites

Я задал наводящий вопрос

Это Вы на счет чего наводящий?

Edited by sluhbaryer

Share this post


Link to post
Share on other sites

вобщем ) такие девайсы очень не простые устройства. как сказали выше лучше заюзать fpga

в инете есть готовые устройства ценой около 4тыщ рублей))) есть и дороже и дешевле.

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

на ошибках быстрее разберешься что там и как.

потом как документацию ты читал скорее всего на фамиком, а денди и фамик разные вещи, глюков не оберешься.)))

Share this post


Link to post
Share on other sites

Это по поводу применения кварца? Он нужен для формирования частоты строчной развертки? Простите если какие-то глупости скажу...

потом как документацию ты читал скорее всего на фамиком, а денди и фамик разные вещи, глюков не оберешься.)))

Нет именно по Денди.

CPU UMC UM6527

PPU UMC UM6538

Все искал именно под Денди...

Share this post


Link to post
Share on other sites

он нужен для работы приставки. не только для видео сигнала. там и скорость работы завязана на него.

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

вобщем изучай микроконтроллер. реализуй сначала нром) если получиться... дальше пойдешь.

Share this post


Link to post
Share on other sites

он нужен для работы приставки. не только для видео сигнала

Тактовая частота процессора зависит от него?

Share this post


Link to post
Share on other sites

Я задал наводящий вопрос

Это Вы на счет чего наводящий?

Вот насчет этого.

И еще один вопрос если тактовая частота процессора меньше 2МГц, то зачем к нему подключается кварц больше чем на 20МГц?

Share this post


Link to post
Share on other sites

Я задал наводящий вопрос

Это Вы на счет чего наводящий?

Вот насчет этого.

И еще один вопрос если тактовая частота процессора меньше 2МГц, то зачем к нему подключается кварц больше чем на 20МГц?

Для генерации частоты строчной развертки?

Edited by sluhbaryer

Share this post


Link to post
Share on other sites

Есть еще вопросик. Немного не о картридже... Отличаются ли между собой микросхемы UA6527P и UA6527, а также UA6538P и UA6538. Т.е. что означает индекс P?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By MirVsem
      Добрый день.
      Есть интересные модули ибп для слаботочки до 1А.
      m.aliexpress.ru/item/4000109380893.html
       По цене идеально подходит для зоопарка роутеров, IoT устройств... Переключение на резерв (туда-обратно) без просадки. Зарядка литиевой банки как положено, всякие защиты от перегрузки и прочее. Казалось бы все замечательно. 
      НО как всегда не без ложки дёгтя.
       Защита от переразрядки работает неадекватно. Хотя возможно это не сама защита, а повышающий модуль. На пороге ~3в у него срабатывает циклический перезапуск и так пока банка не просядет ниже 3в. Точно померять нечем.
      Из наблюдений. Проверил напряжение переключается с 12в на 9в и щелчки. Естественно нагрузка в это время дико насилуется (роутер свистит минут 5 пока полностю не отключится)
      Вопрос к гуру. Возможно ли что-то доработать в даном модуле чтобы исправить этот досадный баг?
    • By Юлия Михайлова
      Требуються люди умеющие работать с микроконтролерами esp 32 и stm32 , так же будет плюсом опыт работы с raspberry , требования опыт работы не мение 1,5 года , возраст не старше 35 лет , готовы взять на удаленную работу просьба отправлять резюме , и звонить по номеру +380 (68) 227 82 52
    • Guest Роман
      By Guest Роман
      Добрый день, форумчане. Такая задача. Хочу создать несколько устройств на светодиодах. Задача каждого в том, чтобы от движения (датчик вибрации, наклона) светодиод начинал моргать, переливаться и т.д. Подпитывается всё от батарейки, конечно же как можно меньших размеров (таблетка).
      Собственно я уже реализовал такое пробное устройство на ATtiny13, вибродатчике 18015 и батарейке CR1220. Всё работает, но хотелось бы это дело и удешевить и уменьшить в размерах, если это конечно же возможно. Особо в параметрах МК я не разбираюсь, но могу сказать что мне от неё точно нужно:
      1) Маленький размер
      2) Как минимум 1 канал ШИМ (а лучше 3, для переливания трёх светодиодов RGB)
      3) Память на 1Кб (программу для одного такого устройства приложу ниже, может её можно и сократить, но не факт что такую же, но на три диода получится ужать)
      4) Низкое потребление или возможность подключения режимов с низким потреблением.
      5) Работа от 3В. (от таблетки)
      6) Возможность программирования через Arduino UNO (но другие варианты тоже рассматриваю, просто Arduino уже есть)

      Повторюсь пока что нашел и использовал только ATtiny13, который меня вполне устроил, но он достаточно дорогой и в корпусе SOIC его найти достаточно проблематично. К тому же как мне показалось, он слишком хорош для такого проекта. Повторюсь, я чайник, и может есть какие-то более дешевые аналоги.

      Очень надеюсь на Вашу помощь. Заранее большое Вам спасибо!
      Прикладываю обещанный мною код:
      int vib = 4; int led = 0; long loopTime = 5000; void setup() { pinMode(led, OUTPUT); pinMode(vib, INPUT); } void loop() { if (digitalRead(vib)){ unsigned long currentMillis = millis(); while(millis()-currentMillis<=loopTime) { for(int fadeValue = 0; fadeValue <=255; fadeValue+=5){ analogWrite(led,fadeValue); delay(2); } for(int fadeValue = 255; fadeValue >=0; fadeValue-=5){ analogWrite(led,fadeValue); delay(2); } for(int fadeValue = 0; fadeValue <=255; fadeValue+=5){ analogWrite(led,fadeValue); delay(2); } for(int fadeValue = 255; fadeValue >=0; fadeValue-=5){ analogWrite(led,fadeValue); delay(2); } digitalWrite(led, LOW); delay(600); } } }  
    • By Sambler
      У меня была похожая тема,  я решил проблему установив в include util/delay.h
      Но возникла еще одна ошибка, не могу понять, что оно хочет


      p.s. Я обещал, что предыдущая - последняя тема, но я ошибся, не думал, что тут 2 разные программы будут. В этот раз 100 процентов последняя тема и пойду сдавать работы Ы)

       

    • By LemonTV
      Есть картинка из сайта с фьюзами, есть программа avrdude_prog3.3 Как выставить правильно фьюзы чтобы не испортить мк? Незнаю как это сделать есть прямые и инверсные фьюзы, ГДЕ СТАВИТЬ ГАЛОЧКИ И КРУЖОЧЕК НА ПРЯМЫХ ИЛИ ИНВЕРСНЫХ?


×
×
  • Create New...