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

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

Оффлайн tryer

  • Пользователь
  • Сообщений: 19
    • Просмотр профиля
Re: NES Cartridge Schematics & PCBs
« Ответ #90 : 23 Сентябрь 2017, 10:48:55 »
А я знаю как сделаны китайские картриджи реал-много-в-одном. Можно настрогать своих, с карточными играми и девахами.
Поделись инфой)

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #91 : 23 Сентябрь 2017, 11:31:12 »

Оффлайн tryer

  • Пользователь
  • Сообщений: 19
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #92 : 23 Сентябрь 2017, 14:09:07 »
Нуу..
Это совсем не то.. (
Там автор продаёт свои самодельные карики.
Я думал ты знаешь, как из 'реал-много-в-одном" сделать свой карик.
Перешить, другими словами, ПЗУ-ху своими играми.
Как выбор игры происходит..
А то руки прям чешутся, чё нить полезное посамодельничать)
Нечто подобное делал для сеги. (Как то в ЛС у тебя ещё спрашивал.на zx.pk).
Теперь хочется и для дендика сделать)

Пс: к кому обратиться, чтоб ник поменять?

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #93 : 23 Сентябрь 2017, 15:06:09 »
tryer, опять же:

Оффлайн tryer

  • Пользователь
  • Сообщений: 19
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #94 : 02 Октябрь 2017, 11:41:42 »
Опять же.. Никакой конкретики.
Хочется более практичную инфу. Та же схема дампера.. Софт..
Как то так.
Если есть, поделитесь плиз.

Оффлайн Skay

  • Пользователь
  • Сообщений: 4115
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #95 : 02 Октябрь 2017, 12:34:45 »
Хочется более практичную инфу
У кластера как раз сплош практика
Та же схема дампера..
Какие же ленивые ***. 100500 схем в интернете. тот же Кластер из видео выше, например одну из схем собирал.
Софт..
он всё выкладывает на гитхабе. в т.ч. весь софт для карика из видео постами выше.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #96 : 02 Октябрь 2017, 12:50:47 »
Skay, человек хочет чтобы ему все собрали и выслали не то чтобы на халяву, а вообще никак не почесавшись. И ссылки он не смотрел (иначе бы все схемы увидел) и видос промотал без звука на 3х скорости.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #97 : 02 Октябрь 2017, 15:56:24 »
Хочется более практичную инфу. Та же схема дампера.. Софт..
https://github.com/ClusterM/famicom-dumper?files=1
Тебе же ссылку на гитхаб дали, там все проекты есть.

Оффлайн tryer

  • Пользователь
  • Сообщений: 19
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #98 : 03 Октябрь 2017, 04:23:36 »
Спасибо всем)
Сорри, ссыль как то пропустил эту.

Оффлайн SAMael

  • Пользователь
  • Сообщений: 6191
  • Пол: Мужской
  • SAMuel Alpian Warrior Glegleddore Gleglezavr
    • Facebook
    • Twitter
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #99 : 05 Октябрь 2017, 23:06:34 »
Что то меня клинит, не могу найти тут на форуме проскакивала схемка ММС3 со SRAM
Подкиньте плиз  ^_^

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #100 : 06 Октябрь 2017, 06:39:15 »
помню только такую

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #101 : 02 Ноябрь 2017, 22:19:32 »
Кто разбирается в железе, помогите. Хочу сделать картридж BTDD on ragnarok, но там 512Кб. Схема от vfiuchcikichuusrch на 74CH161 и поддерживает только 256Кб. На несдеве написано что можно использовать 74HC377. Если не трудно дайте схему как это собрать. Спасибо.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #102 : 03 Ноябрь 2017, 08:14:43 »
Кто разбирается в железе, помогите. Хочу сделать картридж BTDD on ragnarok, но там 512Кб. Схема от vfiuchcikichuusrch на 74CH161 и поддерживает только 256Кб. На несдеве написано что можно использовать 74HC377. Если не трудно дайте схему как это собрать. Спасибо.
скачай даташит на 74hc377. D0-D7 это входы Q0-Q7 выходы, /E подключается к R//W, CP к /ROMSEL, питание как обычно.
дополнительно заводишь D3 с prg rom на свободный вход 74hc377 и с соответствующего ему выхода выводишь на A18 prg rom.
А этот ром на железе кто-нибудь проверял?
« Последнее редактирование: 03 Ноябрь 2017, 08:27:39 от supremacy »

