Ещё одно видео с тестом картриджа. На этот раз тестим Metal Gear 2 так же на маппере konami5 с поддержкой SCC. Видео от уважаемого товарища Ptero :)
Вид для печати
Ещё одно видео с тестом картриджа. На этот раз тестим Metal Gear 2 так же на маппере konami5 с поддержкой SCC. Видео от уважаемого товарища Ptero :)
Хочу присоединиться к проекту! Что для этого нужно?
Готов быть тестером для tnt23, от которого в шаговой доступности. Если ннада. И если он примкнет к девелоперам.
Друзи, у кого есть раскуроченый SCC картридж, инструменты для его программирования в ямахе и овцеллограф, померьте какую максимальную частоту звуковой чип на выходе лупит ?
У меня есть благодаря стараниям уважаемого камрада DJs3000 микросхема, но нет инструментов чтобы закодить это дело (точнее нет ямашного дискового контроллера, поэтому эксперимент ставить сложно), плюс макетку мучить, может у кого готовое есть.
Потому-что в голой теории если ориентироваться на формулу, загрузив в SCC соответствующий сэмпл и поставив минимальный делитель можно на выходе получить синус в 1.8 мегагерца (то есть сэмплирует он на частоте тактовой, сиречь 3579545 Гц). Но мне как-то отчаянно не верится ибо это зело дохера. Во первых непонятно нахера это надо и где брать такие золотые уши которые слышат 1.8 МГц. Во вторых не верю что бравые парни в конами смогли сделать умножение на произвольное число от 0 до 15 (их в параллель можно на пяти умножителях) и следом пять сложений (а вот это уже параллелится плохо) за два такта, и при этом успеть еще выборку из памяти сделать, даже если она по пяти шинам в параллель.
У меня есть обоснованное подозрение, что SCC чип шпилит либо с частотой дискретизации 111860.78125 Гц, либо 55930.390625 Гц. Но нужен эксперимент. Я где-то в инторнетах натыкался на цифру 111 кГц, но не помню чего она касается.
Если таки да, то SCC чип вместе с маппером без шума и пыли реализуется на 20-мегагерцовой 40-ногой однокристалке за 180 рублей. При этом на все это дело будет от 170 до 340 тактов, и на рисковой машинке где команда/такт вполне можно вписаться, и на асинхронный маппер еще останется. Только две ТМ9 надо поставить, потому-что под звук ей ног не хватает и надо замультиплексироваться. Причем маппер асинхронный, а звук синхронный от CLK, все как положено.
Остается одна свободная нога у однокристалки и один пустой бит в одном триггере. Ну и R2R лесенка из резисторов.
А то я схему отрисовал, взялся прошивку писать и непонятки возникли.
ram_scan, тебе нужна консультация ув. тов. Ptero т.к. он в этой тебе рубит более чем хорошо :) думаю он без тестов и замеров выдаст тебе инфу)))
Запаял я эту жуткую Альтеру на плату! Четыре часа паял, Карл!!! Но даже после этого сразу не завелось. И наконец после двух часов шаманства и танцев с бубном плата наконец-то заработала. Флеш опозналась и стерлась корректно. Удалось также запустить карик как SCC - играет вполне прилично. Не 100% как оригинал, некоторые ноты не успевает, но несильно заметно. Теперь будем мутить программатор для флешки, так как текущий не работает на наших с Дмитрием платах.
После запайки гнезда аудиовыхода обнаружилась интересная особенность - через свой аудиовыход SCC играет нормально, а вот если пропустить звук через Ямаху, то немного фальшивит и не успевают некоторые ноты. Учитывая, что внутри Ямахи стоит самодельный FMPAC, подозрение падает на него, хотя ума не приложу как такое возможно. Его аудиовыход подключен к внутреннему 60 пиновому слоту, а наш флешкарик вставлен в слот 1. Порты у фмпака и SCC разные, поэтому конфликта быть не должно. Завтра отключу и выну FMPAC и посмотрим что будет со звуком.
Сегодня кстати за 4 часа полностью собра второй карик. Второй раз паять Альтеру даже с тем же ублюдочным немецким флюсом оказалось гораздо легче. Правда я применил другую технику пайки чтобы ножки не двигать при касании их паяльником. И паял не "волной", а "скошенным овалом". Опыт - великое дело!
Скорее всего это именно SCC лажает и подтупливает постоянно, но когда одновременно с ним не слышно ФМПАК-а это не так заметно, и кажется что все красиво. Через отдельный аудиовыход он же получается отдельно, а через ямаховский - замиксован со всеми остальными звукогенераторами.
На моем таком же картридже я не слышу никаких тормозов и фальши так что не всё так однозначно. Чтоб не разглагольствовать нужно записывать и сравнивать.
Вот линк на аудиофайл. Сначала играет наш SCC карик через его собственный аудиоразъём, вполне чисто. Затем играет через аудиовыход Ямахи. Во втором случае явно играет SCC+PSG и слышно запаздывание нот PSG на полсекунды и более.
www.finnov.net/~wierzbowsky/scc/
Wierzbowsky, никакого запаздания там нет. Как я уже тебе говорил нужно отбалансить PSG и SCC по отношению друг к другу. Получается что SCC играет тише чем нада. Вот видео где видно что ничего не запаздывает и SCC играет тихо.
Запаздывание есть. Просто если SCC громко играет, то оно незаметно.
Потому что ее слышно. Фоновая нота SCC уже играет, а нота PSG только начинает спустя полсекунды. Слух у меня хороший, в детстве на фортепиано учился.
Дело продвигается. Уже есть рудиментарное меню, автозапуск, утилита для записи образов во флеш, автодетект типов маппера, утилитки восстановления бутблока и очистки директории. Много из того, что записывалось в карик работало с первого раза. Также карик работает как отдельный SCC.
Меню и хелп немного подработаны, сделан кастомный шрифт. Планируется использовать псевдографику для "окон". SSC уже поправили на SCC. :D
Вложение 55349Вложение 55348
Бутблок и утилита-прошивальщик почти закончены - добавлен автодетект мапперов, verbose mode (для тех кто любит технические подробности), Super User mode для редактирования всех регистров (кто не рискует, тот не играет в MSX игры), полностью автоматический режим работы (когда пользователя ничего не спрашивают). Бутблок и сама утилита "причёсаны" и идёт тестирование. На фотках - основной скрин бутблока и экран помощи.
Проверил сегодня как работает GameMaster 2 ROM на нашем мультикарике - всё пошло с первого раза. Игровой карик (простой флешкарик на 1 игру) был в слоте 2, с нашего мультикарика запустил GameMaster 2, он обнаружил игровой карик и позволил использовать читы. Запись на диск не проверял пока, возможно работать не будет из-за разницы реализации нашего мультикарика и GameMaster 2.
Исходники проекта уже давно опубликованы, но видимо я забыл об этом написать, сорри. Скачать можно в нашем репозитории:
https://github.com/RBSC/Carnivore
Коммерческое использование не разрешается без согласования с группой RBSC. Изготовление плат и их продажа для покрытия расходов на производство и доставку допускается.
Как-то тут стало грустно и пусто. Порадую ка я вас новостями. :D
Вторая версия Carnivore картриджа на подходе. Уже работают ОЗУ, CF карта и флешка; играет FMPAC (с переведённым на английский биосом) и SCC. Пока идёт первичная отладка, потом займёмся причёсыванием утилит и интерфейса.
А вот собственно и собранный карик. Причёсываем бутблок и утилитки пока что.
http://podrezov.com/temp/c2mfc.jpg
Достигнута стабильность работы железа. Плату ждёт ещё одна ревизия, в этот раз совсем мелкая. Теперь искореняем мелкие глючки и допиливаем утилиты. Думаю, что релиз будет в марте-апреле.
Могу сказать, что паять Альтеру и другие чипы на карике третий раз уже достаточно просто - сказывается предыдущий опыт. Главное - правильно расположить чип, чтобы пины со всех сторон были точно на своих местах. Паять ножки Альтеры надо вдоль, чтобы не сдвинуть их с места и не исправлять потом иголкой. Если используете жидкий флюс - обязательно отмывайте плату от него. Я в ультразвуковой ванночке со спиртом продержал плату добрых 15 минут.
Кнопка - очень полезная вещь при отладке собранного карика, рекомендую её поставить. Микросхему DAC лучше не перегревать - по словам сборщиков похожих кариков она к этому делу чувствительна. Выход звука на самом карике слабоват для наушников, так что рекомендуем подключать их к общему аудиовыходу MSX.
Программирование прошивки осуществляется с помощью обычного ByteBlaster 2 в режиме Active Serial. В программе надо вручную выбрать устройство EPCS4, а не использовать автодетект. Возможно в будущих ревизиях допилим JTAG. При программировании на плату нужно отдельно подать 5в. Сделать это можно припаяв пины от джампера по обеим сторонам танталового конденсатора, сидящего на шине питания и подав туда нужное напряжение. Я использовал кабель от старой зарядки телефона - на одном конце вилка USB, на другом одинарные штекеры типа "мама", которые подключаются к пинам, напаянным на кондер.
Впаивать пины для разъёмов JTAG и AS не рекомендую - не влезет ни в какой корпус. Проще эти двухрядовые пины воткнуть в разъём программатора. Затем можно обратную сторону пинов вставить в дырки разъёма AS (Active Serial) и немного их наклонить, чтобы обеспечить надёжный контакт с метализацией отверстия. В таком прижатом состоянии программируем Альтеру и потом просто вынимаем пины из дырок.
C SCC разобрались - работает. Вчера причесал бутблок, навёл марафет, добавил обработку порта F4 для полноценного ресета после изменения конфигурации. В утилите добавлена опция создания конфигурационных записей - чтобы можно было использовать карик как отдельное устройство, например только как расширение ОЗУ или как комбинацию нескольких устройств. Причесал интерфейс для показа карты занятости блоков, поправил некоторые недочеты в обработчике ошибок. Также добавлена опция полного стирания флеш чипа. Работа продолжается. Уважаемый Ptero улучшает прошивку и утилиту. Будет также новая ревизия платы. Скрины и видео работы карика будут позже.
Вот пока что крупные фотки собранного устройства, а также небольшое исправление для платок версии 2.1:
http://podrezov.com/carnivore2/cmfc_fix.jpg
http://podrezov.com/carnivore2/cmfc_large_front.jpg
http://podrezov.com/carnivore2/cmfc_large_back.jpg
Основное меню:
http://podrezov.com/carnivore2/cmfc_main.jpg
Экран помощи:
http://podrezov.com/carnivore2/cmfc_help.jpg
Wierzbowsky, пролистал репозитарий и эту тему, можно ещё ссылки на схему и исходники для FPGA, посмотрю возможно-ли перенести на DivGMX.
Вот видос короткий сделал на телефон. В реале переходы цветов смотрятся гораздо плавнее и приятнее.
https://www.youtube.com/watch?v=VRzPOb8lb1A
Доработали детект мапперов. Почти все ROMы детектируются правильно и стартуют как положено. Есть пара исключений - MGear2 не нравится расширенный слот, а Aleste не умеет работать с фмпаком в расширенном слоте. Посмотрим можно ли будет поправить.
Утилиту CANFM для первого Carnivore мы скоро поправим, чтобы детект мапперов был как сейчас в C2MAN.
В наш репозитарий выложено:
Картридж Carnivore: https://github.com/RBSC/Carnivore
- поправлен бутблок
- новые утилиты для работы с картриджем
- описание регистров (на русском)
- инструкция по подготовке и использованию картриджа
- дополнен partslist
Картридж Carnivore2: https://github.com/RBSC/Carnivore2
- герберы платы версии 2.2
- новые утилиты для работы с картриджем
- поправлена инструкция по подготовке и использованию картриджа
Обновлёны бутблок (теперь используется адаптированая версия от Carnivore2 с эффектами) и ридмишки.
https://github.com/RBSC/Carnivore
Исходники бутблока от Carnivore2's модифицированы для Carnivore картриджа. Так что качайте обновления.
https://github.com/RBSC/Carnivore2
Возможно через два месяца можно будет приобрести готовые карики Carnivore2 в корпусе у одной частной конторы за приемлемые деньги. Как будет новая инфа - сообщу.
Мы добавили опцию MegaRAM в Carnivore2 картридж. С помощью специальной утилиты можно загрузить ROM файл в ОЗУ картриджа и использовать его до выключения питания. Если в картридже установлена батарея, то данные сохранятся и после выключения питания. Утилита позволяет поставить защиту на записанные данные, так что они не испортятся если ROM попытается что-то в себя записать (таким образом работают некоторые защиты от копирования). Но можно защиту и не ставить. Для записанного ROM в директории картриджа создаётся запись с префиксом "RAM: ". Вот видео теста этой опции (заранее извиняюсь за дрожащую камеру):
https://youtu.be/jfTw8rjLwZQ
Не все ROM файлы можно загружать в ОЗУ. Например почти все игры до 256кб включительно работают, а вот Metal Gear 2 пока не удалось заставить работать.
Прикольно.
Metal Gear 2, а почему? Не понимаю мульти девайсы. Чего хотим достигнуть на 8-бит. Это как вписать не впихуемо. Это болезнь видимо заразительна от возможностей ЕС.
РS. Пошел на базар МГТФ(0.33/диаметр/ - в изоляции) 1$-1м
- - - Добавлено - - -
Metal Gear 2 с Beer IDЕ грузил. Игрушка работала.
- - - Добавлено - - -
Видимо с мепером ОЗУ накружили. Делайте по книжке на японском. Упрямые) Сылочку чегото не грузется
Metal Gear 2 из флешки то нормально идёт, а вот из ОЗУ нет. Загрузчик там уж очень специфический...
Ух. Сори. Я попутал с 1 MG.
С РОМ грузить. Хакеры аппаратные), успехов.
а что такое ОЗУ (чего)…. Это выходит за формат общения форума.