Автор Тема: Famicom Cartridge Schematics & PCBs  (Прочитано 103252 раз)

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

Оффлайн woddy

  • Пользователь
  • Сообщений: 126
    • Просмотр профиля
Re: Famicom Cartridge Schematics & PCBs
« Ответ #1230 : 29 Апрель 2025, 10:20:07 »
unrom512 + RAM с батарейкой
схему брал отсюда с форума
кто нибудь может рассказать зачем там перемычки flash? его можно шить каким-то программатором? каким?

Оффлайн max5775

  • Пользователь
  • Сообщений: 600
    • Просмотр профиля
Re: Famicom Cartridge Schematics & PCBs
« Ответ #1231 : 29 Апрель 2025, 12:55:51 »
схему брал отсюда с форума
кто нибудь может рассказать зачем там перемычки flash? его можно шить каким-то программатором? каким?
Сам картридж умеет прошиваться дампером от кластера. Перемычка flash вроде как нужна для игр, которые умеют сами себя сохранять на флешку, без использования prg-sram

Оффлайн yaiba1989

  • Пользователь
  • Сообщений: 103
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1232 : 30 Апрель 2025, 03:22:54 »
схему брал отсюда с форума
С какого форума вы получили эту информацию?

Оффлайн woddy

  • Пользователь
  • Сообщений: 126
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1233 : 30 Апрель 2025, 06:18:35 »
С какого форума вы получили эту информацию?
From this forum,
I think I took the schematic from here https://www.emu-land.net/forum/index.php/topic,71165.msg1537187.html#msg1537187
and later added the RAM.

The schematic has 4 jumpers labeled "flash locked" and I want to know what they are for.

If I make a Clusters programmer, can I flash the cartridge without unsoldering the EPROM?

Оффлайн yaiba1989

  • Пользователь
  • Сообщений: 103
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1234 : 30 Апрель 2025, 13:28:49 »
ut unsoldering the EPRO
I use Kazzo to write it

Оффлайн max5775

  • Пользователь
  • Сообщений: 600
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1235 : 13 Май 2025, 21:51:09 »
Кто подскажет, как в эмуляторе fceux посмотреть (и можно ли вообще это сделать?) какой у игры мирроринг?
В последнее время часто попадаются ромы, особенно новодельные на unrom512, у которых мирроринг в заголовке указан неверный.
Например Battle Kid, указано как вертикальный, но реально - горизонтальный. 

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5384
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1236 : 14 Май 2025, 00:07:47 »
как в эмуляторе fceux посмотреть (и можно ли вообще это сделать?) какой у игры мирроринг?
Текущий (во время игры) mirroring в не-Qt FCEUX в Debug > Name Table Viewer, но для мапперов без контроля mirroring там будет из заголовка, хотя в эмуляторах может не совпадает с заголовком, если происходит переопределение по базе ромов как в Mesen для iNES 1.0 заголовков. К слову, в UNROM 512 специальная обработка битов заголовка https://www.nesdev.org/wiki/UNROM_512#Nametable_Configuration.
Реальный mirroring можно узнать по артефактам в игре или нет, если он не важен (используется один NT, например). Также можете свериться с базой, в No-Intro указывают NES 2.0 заголовок и в NES 2.0 XML Database (к сожалению не обновляется).

Оффлайн max5775

  • Пользователь
  • Сообщений: 600
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1237 : 14 Май 2025, 21:16:48 »
Текущий (во время игры) mirroring в не-Qt FCEUX в Debug > Name Table Viewer, но для мапперов без контроля mirroring там будет из заголовка, хотя в эмуляторах может не совпадает с заголовком, если происходит переопределение по базе ромов как в Mesen для iNES 1.0 заголовков. К слову, в UNROM 512 специальная обработка битов заголовка https://www.nesdev.org/wiki/UNROM_512#Nametable_Configuration.
Реальный mirroring можно узнать по артефактам в игре или нет, если он не важен (используется один NT, например). Также можете свериться с базой, в No-Intro указывают NES 2.0 заголовок и в NES 2.0 XML Database (к сожалению не обновляется).
Спасибо!