Оффлайн RetHunter

  • Пользователь
  • Сообщений: 242
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #103 : 03 Ноябрь 2017, 14:39:50 »
скачай даташит на 74hc377. D0-D7 это входы Q0-Q7 выходы, /E подключается к R//W, CP к /ROMSEL, питание как обычно.
дополнительно заводишь D3 с prg rom на свободный вход 74hc377 и с соответствующего ему выхода выводишь на A18 prg rom.
А этот ром на железе кто-нибудь проверял?
Спасибо, буду эксприментировать. Ром взял версии 1.2, который автор ещё не перевел на 256 спрайтов.

Оффлайн Nikooone

  • Пользователь
  • Сообщений: 951
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #104 : 06 Ноябрь 2017, 13:26:51 »
А этот ром на железе кто-нибудь проверял?
да работает, с парой 161х

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #105 : 10 Май 2018, 09:36:54 »
Поделюсь своим опытом.
(Ссылка на вложение)

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

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

Надеюсь мой опыт кому-нибудь пригодится
Кто может поподробнее объяснить, как вшить меню в ром?
И что за утилиты ca65 и ld65 в скрипте build.sh, где их взять?

Оффлайн SAMael

  • Пользователь
  • Сообщений: 6191
  • Пол: Мужской
  • SAMuel Alpian Warrior Glegleddore Gleglezavr
    • Facebook
    • Twitter
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #106 : 10 Май 2018, 11:49:36 »
Там в архиве всё достаточно подробно есть.
Меню можно и в сами игровые РОМы внедрять так и отдельным файлом компилировать.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #107 : 10 Май 2018, 14:25:12 »
Там в архиве всё достаточно подробно есть.
Меню можно и в сами игровые РОМы внедрять так и отдельным файлом компилировать.
Если Вы про файл menu-unrom.asm, то там ни слова про это.
Компилятор CC65 поставил.
Мне хотя бы в двух словах объяснить, как это работает. Можно ли это меню модифицировать до 8 в 1 и на NROM маппер, ну или на другой. Как выбирается нужный кусок PRG/CHR из памяти.
« Последнее редактирование: 10 Май 2018, 15:34:33 от max5775 »

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #108 : 10 Май 2018, 20:12:54 »
Пока ты сам не разберёшься в программировании под nes, ничего модифицировать ты не сможешь. А судя по вопросам, ты в этом не силён.
Общий принцип работы меню в двух словах:
На плату картриджа ставится микросхема защёлка, например счетчик  hc161, которая управляет старшими адресами микросхемы памяти (условно выбором игры)
На входы заводятся первые биты данных, сама защёлка после записи самоблокируется, чтобы больше не реагировать на данные входов, и выводится из этого состояния только с помощью цепочки сброса, которая определяет, что на приставке нажата кнопка ресет.
Цель кода меню - запустится первым, нарисовать меню, и после выбора игры подать биты адреса игры на вход защёлки и перейти по адресу сброса игры jmp ($fffc).

Оффлайн KykyPyky

  • Пользователь
  • Сообщений: 516
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #109 : 10 Май 2018, 23:49:18 »
Попробую пошагово описать как вшить эту меню в контру Contra (U) [!].nes.

1. Файл alnum.2bpp.chr содержит шрифт, который грузится в chr-ram. Содержит всего 48 символов.
Грузится со смещением так что бы соответствовать кодировке ascii.
197170-0
Посмотреть и отредактировать еще можно в специальных редакторах, например, Tile Molester.

