Приставки > Картриджи / диски
Famicom Cartridge Schematics & PCBs
<< < (8/66) > >>
max5775:

--- Цитата: KykyPyky от 01 Июнь 2018, 09:42:21 ---плату разводить будешь?

--- Конец цитаты ---
Схему если дашь, попробую развести. Там же по-другому, наверное, будет, чем для кнопки сброса?
Для переключения игр по сбросу у меня есть разведенная плата 8-ми игровка NROM, правда не проверенная в железе
KykyPyky:
У NROM шрифты хранятся в ПЗУ, мало того что механизм фиксации банков будет другой, так еще надо сопоставлять шрифт кодам для одной их игр.
Это не две строчки исправить.
max5775:

--- Цитата: KykyPyky от 06 Июнь 2018, 11:30:31 ---У NROM шрифты хранятся в ПЗУ, мало того что механизм фиксации банков будет другой, так еще надо сопоставлять шрифт кодам для одной их игр.
Это не две строчки исправить.

--- Конец цитаты ---
вот поэтому я и спрашиваю про меню и схему, плату я разведу без проблем
KykyPyky:
Выкладываю в общий доступ свои наработки по создание картриджей под MMC1 SxROM(ax5904)

SxROM

Поддерживаются популярные модификации маппера.
Возможность записать 4in1, 2in1 с переключение через меню.
Можно через меню для одной игры использовать два разных банка сохранений.
Плата разведена под флешки на 512к/256к в 28 выводых корпусах и узкие 24-выводные для CHR-RAM.
В качестве микросхемы сохранений я использовал FRAM FM18W08
Описание джамперов вместе в архиве с платой.


Вшивание меню во много пересекается с http://www.emu-land.net/forum/index.php/topic,71165.msg1356713.html#msg1356713
Открываем нужную игру в Tile Molester, визуально ищем шрифт и составляем таблицу соответствия букв и кодов тайлов.
Определяем номер банка/экрана, помним что нумерация ведется в 0.
Определяем сводобные места в фиксированном банке PRG.
Если в фиксированном банке нет достаточного места, тогда ищем место для 30 байт с кодом переключения банка, а оставшееся место ищем во всем PRG.
Сам код меню еще можно разбить на 2 части и искать уже два пространства поменьше.
Открываем menu-slrom.asm в одном из примеров и редактируем:

--- Код: ---.include "dduck-charmap.asm"; кодировка шрифта
ARROW_SIGN = '-' ; символ стрелки
NBANK_FONT = 27 ; номер банка chr(блок 16*16 символов) со шрифтом 0-31
RESET_OLD = $ffe0 ; старое значение вектора сброса $fffc-$fffd

;OFFSET_PRESET =  ; смещение на неиспользуемое пространство в последнем банке (для переключения)
OFFSET_MENU = $1f06f-16 ; смещение на неиспользуемое пространство для кода меню
OFFSET_MENU2 = $1fc5c-16 ; смещение на второе неиспользуемое пространство
--- Конец кода ---
Если закоментировать все OFFSET_.., то при компиляции будет создан файл пригодный для запуска в эмуляторе.
Порядок игр задается после метки banktable. Игра с вшитой меню не обязательно должна быть на первом месте.
Так же можно отредактировать количество игр 4/2 в строке с комментарием "ограничиваем пунткы 0-3 (1-4)" и
палитру после метки palette

При переносе кода в игру блоки для копирования помечены словами PRESET, MENU, MENU2
Открой nes файлы в hex редакторе wxHexEditor и уведите обозначенные цветом области для копирования.

2 разведенных платы успешно вписываются в размеры 100*100. А такие размеры очень любят китайцы. :D
Герберы для отправки на производство так же приложены.


Также приложил три примера меню, включая оригинальные файлы  и теги для hex редактора wxHexEditor.
KykyPyky:
наработки по создание картриджей под MMC3 TxROM(ax5202p)

TxROM