Оффлайн godun

  • Пользователь
  • Сообщений: 3979
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1238 : 17 Май 2025, 10:21:38 »
Подскажите пожалуйста, кто нить решил проблему зависания на втором уровне и баги спрайтов драконов в бтдд он Рагнарёк v1.2 ? Я собирал на двух 161

Оффлайн yaiba1989

  • Пользователь
  • Сообщений: 103
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1239 : 18 Май 2025, 14:31:45 »
Pcb modify mmc
293443-0

Просьба не размещать с помощью тэга img изображение со стороной более 700 пикселей. ghostdog3
« Последнее редактирование: 19 Май 2025, 00:44:51 от ghostdog3 »

Оффлайн Narn

  • Пользователь
  • Сообщений: 93
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1240 : 18 Май 2025, 20:43:07 »
Немного по занимался реализацией в железе, относительно простого и не особо востребованного маппера как я понял. Содержит PRG RAM 6264- без нее не идёт,  CHR VRAM -4 kb с стандартными 2 kb не работает, CHR ROM, PRG ROM.
Использует регистры адресного пространства $4016, $4017.
Плату как макетку использовал.

Оффлайн woddy

  • Пользователь
  • Сообщений: 126
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1241 : 18 Май 2025, 21:21:08 »
номер маппера то какой? какие игры на нем?

Оффлайн Narn

  • Пользователь
  • Сообщений: 93
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1242 : 18 Май 2025, 22:10:32 »
Подскажите по данной игре, как ее запустить?
По идее получается там только увеличенный размер CHR до 16КБ в сравнении с обычным NROM.
Пробовал на обычном HC161 прикрутить маппинг PA13 через D0, но не взлетело.
Касаемо моего предыдущего поста, это маппер 099. Список игр не очень большой. Сейчас тестирую vs.super mario bros. На плате переключатели как в аркадном автомате, плюс кнопки, имитация ввода монет.
Есть один нюанс в использовании игр VS. у большинства игр при запуске на обычных консолях цвета не совпадают, это связано с использованием в игровых автоматах других PPU. Ром файл оригинал, только изменена палитра. Для изменения палитры пользовался информацией с сайта https://www.raphnet.net/electronique/nes_vs/nes_vs_en.php?section_id=2#6
Переключатели работают согласно описанию документации vs.super mario bros service manual.
В процессе проектирования схемы данного картриджа наткнулся на  статью https://satoshimatrix.wordpress.com/2010/11/16/vs-super-mario-bros-review-nes/
Тут как раз есть переключатель Dip., увидев его решил попробовать сделать так же.

Пробовал приложенный ром файл vs.duck hunt, графика отображается правильно, цвета тоже нормально, но звук в игре при запуске играет правильно, примерно пол секунды, потом идёт звуковой писк одного тона, как бы зависает. На спуск курка пистолета не реагирует.

Пробовал vs.battle city, палитра графики все в зелёном спектре, нужно исправлять, но это уже непосильно для меня. Но работает на этом картридже, кредиты набираются, жизни регулируются, игра играется, танки стреляют.

Можно типа 4-in-1 сделать, Марио, утки, танки, и мотоциклист например).

Пробовал на 4 консолях, на микросхемных вариантах (pal, ntsc) работает, кредиты набираются, игры запускаются.
А вот на консолях капельных не запускаются, так как не набираются кредиты, не отрабатывае что то, то ли логика картриджа, то ли процы капельные так ведут себя. Но есть ром файл с vs. Super Mario Bros с отключенным вводом монет и исправленной палитрой, он работает на всех четырех консолях
« Последнее редактирование: 19 Май 2025, 00:15:08 от Narn »

Оффлайн yaiba1989

  • Пользователь
  • Сообщений: 103
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1243 : 19 Май 2025, 08:14:28 »
7 in 1 game with PCB
293455-0

Please do not post an image with a side larger than 700 pixels using the img tag. ghostdog3
« Последнее редактирование: 19 Май 2025, 16:37:56 от ghostdog3 »

Оффлайн woddy

  • Пользователь
  • Сообщений: 126
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1244 : 24 Май 2025, 12:16:30 »
Кто-нибудь замерял потребляемый ток от батарейки?
Использую unrom 512 схему. Потребляемый ток по мультиметру 100мка (на резисторе R2 около 500мв падает!),  что по рассчетам высадит батарейку за 1-2 месяца.
Может где-то надо добавить подтяжку чтоб чип в спячку уходил?