2. Файл menu.txt содержит выводимое меню, редактируемое обычным текстовым редактором.
Длинна строки не должна превышать 32 символа. Использовать можно только те 48 символов,
которые описаны alnum.2bpp.chr. Любые другие будут выводить пустоту.

3. Файл pack-text.py это скрипт на питоне, который преобразует menu.txt в некую последовательность,
удобную для записи в ppu:
количество пробелов - количество символов - символы - количество пробелов -...
$ python ./pack-text.py menu.txt
    .byt 74, 12, "UNROM 4 IN 1"
    .byt 49, 18, "PUSH ^ _ START KEY"
    .byt 77, 8, "1:CONTRA"
    .byt 56, 13, "2:MEGAMAN RUS"
    .byt 51, 15, "3:GUN:SMOKE RUS"
    .byt 49, 17, "4:GHOST;N;GOBLINS"
    .byt 0
Вывод этой программы надо вставить в файле menu-unrom.asm после метки text_menu.

4. Комментируем все директивы .org если они расскомментированы и компилируем.
$ ca65 menu-unrom.asm -o menu-unrom.o
$ ld65 menu-unrom.o -o menu-unrom.nes -C nesfile-unrom.ini
Получившийся файл menu-unrom.nes должен запуститься в эмуляторе.

5. Открывает в hex-редакторе ром и ищем незанятое место, куда бы можно было поместить наш код.
В UxROM используется chr-ram, а это значит что ром не содержит chr-rom данных. И можно смотреть с конца рома.
Я использую wxHexEditor в нем очень удобно помечать произвольные области.
И вроде бы он даже мультиплатформенный.
Смотрим с конца файла.Ура! Нам даже повезло, в последнем непереключаемом банке есть даже место.
Смещение на начало свободного места: $1f623
Смещение на конец свободного места:$1fc0e
Итого: $1fc0e-$1f623=1515 байт данных.
197172-1

6. Предпоследняя пара байтов содержит вектор сброса. После сброса процессор начинает выполнять код по адресу, на который указывается в этой паре.
Адрес записывается наоборот, сначала младший байт, потом старший.
Вектор сброса на скрине: $0c01
197174-2

7. А вот здесь уже нужны знания ассемблера.
Вшить в кастельванию было несколько тяжелее, потому что в непереключаемом банке не было место под меню. Поэтому в непереключчаемом банке был код,
который переключал на банк с меню и передавал туда управление. С контрой проще.
Все что связано с OFFSET_LOAD, нам не нужно. Комментируем или удаляем.
Для RESET_OLD указывает вектор сброса из п.6
Для OFFSET_MENU указывает смещение из п.5
RESET_OLD = $c001 ; старое значение вектора сброса
OFFSET_MENU = $1f623 ; смещение на неиспользуемое место для кода меню
Перед .proc reset,.расскоментируем .org ORG_MENU.
Компилируем. Теперь полученный ром запуститься в эмуле не должен.

8. Открывает в hex-редакторе получившийся ром и ищем код меню.
Копируем, начиная с цифры 78(это код sei) до конца, а потом вставляем в выбранное место.
197176-3197178-4

9. При компиляции в консоле был напечатан новый вектор сброса:
$ ./build.sh
new reset = $F613
Исправим его тоже.Пишется также в обратном порядке, те 13 F6
197180-5

10. Сохраняем, запускам. :wow:

Первым пунктом в меню всегда идет вшитая игра. Остальные в порядке склейки.

Все что получилось есть в приложенном архиве.

Кстати, если кто-то знает почему линковщик ld65 игнорирует директивы .org и лепит все подряд, а не по указанному адресу, подскажите. Буду признателен.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #110 : 11 Май 2018, 11:14:29 »
Сколько ромов можно добавлять после главного рома с меню?