Те же самые возможности как и в случае с SxROM
Многоигровки 4в1, 2в1, возможноть использовать разные банки сохранений для одной игры.
Те же типоразмеры микросхем.
Описание джамперов вместе в авхиве с платой.

Меню редактируется и вшивается точно также. Примеры приложены
Только как правило в фиксированном банке недостаточно места даже для 28 байт с кодом переключения.
Поэтому переключение  на меню перетирает несколько десятков байтов, но как правило там находится инициализация и в коде меню она также есть.
Единственное я не делал меню для игр с CHR-RAM, игр мало и большинство из них используют 512k PRG-ROM

godun:
KykyPyky, чем шьеш микры? есть какая схема простенького программатора? ато виллем влом покупать ради этого. + еще хотел бы 27 серию зашивать
max5775:

--- Цитата: godun от 16 Июнь 2018, 20:32:44 ---KykyPyky, чем шьеш микры? есть какая схема простенького программатора? ато виллем влом покупать ради этого. + еще хотел бы 27 серию зашивать

--- Конец цитаты ---
Я тоже искал, где купить программатор попроще и подешевле. Кроме виллема бюджетнее вариантов нет, разве что TL866, но он раза в 1,5-2 дороже, но usb.
Еще дешевле самому собрать. Если есть интерес, то могу скинуть файлы для сборки виллема с модификацией до версии 4.5.

KykyPyky, в планах меню для NROM/CNROM нет?
Все же много хороших игрушек на них сделано, хоть и простых.
KykyPyky:

--- Цитата: godun от 16 Июнь 2018, 20:32:44 ---KykyPyky, чем шьеш микры?
--- Конец цитаты ---
MiniPRO tl866

Из простого и универсального кроме виллема/ezoFlash альтернатив особо нет.


--- Цитата: max5775 от 16 Июнь 2018, 21:17:12 ---KykyPyky, в планах меню для NROM/CNROM нет?
--- Конец цитаты ---
Именно я не планирую.
Если получится с goodbye встроить редактор меню в его программу nrm, тогда да, сделаю для популярных мапперов которые уже поддерживаются эмуляторами.
max5775:

--- Цитата: KykyPyky от 16 Июнь 2018, 21:44:33 ---Именно я не планирую.
Если получится с goodbye встроить редактор меню в его программу nrm, тогда да, сделаю для популярных мапперов которые уже поддерживаются эмуляторами.

--- Конец цитаты ---
Было бы круто, будем ждать.
А вот на фото вижу микросхему ОЗУ на 64КБит на обоих картриджах ММС1 и ММС3.
 Для каких игр она используется? Я думал для этих маперов используется пара флешек, куда ром пишется пополам -> PRG-CHR.
KykyPyky:

--- Цитата: max5775 от 17 Июнь 2018, 11:07:01 ---А вот на фото вижу микросхему ОЗУ на 64КБит на обоих картриджах ММС1 и ММС3.
 Для каких игр она используется? Я думал для этих маперов используется пара флешек, куда ром пишется пополам -> PRG-CHR.
--- Конец цитаты ---
Все верно. PRG-CHR. Но есть игры которым либо не хватает встроенной в денди памяти(Mario Bros 3) или для сохранений(The Mother, Kirby).
Если для сохранений то используется озу совместно с батарейкой. Я использовал более новые которым батарейка не нужна FRAM https://ru.wikipedia.org/wiki/FRAM
Посмотреть в каких играх используется можно на http://bootgod.dyndns.org:7777/
max5775:
Подскажите по поводу мирроринга для nrom игр.
Я не программист и не понимаю, в чем разница между горизонтальным и вертикальными и что это есть вообще.
Можно поменять мирроринг в самом роме, к примеру у марио и танков они разные и записать их на один картридж не получится.
Вернее получится, но толку от этого без переключения перемычек будет мало.
KykyPyky:
Архитектурой приставки предусмотрено 4 экранные страницы в виде 2х2, но памяти только на 2.
Поэтому оставшиеся две, которым не досталось памяти, повторяют предыдущие.
Зеркалирование как раз и определяет каким двум экранным страницам достается память, а какие повторяют содержимое первых.
При вертикальном зеркалировании первые две горизонтальные получают память, две нижние повторяют.
При горизонтальном, первые две вертикальные память получают, второй столбец повторяет первый.