Добавлено позже:
нашел причину. утечка через 74hc20 идет. придется транзистор городить ((( фрам нет у меня

Добавлено позже:
вот теперь упало с 100мка до 0,3мка. другое дело
« Последнее редактирование: 24 Май 2025, 20:52:17 от ghostdog3 »

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 965
  • Happy Games Only!
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1245 : 24 Май 2025, 21:41:15 »
Подскажите пожалуйста, как сделать маппер без конфликтов по шине? В принципе, в первом посте этой темы в прикрепленном архиве уже есть схема "FC AxROM Schematics.png", в которой есть решение конфликтов по шине. Там такой принцип, что сигналы /ROMSEL и инвертированный R/W подаются на элемент "ИЛИ". В качестве инвертора для сигнала R/W используется один из элементов 74xx02 с соединенными вместе входами, так как это элементы "ИЛИ-НЕ", на выход элемента, к которому подключены /ROMSEL и инвертированный R/W, подключен еще один элемент с соединенными вместе входами, чтобы из "ИЛИ-НЕ" получилось просто "ИЛИ".

В принципе, как это действует - понятно. А теперь вопрос - а нельзя ли обойтись без этой схемы, а просто подать на /OE PRG ROM инвертированный R/W, а /CE подключить к /ROMSEL? Почему-то на этих схемах картриджей не задействован /CE (подтянут к нулю), хотя можно его применить для разрешения конфликтов. При чтении из PRG ROM /ROMSEL будет низким, а R/W - высоким. А ПЗУ нужно, чтобы и /CE и /OE были низкими, чтобы выдавать данные. Если /CE подключить к /ROMSEL, а на /OE подать инвертированный R/W, то как раз при чтении из PRG ROM они оба будут низкие, а при записи /OE станет высоким, ПЗУ отклюится и не будет мешаться на шине.

Или это так не работает, если делают эту схему на 74xx02?

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2349
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1246 : 24 Май 2025, 22:51:45 »
а нельзя ли обойтись без этой схемы, а просто подать на /OE PRG ROM инвертированный R/W
Можно и так, но тебе нужно будет инвертировать сигнал, а для этого или на транзисторе это делать либо логику ставить.
У игр издательства Acclaim, кстати был свой кастомный маскром с неинвертированным СE на 31 ноге, поэтому они обходились без дополнительной логики. Вот здесь, например: https://nescartdb.com/profile/view/25/ironsword-wizards-warriors-ii

Оффлайн mutabor

  • Пользователь
  • Сообщений: 381
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1247 : 24 Май 2025, 23:29:23 »
Почему-то на этих схемах картриджей не задействован /CE (подтянут к нулю)
Обычно у памяти CE работает медленнее чем OE - видимо из этих соображений. Но если память быстрая - то должно работать и через /CE.

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 965
  • Happy Games Only!
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1248 : 25 Май 2025, 18:21:59 »
но тебе нужно будет инвертировать сигнал, а для этого или на транзисторе это делать
Знаю. Когда-то находил схему картриджа Atari 2600. У Atari 2600, в отличие от других приставок CE "прямой", а не инвертированный. Поэтому, для использования с обычными ПЗУ там этот сигнал нужно инвертировать. В той схеме это сделано на транзисторе. На Atari 2600 это у меня работало. Здесь хочу попробовать инвертировать /OE так же.
Обычно у памяти CE работает медленнее чем OE - видимо из этих соображений.
Тоже читал когда-то про такое. Но я даже не про это имел в виду. Я имел в виду то, что у ПЗУ два разрешающих сигнала, один из них можно бы было потенциально использовать для борьбы с конфликтами, а он просто никак не используется.

Тогда еще есть один вопрос. В картриджах Famicom\Dendy обычно используют 74xx161. А как вместо этой микросхемы использовать 74xx174, которые обычно используются в многоигровках Mega Drive? На картриджах Famicom\Dendy на вывод 2 74xx161 подклюсен /ROMSEL, а вывод 9 - R/W. Для чего так сделано? А у 74xx174, в свою очередь есть только один вывод для "ввода" значения (тоже 9). Как его подключить, если использовать 74xx174 на картридже Famicom\Dendy?

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2349
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1249 : 26 Май 2025, 09:50:13 »
Как его подключить, если использовать 74xx174 на картридже
По "ИЛИ" сложить на логике. Ну или на диодах сделать:


Добавлено позже:
Для чего так сделано?
Приставка может писать не только в prg ram но и во внутреннюю память, и тебе не нужно менять значения на защёлке, когда запись происходит во внутреннюю память приставки, поэтому /romsel тоже нужно учитывать
« Последнее редактирование: 26 Май 2025, 10:01:31 от supremacy »

Оффлайн JRBVZ

  • Пользователь
  • Сообщений: 390
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1250 : 26 Май 2025, 18:29:56 »
max5775, я наконец-то добил реализацию ММС1 на EPM3064  ^_^
Во всяком случае у меня чип и дейл работает, с wram еще не пробовал. М2 зацепил на 37 ногу Альтеры (Global Clock), romsel на 40, остальные на усмотрение.


Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 965
  • Happy Games Only!
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1251 : 26 Май 2025, 23:07:22 »
Приставка может писать не только в prg ram но и во внутреннюю память, и тебе не нужно менять значения на защёлке, когда запись происходит во внутреннюю память приставки, поэтому /romsel тоже нужно учитывать
А, понял! Что-то я сразу не сообразил, что R/W вообще для всего адресного пространства процессора.

У меня попутно возник вопрос немного не по теме - а если вдруг понадобится использовать 74xx161 в картридже Mega Drive, то там надо будет соеденить выводы 2 и 9 и подключить к /TIME?

Еще вопрос - есть ли какие-то недостатки у инвертера на транзисторе, как в схеме картриджа Atari 2600, или "ИЛИ" на диодах перед микросхемами?

И еще, может ли кто-нибудь объяснить схему вот этого картриджа? Мне не совсем понятно, зачем нужна первая половинка 74HC139? Та, к которой подходит M2 и /ROMSEL. С второй все понятно (дешифрация адреса $6000-$7FFF). И зачем нужна цепь из резистора, диода и конденсатора между 74HC139 и 74HC174?

Оффлайн max5775

  • Пользователь
  • Сообщений: 600
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1252 : 26 Май 2025, 23:28:59 »
max5775, я наконец-то добил реализацию ММС1 на EPM3064  ^_^
Во всяком случае у меня чип и дейл работает, с wram еще не пробовал. М2 зацепил на 37 ногу Альтеры (Global Clock), romsel на 40, остальные на усмотрение.
Круто, правда мне уже не особо и нужно, но может кому-то пригодится.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2349
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1253 : 27 Май 2025, 21:44:41 »
И еще, может ли кто-нибудь объяснить схему вот этого картриджа?
Это классическая схема декодирования адреса для подключения PRG RAM. M2 нужен чтобы знать что адрес на шине выставлен, romsel что выбрана память картриджа.  Можешь почитать https://www.nesdev.org/wiki/PRG_RAM_circuit

И зачем нужна цепь из резистора, диода и конденсатора между 74HC139 и 74HC174?
Это rc цепочка чтобы сделать задержку сигнала. Не знаю зачем именно диод, возможно просто схема оригинального картриджа повторена.

есть ли какие-то недостатки у инвертера на транзисторе
нет, просто все эти диоды и транзисторы вместо логики это немножко old school :)


Оффлайн Narn

  • Пользователь
  • Сообщений: 93
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1254 : 27 Май 2025, 23:31:05 »
В схеме маппера 87, была изменена защёлка  с hc74 на hc174, добавлены необходимые биты данных для получения маппер 140. RC-цепочка оставлена без изменений. Насколько помню, диоды для более резких фронтов и спадов уровней.

Диоды и транзисторы порой намного дешевле одного дополнительного корпуса микросхемы. И ничего в этом нет плохого, существует много схем дешифраторов адресов на диодах. Все зависит от проектировщика схемы какой либо.
« Последнее редактирование: 27 Май 2025, 23:46:14 от Narn »

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25224
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1255 : 28 Май 2025, 00:11:57 »
Не только дешевле, но и компактней. Это сейчас есть всякие 74HC1G / 2G. А так ради одного логического элемента впихивать DIP-14 достаточно накладно

Оффлайн Talking_Sword

  • Пользователь
  • Сообщений: 965
  • Happy Games Only!
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1256 : 28 Май 2025, 00:33:10 »
romsel что выбрана память картриджа.
Кажется до меня начинает доходить. Может /ROMSEL наоборот, чтобы знать, что память картриджа НЕ выбрана? Я сейчас сообразил, на разъеме картриджа ведь нет A15. Вроде бы, если осуществлять дешифрацию только по A13-14, то дешифратор будет "откликаться" и на E000-FFFF, если я правильно все представил.
Это rc цепочка чтобы сделать задержку сигнала. Не знаю зачем именно диод, возможно просто схема оригинального картриджа повторена.
Для чего нужна задержка?

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2349
  • Пол: Мужской
    • Просмотр профиля
Re: Famicom Cartridge Schematics & PCBs
« Ответ #1257 : 28 Май 2025, 07:54:56 »
чтобы знать, что память картриджа НЕ выбрана? Я сейчас сообразил, на разъеме картриджа ведь нет A15
Да, romsel это комбинация A15 и m2. И, по сути, он нам для того чтобы знать A15 и нужен.

Для чего нужна задержка?
По фронту сигнала срабатывает clk на 74174, но бывает так что на шине данных не успели выставится значения, а clk уже прошёл. Вот и ставят задержку чтобы сместить сигнал по времени относительно остальных.

Оффлайн Narn

  • Пользователь
  • Сообщений: 93
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1258 : 28 Май 2025, 08:04:52 »
Я сейчас сообразил, на разъеме картриджа ведь нет A15. Вроде бы, если осуществлять дешифрацию только по A13-14, то дешифратор будет "откликаться" и на E000-FFFF, если я правильно все представил.Для чего нужна задержка?
Ранее на страницах форума кто-то писал:
"на картридже нет адреса А15, вместо него выведен сигнал /ROMSEL.  Этот сигнал формируется как функция NAND между A15 и M2. Что это даёт? Экономию на корпусе в картридже: ведь тогда не нужно будет вставлять в картридж этот элемент, чтобы увязать A15 и M2, а выход ROM напрямую подключить. А потом пришла эра мапперов и понадобилась адресация 6000H-7FFFH. А для этого надо "восстановить" А15. Не проблема, его можно восстановить из /ROMSEL, ведь если строб M2/F2 активен, а /ROMSEL нет то это обращение к нижней половине(6000H-7FFFH). Но есть нюанс: M2/F2 идёт напрямую, а у /ROMSEL задержка на 1 корпус. И опаздывание /ROMSEL вызовёт ложное срабатывание, от маленькой иголки до вполне ощутимого импульса для быстродействующей микросхемы. И чем медленнее 139 дешифратор, тем больше эта иголка. И вот тут M2/F2 через дополнительный буфер может работать как дополнительная задержка этого сигнала и как следствие - выравнивание сигналов.

 У меня не было проблем работы этого маппера 140 с RC -цепочкой, на 4 консолях.

Оффлайн mutabor

  • Пользователь
  • Сообщений: 381
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #1259 : 28 Май 2025, 18:40:27 »
надо "восстановить" А15. Не проблема
Если бы. На самом деле ещё какая проблема. Дело в том, что нормальные адреса выставляются сильно заранее, а при активном M2 актуальные данные уже должны быть на шине. По этому, для того чтобы нормально реализовать дешифровку обращения к нижней половине адресного пространства приходится делать адские извраты. А иначе работоспособность сильно зависит от консоли и погоды на Марсе. Можете посмотреть как это сделано в официальном MMC1 (его схема отреверсина и опубликована) - там цепочка из штук 30 инверторов с отводами от разных точек. Ну и память PRG RAM должна быть гораздо быстрее, чем при нормальной работе шины - ведь нужно успеть уложиться в эти сильно урезанные тайминги.
Ну и я снимал осциллограммы что происходит на шине при таких обращениях и как реагируют разные мапперы.
А еще прикол в том, что хотя на NES поставили 72 контактный разъем картриджа, на A15 опять зажопились.