Оффлайн SAMael

  • Пользователь
  • Сообщений: 6191
  • Пол: Мужской
  • SAMuel Alpian Warrior Glegleddore Gleglezavr
    • Facebook
    • Twitter
    • ВКонтакте
    • Steam
    • Youtube
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #111 : 11 Май 2018, 11:23:19 »
По идее в зависимости от обьема еепром и количества старших адресов.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #112 : 11 Май 2018, 12:21:24 »
Сколько ромов можно добавлять после главного рома с меню?
ты сначала скажи ты сам будешь плату проектировать или готовую использовать?
Существующая реализация, по-моему, больше 8 игр не умеет, т.к. на защёлке три бита адреса плюс один на блокировку.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #113 : 11 Май 2018, 13:18:14 »
ты сначала скажи ты сам будешь плату проектировать или готовую использовать?
Существующая реализация, по-моему, больше 8 игр не умеет, т.к. на защёлке три бита адреса плюс один на блокировку.
У меня уже есть готовые реализации на счетчиках, с переключением по ресету, хочу убрать счетчики и сделать меню. Так как во-первых - это не удобно при количестве игр более 3-4, во-вторых - нечеткое срабатывание. В принципе, мне больше 8 игр и не надо.
P.S: Получилось проделать все манипуляции со вставкой меню в контру, попробую вставить его в другой ром.
« Последнее редактирование: 11 Май 2018, 13:57:31 от max5775 »

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #114 : 11 Май 2018, 14:01:49 »
Самая ходовая игра будет на всех картриджах?  :lol:
Можешь поискать на форуме nesdev, там FARID - любитель многоигровок что-то делал.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #115 : 11 Май 2018, 14:30:23 »
Самая ходовая игра будет на всех картриджах?  :lol:
Можешь поискать на форуме nesdev, там FARID - любитель многоигровок что-то делал.
Почему самая ходовая, я пробую в другой ром встроить меню.
Непонятно назначение xml-файла contra.nes.tags в архиве, для чего он нужен?
« Последнее редактирование: 11 Май 2018, 14:36:24 от max5775 »

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2255
  • Пол: Мужской
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #116 : 11 Май 2018, 15:20:47 »
Непонятно назначение xml-файла contra.nes.tags в архиве, для чего он нужен?
выделение блока кода цветом, как на картинке. Это для шестнадцатеричного редактора wxHexEditor разметка.

Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #117 : 11 Май 2018, 15:38:54 »
выделение блока кода цветом, как на картинке. Это для шестнадцатеричного редактора wxHexEditor разметка.
Понятно.
А поподробнее про перенаправление на код с меню, который располагается  в переключаемом банке, когда нет места в непереключаемом банке можно рассказать? Просмотрел несколько ромов - некуда впихнуть меню, даже порезав его до минимума. Контра в этом плане и правда удачно используется.

Оффлайн KykyPyky

  • Пользователь
  • Сообщений: 516
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #118 : 11 Май 2018, 18:20:08 »
Сколько ромов можно добавлять после главного рома с меню?
Плата делалась для 512кб флешек, максимум 4 игры по 128кб.
Остался незадействованным один разряд счетчика 161, если переразвести под otp или uv память на 1мб то можно расширить до 8 игр.

А поподробнее про перенаправление на код с меню
Практически тоже самое. Посмотри у кастельвании.
Только ищется теперь два пустых окна. Один поменьше (смещение ORG_LOAD) в фиксированном банке. В нем располагается код после .org ORG_LOAD до конца.
Второе побольше (смещение ORG_MENU), для кодов меню, после .org ORG_MENU и до .org ORG_LOAD
Номер банка считается сам.


Оффлайн max5775

  • Пользователь
  • Сообщений: 536
    • Просмотр профиля
Famicom Cartridge Schematics & PCBs
« Ответ #119 : 15 Май 2018, 12:54:33 »
Подскажите по схеме картриджа на MMC3. Как я понял, в базовом варианте там стоит 2 ПЗУ по 2МБ. Это получается схема для одноигровки , у меня есть ром с меню на 4 игры размером 1МБ, который я могу редактировать. Режем его на PRG и CHR для прошивки, получается нужно 2 чипа по 4МБ. Как изменится схема в моем случае, куда кидать старший адрес A18? На AX5202 вроде есть нога A18, но она только для PRG.