У марио скроллинг горизонтальный, справа за границей экрана уже стоят элементы игры, те память нужна в первых двух горизонтальных экранах.
Поэтому зеркалирование вертикальное.

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

Зеркалирование ты не исправишь. То где ты хочешь поправить это заголовок ром файла, он нужен только для эмулятора. При записи на карик он вырезается.

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

--- Цитата: KykyPyky от 18 Июнь 2018, 17:28:56 ---Если хочешь записать на железо, то либо ставить мультиплексор и им уже программно управлять как и банками игры или переключатель.

--- Конец цитаты ---
Вот я и склоняюсь к такому варианту, спасибо.
Есть мультиплексор CD4053B, нашел от него схемку, только не совсем понятно, как подавать сигнал управления (какое напряжение, полярность?)
Допустим, я хочу использовать для переключения выводы 12,13,14.
И куда подключать 6,7 выводы?
KykyPyky:

--- Цитата: max5775 от 18 Июнь 2018, 20:47:11 ---Есть мультиплексор CD4053B, нашел от него схемку, только не совсем понятно, как подавать сигнал управления (какое напряжение, полярность?)

--- Конец цитаты ---
Хоть там и написано что это мультиплексор, но это скорее аналоговый ключ.
Тебе нужен нормальный мультиплексор для цифровых сигналов.
Например 74HC157
goodbye:
было бы круто написать такой софт, который бы делал многоигровки без дополнительного железа (микросхем). :)
но, думаю, это утопия...
megavolt85:

--- Цитата: KykyPyky от 20 Июнь 2018, 17:50:18 ---это скорее аналоговый ключ.
--- Конец цитаты ---

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


--- Цитата: max5775 от 18 Июнь 2018, 20:47:11 ---Допустим, я хочу использовать для переключения выводы 12,13,14.
И куда подключать 6,7 выводы?
--- Конец цитаты ---

6,7,8 на землю
16 к питанию
если на 11 логическая 1 (+), то соединенны 14,13
если на 11 логический 0 (-), то соединенны 14,12
max5775:
А я что то не подумал, мне ж надо чтобы ключ каждый раз переключался при сбросе.
А в данном случае он будет постоянно включать в одно и то же положение.
Я думал писать ромы с разным миррорингом чередуя, соответственно при переключении рома переключался бы и мирроринг.
goodbye, вижу что дата выпуска твоей программки обновилась, а по ссылке вроде старая версия скачивается. Или ты еще не внес функцию сортировки, как я хотел?
goodbye:
max5775, а как ты определяешь, что старая ?
запусти "командную строку" (терминал) по соответствующей кнопке в программе, там будет версия.

пока устранил немного глюков, по всем вопросам, лучше в теме о программе :) типа что нового и т.п...
менюшек от Кукуруку пока нет. но я скоро до этого дойду :) и тогда мы с Кукуруку сделаем всем подарок :DD
max5775:

--- Цитата: goodbye от 20 Июнь 2018, 22:34:38 ---max5775, а как ты определяешь, что старая ?
запусти "командную строку" (терминал) по соответствующей кнопке в программе, там будет версия.

пока устранил немного глюков, по всем вопросам, лучше в теме о программе :) типа что нового и т.п...
менюшек от Кукуруку пока нет. но я скоро до этого дойду :) и тогда мы с Кукуруку сделаем всем подарок :DD

--- Конец цитаты ---
Я просто посмотрел по функциям, вроде все тоже самое.
Консоль у меня не откроется - я в Linux работаю через wine.
Так значит есть шанс интегрировать генератор менюшек в программу, ждем с нетерпением )
goodbye:
в вайне есть смд и блокнот :) я тоже в линуксе если что.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии