Просмотр полной версии : Konami-5 (SCC) mapper
ram_scan
21.11.2014, 18:05
Други. Я тут вышел на финишную прямую с этим маппером (пока без звука) и встал на могучие грабли.
Моделирование и испытание на стенде "с тумблерами" кажет, что в первом приближении оно работает правильно (дешифратор срабатываэ корректно, запись/чтение страничек происходит). Но пара игрушек на которых я взлетал (Solid Snake в частности) суют мне под нос болт на 19 с левой резьбой. Картридж стартует, но на заставку не выходит.
Я это к чему. Ковырять солидснэйка в IDA долго, а шагать в отладчике в эмуляторе муторно.
Может кто в этой игрушке ковырялся ? Может так получиться что он не стартует из-за того что звуковой чип ощупать не может ? Или ему поуху, дудит в SCC как дудится, а то что не стартует это я по граблям хожу ?
На всякий случай прикладаю схему прототипа (может кто незамыленным глазом ошибку увидит).
50006
UPD: демо версия SolidSnake прошитая в MX28F2000 взлетела. Я окончательно сбит с толку.
UPD2: Kings Valley 2 - не стартует. Kontora (Contra) - работает. Такое ощущение что действительно нужен SCC звук.
UPD3: Quarth стартует.
UPD4: Space Manbow стартует.
UPD5: схема рабочая. Просто некоторые программы проверяют наличие звука и застревают в этом месте.
Может кто в этой игрушке ковырялся ?
тут на форуме проскакивала инфа о MetalGear - японская версия точно проверяет какие-то ячейки в пзу
ram_scan
21.11.2014, 19:23
Это первый Metal Gear проверял, и в ресет на КУВТ2 уходил. Я его успешно от этого дела отлечил (одну процедуру поправить, она проверяет наличие канджи если я не путаю). Я спервоначалу в эмуляторе на русской версии КУВТ2 гоняю. Потому-что мне хотя бы надо убедиться под какой мапер игрушка (они перехаченые бывают, например контра есть в интернетах и под конами4 и под конами5).
Такое ощущение что некоторым играм SCC звук действительно нужен. Нужно делать "затычку" пока звук не реализую. Потому-что двухмегабитная Space Manbow на моей реализации картриджа взлетает. В это уже вторая 155РУ2 (четвертый бит в мапере используется начиная с нулевого), значит там тоже не напутано.
UPD: прошил Space Manbow в UV EPROM M27С4001. Взлетело. Похоже схема все-же рабочая.
Макет:
50007
ram_scan, обрати внимание что часто ромы подписанные как SCC являются не чистым дампом с карика, а уже внесены изменения для того чтобы SCC работал с дополнительным звуковым модулем вставленным в MSX как отдельный картридж. Я столкнулся с этой проблемой когда пытался запустить такие ромы во флеш картридже :) разработчик картриджа мне объяснил что к чему.
James DiGreze
22.11.2014, 12:08
На всякий случай прикладаю схему прототипа (может кто незамыленным глазом ошибку увидит).
Сразу не понял зачем D2...
Размышляю: если 155РУ2 заменить, к примеру, на 62256, то можно убрать D2. Надо будет попробовать.
ram_scan
22.11.2014, 14:41
Сразу не понял зачем D2...
Размышляю: если 155РУ2 заменить, к примеру, на 62256, то можно убрать D2. Надо будет попробовать.
Тогда надо будет и инвертор по входу убирать, подтяжку с выхода, и мультиплексировать шину данных на чтение/запись (потому-что на запись она шина данных а на чтение - кусок шины адреса). С ASCII мапером получится еще заковыристее, там на разные банки памяти по разному мультиплексировать придется, придется городить "два этажа". Мультиплексор шире 4 бит - микросхема кузовом длинная и средой обитания нераспространенная, значит придется ставить две КП-шки. В итоге получится еще большая бодяга, три мелких микросхемы убираются, три больших появляются. Я думал поставить туда более "классическую" SRAM, смысла не нашел в этом. Во первых обвязка, во вторых самая мелкая которую можно сейчас найти - 6216, а нужно всего 128 бит памяти. Вобщем огорода городить черти сколько получается. Проще триггерами заморочиться, благо их есть по 6 штук на корпус (ТМ9 кажется).
Вобщем я старался чтобы карик был на максимально доступных микросхемах. У меня руки чесались например 556РТ4 дешифратором поставить, вышло бы на корпус меньше и звук потом цеплять намного проще. Но кто ее желающим собрать прошивать будет ?
Опять-же у 155РУ2 время чтения/записи 50нС (плюс минус, на чтение чота около по даташиту, 45, на запись 55, но обычно быстрее, от экземпляра зависит). Имхается мне что 62256 будет раза в три тормознее. Успеет ли поворачиваться с мультиплексированием ?
В принципе 155РУ2 можно было бы поменять на 155РП1 (или 155РУ32), тогда инвертор не понадобится. Но они не имеют входа начального сброса, поэтому по подаче питания вся память там записана единицами. Я в соседней теме про Konami-4 расписал почему из-за этого не выстреливает.
Там я правда крутнулся чуть по другому, нулевой банк мапить не приходилось. Поэтому в этой схеме инвертор переехал с выхода на вход, и в памяти данные хранятся "наизнанку".
James DiGreze
22.11.2014, 20:57
Кстати, да, я про раздельный вход-выход не подумал. Тогда, наверно, будет лучше использовать 4 регистра.
ram_scan
22.11.2014, 21:37
К ним надо будет еще двоично-десятичный дешифратор 2 на 4. Это уже матрица триггеров получается пять корпусов вместо трех как у меня. Хотя от РУшки можно тогда избавиться.
В соседнем NESовском разделе кто-то из форумчан MMC3 маппер именно так и сгородил, на четырех регистрах.
155РУ2 кстати реально недефицитная микросхема. Во всяком случае я у себя на деревне нашел аж в двух магазинах разом. Правда дорого, что-то около 20 рублей за корпус.
Недостаток у нее по большому счету один, она жрет в одно лицо под 100 мА, и греется здорово.
James DiGreze
23.11.2014, 09:20
Ну... у нас несколько разные деревни, в моей вообще радиолавок нет, а в соседней, в которой я отовариваюсь "по талонам" - нет 155ру2 ;) но это всё лирика. Если сильно приспичит - буду искать на широких просторах.
ram_scan
23.11.2014, 13:20
Ну... у нас несколько разные деревни, в моей вообще радиолавок нет, а в соседней, в которой я отовариваюсь "по талонам" - нет 155ру2 ;) но это всё лирика. Если сильно приспичит - буду искать на широких просторах.
http://ru.aliexpress.com/item/SN7489N-64-BIT-RANDOM-ACCESS-READ-WRITE-MEMORY-IC-Free-Shipping/570458120.html
Берите тут. Получится дороже чем в магазине конечно. Но если вам в любом случае с почтой заморачиваться то наверное дешевле не выйдет. Ну или на регистрах тогда уже.
Даже в дорогущем чипидип если брать 200 штук будет цена 3,4рубля http://www.chipdip.ru/product/k155ru2/
ram_scan
23.11.2014, 14:18
Даже в дорогущем чипидип если брать 200 штук будет цена 3,4рубля http://www.chipdip.ru/product/k155ru2/
Они походу в цене просто нолик пропустили. У них К155ЛА3 по 41 рублю. Я бы по 3 рубля купил, по 10 бы у себя на деревне сдал (смели бы начисто, продается то по 20), денег бы заработал.
Опять-же почтовые расходы рубликов в 170 минимум встанут. Если форумчанину покупать с доставкой до лесосибирска. Так что китайская цена не выглядит ощемта необоснованной. Если прикинуть цену доставки (это минимум 4 бакса на нынешние цены) то фактически розничная цена в магазине и получается.
Они походу в цене просто нолик пропустили. У них К155ЛА3 по 41 рублю. Я бы по 3 рубля купил, по 10 бы у себя на деревне сдал (смели бы начисто, продается то по 20), денег бы заработал.
Опять-же почтовые расходы рубликов в 170 минимум встанут. Если форумчанину покупать с доставкой до лесосибирска. Так что китайская цена не выглядит ощемта необоснованной. Если прикинуть цену доставки (это минимум 4 бакса на нынешние цены) то фактически розничная цена в магазине и получается.
Ну вот тогда http://specelservis.ru/catalog/info/102991 аж 87 года выпуска :)
James DiGreze
24.11.2014, 10:41
Похоже есть в соседней деревне ИР32/74170 по 10рэ. Надо будет десяток взять.
ram_scan, если ещё актуально вот тебе схема Konami флешкарика на 512кб. Штука прикольная но только для мапера Konami ну и конечно без SCC звука. Игры заливать можно непосредственно с MSX. Если будет интересно есть уже разведенная печатка.
http://cs623130.vk.me/v623130711/3c35e/O3pz2lddoh4.jpg
В идеале добавить сюда SCC чип и будет круто. А вообще сделать бы флешкарик для всех 4х мапперов было бы круто:
-> KONAMI 8K
-> KONAMI SCC
-> ASCII 8K
-> ASCII 16K
SCC я постараюсь найти под ПЛИСину.
---------- Post added at 04:07 ---------- Previous post was at 03:12 ----------
Вот (http://www.hat.hi-ho.ne.jp/tujikawa/esepld/download.html) удалось найти SCC для ПЛИС. Там же есть PSG что в случае с MSX значит YM2149F т.е. YA чип :) что может пригодится для спека. Вот тут (http://bifi.msxnet.org/msxnet/tech/megaroms.html#konami) немного про мапперы.
ram_scan
07.11.2015, 17:10
ram_scan, если ещё актуально вот тебе схема Konami флешкарика на 512кб. Штука прикольная но только для мапера Konami ну и конечно без SCC звука. Игры заливать можно непосредственно с MSX. Если будет интересно есть уже разведенная печатка.
Эта схема к сожалению неверная. То есть я допускаю что она рабочая и некоторые игрушки на ней идут. Но она не умеет мапить банк в адресе 4000, как раз из-за того что микросхемма с триггерами после подачи питания записана единицами. Строго говоря она записана нулями, но у нее инвертирующий вход и инвертирующий выход, поэтому снаружи так выглядит. Для конами-4 картриджа решение изящное (я konami-4 именно так сделал только на 155РУ2 с инвертором по входу без трюка с пуллдауном), но для конами-5 это не годится.
Я горожу на 1556ХЛ8 кому для ностальгии, и GAL16V8 кому не мучиться, иба это суть одно и то же. Там вся логика дешифрации и выбора кристаллов ROM/MRAM/SCC правильно в один чип влазиит. Хотел на 556РТ4, одной адресной ноги под фидбэк не хватает, либо триггер ставить, а 556РТ5 уже очень жирно.
_Nikanor_
02.01.2016, 01:27
Есть у меня картридж Kings Valley 2.
И он почему то не автостартует. При этом в дебаггере он виден и сигнатура AB в адресе 4000h присутствует.
Но при попытке запустить исполнение с этого адреса идет вылет в перезагрузку.
Есть ли какой нибудь способ запустить картридж из BASICа ?
Как вообще устроен заголовок картриджа - как система определяет, где находится начало кода в картридже?
ram_scan
02.01.2016, 09:10
Формат заголовка картриджа:
DEFB "AB" ; expansion ROM header
DEFW initcode ; start of the init code, 0 if no initcode
DEFW callstat; pointer to CALL statement handler, 0 if no such handler
DEFW device; pointer to expansion device handler, 0 if no such handler
DEFW basic ; pointer to the start of a tokenized basicprogram, 0 if no basicprogram
DEFS 6,0 ; room reserved for future extensions
Игровые картриджи в подавляющем большинстве запускаются с адреса initcode (если не на бейсике в них программа). Напрямую из бейсика запустить не получится, нужно в памяти разместить небольшую процедурку в машинном коде которая переключит слот и отдаст туда управление. Теоретически можно переключить слот и из бейсика но пользы с этого никакой, так как после переключения бейсик немедленно поломается.
Но можете попытаться запустить из отладчика. Правда ему тоже скорее всего не понравится если все банки памяти под слот отдать.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot