PDA

Просмотр полной версии : Canivore SCC - флешкартридж



Страницы : [1] 2

DJs3000
31.07.2015, 20:19
Это прототип всеядного картриджа с поддержкой всех мапперов и даже с звуковым чипом SCC. Данным проектом занимается ув. тов. Ptero и помощь в разработке ему точно не будет лишней в веду всей сложности задач. На данный момент определены основные принципы и задачи проекта и разведена плата прототипа картриджа. Практически весь карик находится в альтере из-за чего предстоит огромная работа по написанию и оптимизации прошивки для ПЛИС(vhdl).

https://pp.vk.me/c629223/v629223711/c2ec/qPwRWxpktwI.jpg

Всё кто пожелает присоединиться к проекту получит картридж либо собранный, либо конструктором но абсолютно бесплатно :)
Имеются исходники SCC чипа и исходники приложения для записи РОМа в картридж.

AlexBel
02.08.2015, 19:13
Это прототип всеядного картриджа с поддержкой всех мапперов и даже с звуковым чипом SCC.

Как будут загружаться образы катриджей?

DJs3000
02.08.2015, 19:46
При помощи контроллера Sunrise IDE который в дальнейшем будет уже встроен в картридж, а пока что раздельно. Грузимся в MSX-DOS и при помощи утилитки загружаем ром во флеш память. Хотя достаточно будет даже флопика.

ram_scan
03.08.2015, 05:42
Собственно основная идея флэш картриджа как раз и состоит в том чтобы не иметь IDE и флопика.

Подавляющее количество хитов если не было выпущено под дос, то было умельцами досифицировано и перехачено под ASCII маппер, поэтому может играть и без такого картриджа.

А что не было перехачено и досифицировано, то в виде образов лежит не на ямахе а на писюке.

То есть получается что 1) если у тебя есть флопик или иде, то ощемта гамезы гамаются и просто так с диска. 2) те гамезы которые с диска не гамаются и которые надо загружать в картридж все едино сначала появляются в виде образов на писюке, и есть прямой смысл грузить их в картридж прямо оттудова.

DJs3000
03.08.2015, 10:30
ram_scan, Sunrise IDE будет служить в картридже лишь средством для записи игр в картридж, хотя можно будет и полноценно работать в MSX-DOS. Далеко не все игры(особенно новоделы) имеют дисковую версию да и SCC звук от флопаря не получишь :)
Я не собираюсь и не хочу спорить о целесообразности проекта(лично мне и товарищу Ptero все понятно). Всё что нам нужно привлечь людей разбирающихся в VHDL, а остальные получать отличный флешкарик.

ptero
03.08.2015, 10:56
Я бы сказал что не привлечь, а дать возможность поковырятся. Если нет желания, зачем же привлекать то..

ram_scan
03.08.2015, 17:22
ram_scan, Sunrise IDE будет служить в картридже лишь средством для записи игр в картридж, хотя можно будет и полноценно работать в MSX-DOS.

Я не критикую разработку, я пытаюсь намекать что есть очень большой смысл организовать прямую загрузку PC->картридж, чем городить ненужный огород с MSX-DOS (хоть этот огород технически проще).

Логика то простая. Погаматься в гаму можно 1) вставив картридж и 2) запустив игру с диска. Ваше решение предлагает делать два таких движения сразу, ради чего ?

DJs3000
03.08.2015, 17:34
ram_scan, может тогда уже запустить эмуль на PC и не париться? Концепция именно такая и никак иначе. Такая же концепция у "MegaFlashROM SCC+ SD" и я считаю её очень удобной и правильной. Устройство будет эмулировать именно картридж.

Wierzbowsky
06.08.2015, 23:00
Меня немного напрягают резисторы прямо над контактами слота. Влезет ли плата с ними в корпус? Может их повыше подвинуть? Какую функцию они выполняют?

И немного напрягает шаг ног Альтеры и чипа слева от нее. Товарищ, который делает Zemmix, такие Альтеры паяет промышленным способом, на фабрике. Реально ли припаять такой чип обычным паяльником?

ptero
07.08.2015, 03:18
резисторы да.. низковато, под самую планку, прикинул на реальном картридже, входят.. плата не упирается в перегородку картриджа нижними краями слева и справа от слотового разъема, там зазор есть, она на "дырки" опирается. В нормальной работе картриджа они не выполняют никакой функции, но вот в момент включения питания, пока Альтерина не загрузилась, на её ногах может быть всё что угодно, по мнению большинства имевших с ними дело, резисторы надо ставить, ограничить ток, если возникнет внештатная ситуация работы выходов друг на друга.
Шаг ножек Альтеры всех напрягает, а кому сейчас легко ? :) Приходилось такую Альтерину паять в Спринтере от Ивана Макарченко, ничего заработало.. Кто то там советовал что это всё надо делать с хорошим флюсом (жидким) залудить контактики на плате (оставив там какое то разумное количество припоя) и ножки микрухи отдельно, а потом совместить и нагреть воздухом.. Но можно и тыкаясь тонким паяльником в каждую ножку.. под лупой хорошей. такой совет с залуживанием был в основном из-за почтительного срока печатных плат. на новых платах наверное можно сразу подпаивать.

trader2k4
07.08.2015, 05:46
Реально ли припаять такой чип обычным паяльником?

Реально. Погуглите "ударную" технику пайки, к примеру :)

ram_scan
07.08.2015, 11:34
И немного напрягает шаг ног Альтеры и чипа слева от нее. Товарищ, который делает Zemmix, такие Альтеры паяет промышленным способом, на фабрике. Реально ли припаять такой чип обычным паяльником?

Реально. Нужна только специальная заточка жала которая называется на жаргоне "микроволна". Фактически это жало с лункой посередине.

Техника пайки таким жалом достаточно подробно разжевана в электрических интернетах на форумах радиваполюблятелей самодельщиков (и в ютубе видеороликов навалом). Нужен просто жидкий флюс, и правильный температурный режим для припоя которым пользуетесь. Ну и руку чуть набить надо.

Заданную альтеру таким жалом можно поставить на плату примерно за минуту.

http://www.youtube.com/watch?v=gt1N9RjOrQU

Wierzbowsky
15.08.2015, 21:03
Если всё получится, а я в этом почти не сомневаюсь, мы заткнём за пояс жадных буржуев, которые хотят по 150 и больше евро за подобные девайсы.

AlexBel
15.08.2015, 21:52
Эта плата (в частности - FPGA) паялась обычным паяльником станции Lukey 852D+ с родным жалом и с обычным нейтральным спирто-канифольным флюсом. Возможно, "волной" паять удобнее, но при наличии прямых рук можно прекрасно обойтись обычным заострённым или плоским жалом. Если уж совсем плохо со зрением, можно воспользоваться увеличительным стеклом на штативе.
В общем, все трудности пайки придумывают от недостатка знаний и опыта. Для таких корпусов вполне достаточно, как я уже писал, прямых рук и обычного паяльника в хорошем состоянии с подготовленным жалом и, желательно, с заземлением.

Wierzbowsky
15.08.2015, 22:35
У меня паяльная станция, вроде неплохая. Руки тоже вроде не из жопы. Но как-то стрёмно паять микросхему с таким количеством ног и маленьким шагом. SOP уже паяю уверенно, PLCC32 вот только научился. Просто жалко будет испортить дорогущий чип. Ладно, попробуем. :D

AlexBel
15.08.2015, 22:42
У меня паяльная станция, вроде неплохая. Руки тоже вроде не из жопы. Но как-то стрёмно паять микросхему с таким количеством ног и маленьким шагом. SOP уже паяю уверенно, PLCC32 вот только научился. Просто жалко будет испортить дорогущий чип. Ладно, попробуем. :D

Я обычно температуру жала устанавливаю 300-320 градусов по Цельсию. Чистое, без раковин, жало, обилие флюса и не особо толстый припой - и всё нормально. Если на выводы ложится "сопля", то нужно спокойно нанести на залитое место флюс, очистить жало и снять излишки припоя. После пайки можно сгладить термофеном. Можно и сразу паять термофеном - зависит от состояния платы и выводов. Потренируйся на платах, которые не жалко, например, от неисправных DVD-плееров - на них можно найти чипы в аналогичных корпусах.

Wierzbowsky
15.08.2015, 23:01
Я обычно температуру жала устанавливаю 300-320 градусов по Цельсию. Чистое, без раковин, жало, обилие флюса и не особо толстый припой - и всё нормально. Если на выводы ложится "сопля", то нужно спокойно нанести на залитое место флюс, очистить жало и снять излишки припоя. После пайки можно сгладить термофеном. Можно и сразу паять термофеном - зависит от состояния платы и выводов. Потренируйся на платах, которые не жалко, например, от неисправных DVD-плееров - на них можно найти чипы в аналогичных корпусах.

Очень дельный совет, спасибо. Попробую, благо битых плат у меня много.

ram_scan
17.08.2015, 12:43
У меня паяльная станция, вроде неплохая. Руки тоже вроде не из жопы. Но как-то стрёмно паять микросхему с таким количеством ног и маленьким шагом. SOP уже паяю уверенно, PLCC32 вот только научился. Просто жалко будет испортить дорогущий чип. Ладно, попробуем. :D

При должном количестве нефуфельного флюса и правильном температурном режиме для припоя соплей не возникает из-за поверхностного натяжения, припой сам собирается в тех местах где ему положено и убегает с тех где незалужено (как вода сама собирается в шарики на жирной поверхности).

Собсно жало "микроволна" нужна не для того что там жало какие-то особенные условия создает, в лунке посреди жала просто запас припоя держится, и лишний там собирается, поэтому одну сторону корпуса можно запаять за один проход, не заливая один край соплями и не размазывая их потом потом по второй половине сухим жалом. Ну и припой пореже добирать. А так запаяться можно любым луженым жалом адекватного размера, просто это дольше и аккуратности больше надо.

AlexBel
17.08.2015, 13:46
При должном количестве нефуфельного флюса и правильном температурном режиме для припоя соплей не возникает из-за поверхностного натяжения, припой сам собирается в тех местах где ему положено и убегает с тех где незалужено (как вода сама собирается в шарики на жирной поверхности).

Собсно жало "микроволна" нужна не для того что там жало какие-то особенные условия создает, в лунке посреди жала просто запас припоя держится, и лишний там собирается, поэтому одну сторону корпуса можно запаять за один проход, не заливая один край соплями и не размазывая их потом потом по второй половине сухим жалом. Ну и припой пореже добирать. А так запаяться можно любым луженым жалом адекватного размера, просто это дольше и аккуратности больше надо.

При превышении количества припоя повержностное натяжение при всём желании не сможет "рассосать", так что от "соплей" гарантированности нет. "Нефуфельный" флюс - это может быть обычная спиртоканифоль. Даже, пожалуй, лучше ей пользоваться, т.к., к сожалению, под видом "спецфлюса для пайки сотовых телефоном" нередко продают бурду, которая может впоследствии нехорошо проявиться, подобных случаев уже было немало, в т.ч. и в моей практике. Самым запоминающимся событием в этой области была покупка канифольного флюса... на воде - я искренне охренел, ткнув в место пайки жалом и получив облачко пара и микровзрыв брызг. Так что - либо нейтральную спиртоканифоль, либо спецфлюс, но только проверенный.

Да, кстати, если "сопля" всё же образовалась, то она очень хорошо уходит, если снимать её сверху вниз, расположив плату вертикально. Ну и, конечно, про флюс нельзя забывать и состояние жала...

ram_scan
17.08.2015, 18:28
"Нефуфельный" флюс - это может быть обычная спиртоканифоль. Даже, пожалуй, лучше ей пользоваться, т.к., к сожалению, под видом "спецфлюса для пайки сотовых телефоном" нередко продают бурду, которая может впоследствии нехорошо проявиться, подобных случаев уже было немало, в т.ч. и в моей практике.

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

Можно приготовить дома, любой консистенции, если глицерин (а не водный раствор оного) в хозяйстве есть конечно.

AlexBel
17.08.2015, 20:01
вместо дорогой смывке кисточкой в изопропиле в несколько проходов плату можно просто выкупать в горячей воде.

Микрофоны, динамики, подстроечные резисторы, конденсаторы, трансформаторы, контура и и прочие "любящие" воду элементы будут благодарны :)

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

Wierzbowsky
17.08.2015, 20:21
Вчера сотворил себе из старого жала "волну" - сточил напильником и высверлил отверстие. Потом полдня им паял разные микросхемы. Ничего, руку набил хорошо. Главное чтоб вокруг ножек не было посторонних элементов, чтобы жало можно было вести точно по ножкам с нужным наклоном. Теперь готов паять Альтеру!

DJs3000
17.08.2015, 20:45
Wierzbowsky, просто паяй микросхемы в первую очередь и ничего не будет мешать.

DJs3000
18.08.2015, 16:34
Приехало почти все:

Платки
http://cs622222.vk.me/v622222711/4581a/94fl_02bj5k.jpg
http://cs622222.vk.me/v622222711/45824/EFgr5E5kH50.jpg

Альтеры
http://cs622222.vk.me/v622222711/4582e/lJAsmC1yJJc.jpg

Флешки
http://cs622222.vk.me/v622222711/45838/x79b0UgGp28.jpg

В процессе создания прошивки для плисины оказалось что она забивается на 98% в текущей версии той самой прошивки и было принято решение поставить самую жирную ПЛИСину этой серии которая увы ещё в пути.

piroxilin
18.08.2015, 23:20
DJs3000, Фига-се ! 30-й флекс забился кариком ?!
Что-ж там за начинка...

DJs3000
19.08.2015, 00:00
DJs3000, Фига-се ! 30-й флекс забился кариком ?!
Что-ж там за начинка...

Как сказал Ptero основное место заняли мапперы :)
30ку заменили на EPF10K100EQC240-3 но и на 30ку будет прошивка, а 100ка больше рассчитана уже на следующую версию флешкарика где будет ещё и sunrise ide.
Посмотрел я на шаг между контактами флекса и немного испугался) возможно моим паяльником для пайки вёдер не удастся это запаять)))

ram_scan
19.08.2015, 07:16
Как сказал Ptero основное место заняли мапперы :)

Странно, у меня основное место занимал SCC. Точнее егошная память на регистрах.

ptero
19.08.2015, 12:15
в этой Альтерине Флекс, на борту есть отдельный RAM, для WAV регистров SCC, его и заюзали.. а остальное.. была попытка сделать универсальный маппер с настраиваемыми областями, размерами отображениями итд итп.. получилось наредкость шизануто, ну ещё кодировшик из меня ещё тот.. возможно что слишком неоптимально формулы составлял..

Wierzbowsky
19.08.2015, 17:39
Кстати пишется Cartridge, а не Cartrige. :) Надо бы поправить в исходниках...

DJs3000
08.09.2015, 21:29
Сегодня ув.тов Ptero запустил первую игру со звуком SCC на прототипе флешкартриджа и вполне успешно. Вот небольшое видео (https://youtu.be/27EiWn0_Cbg).

https://pp.vk.me/c623828/v623828711/4d021/IGqmGI6Rj4Y.jpg

piroxilin
08.09.2015, 23:05
Хоспаде, что-ж там с питанием случилось?

DJs3000
08.09.2015, 23:31
Хоспаде, что-ж там с питанием случилось?

Я купил немного не ту плисину :D нада было на 3.3в, а я купил на 5в бухахаха) уже заказал нужных плисин.

piroxilin
09.09.2015, 00:56
DJs3000, Гы, я свою запаял уже :)

DJs3000
09.09.2015, 10:36
DJs3000, Гы, я свою запаял уже :)

я тебе другую дам :)

piroxilin
09.09.2015, 11:41
я тебе другую дам :)

Обидно - я её пока донёс, погнул ног 20 в пакетике...
Всё выровнял по высоте/ширине - стала как новая, примерил всё, запаял...
А теперь отпаивать :)

DJs3000
09.09.2015, 11:49
piroxilin, да паять её это жесть но это лучше чем колхозить с проводками и ещё одним стабилизатором)))

piroxilin
09.09.2015, 13:55
Да нечего там паять - я его за 45 минут весь спаял, вместе с выпрямлением ног...

ptero
09.09.2015, 14:30
хочу дать совет... прежде чем выпаивать, нужно
1. смазать ножки флюсом
2. взять каплю припоя "сплав розе" или "сплав вуда" низкотемпературные
3. обильно залить все ножки этой каплей .. (температура жала тем не менее 200 -250 ) что бы припой перемешался..
4. после этого греем воздухом температурой 150 градусов и оно легко отваливается а остальное остаётся целым и не перегретым..

gen1971
09.09.2015, 15:55
Сплав Вуда лучше не использовать - он токсичный!

ptero
11.09.2015, 13:54
Сплав Вуда лучше не использовать - он токсичный!

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

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

DJs3000
13.09.2015, 02:37
Ещё одно видео (https://youtu.be/fTImf3WpndY) с тестом картриджа. На этот раз тестим Metal Gear 2 так же на маппере konami5 с поддержкой SCC. Видео от уважаемого товарища Ptero :)

tnt23
03.10.2015, 22:47
Хочу присоединиться к проекту! Что для этого нужно?

Wierzbowsky
03.10.2015, 23:01
Хочу присоединиться к проекту! Что для этого нужно?

Обращайтесь к Дмитрию (DJs3000).

mihhru
04.10.2015, 00:19
Готов быть тестером для tnt23, от которого в шаговой доступности. Если ннада. И если он примкнет к девелоперам.

DJs3000
04.10.2015, 00:22
Готов быть тестером для tnt23, от которого в шаговой доступности. Если ннада. И если он примкнет к девелоперам.

Отправлю два набора для пайки карика Тимуру тогда.

ram_scan
03.11.2015, 14:45
Друзи, у кого есть раскуроченый 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 лесенка из резисторов.

А то я схему отрисовал, взялся прошивку писать и непонятки возникли.

DJs3000
03.11.2015, 15:57
ram_scan, тебе нужна консультация ув. тов. Ptero т.к. он в этой тебе рубит более чем хорошо :) думаю он без тестов и замеров выдаст тебе инфу)))

Wierzbowsky
04.11.2015, 01:15
Запаял я эту жуткую Альтеру на плату! Четыре часа паял, Карл!!! Но даже после этого сразу не завелось. И наконец после двух часов шаманства и танцев с бубном плата наконец-то заработала. Флеш опозналась и стерлась корректно. Удалось также запустить карик как SCC - играет вполне прилично. Не 100% как оригинал, некоторые ноты не успевает, но несильно заметно. Теперь будем мутить программатор для флешки, так как текущий не работает на наших с Дмитрием платах.

Wierzbowsky
09.11.2015, 04:37
После запайки гнезда аудиовыхода обнаружилась интересная особенность - через свой аудиовыход SCC играет нормально, а вот если пропустить звук через Ямаху, то немного фальшивит и не успевают некоторые ноты. Учитывая, что внутри Ямахи стоит самодельный FMPAC, подозрение падает на него, хотя ума не приложу как такое возможно. Его аудиовыход подключен к внутреннему 60 пиновому слоту, а наш флешкарик вставлен в слот 1. Порты у фмпака и SCC разные, поэтому конфликта быть не должно. Завтра отключу и выну FMPAC и посмотрим что будет со звуком.

Сегодня кстати за 4 часа полностью собра второй карик. Второй раз паять Альтеру даже с тем же ублюдочным немецким флюсом оказалось гораздо легче. Правда я применил другую технику пайки чтобы ножки не двигать при касании их паяльником. И паял не "волной", а "скошенным овалом". Опыт - великое дело!

ram_scan
09.11.2015, 13:08
Скорее всего это именно SCC лажает и подтупливает постоянно, но когда одновременно с ним не слышно ФМПАК-а это не так заметно, и кажется что все красиво. Через отдельный аудиовыход он же получается отдельно, а через ямаховский - замиксован со всеми остальными звукогенераторами.

DJs3000
09.11.2015, 13:21
На моем таком же картридже я не слышу никаких тормозов и фальши так что не всё так однозначно. Чтоб не разглагольствовать нужно записывать и сравнивать.

Wierzbowsky
15.11.2015, 19:00
Вот линк на аудиофайл. Сначала играет наш SCC карик через его собственный аудиоразъём, вполне чисто. Затем играет через аудиовыход Ямахи. Во втором случае явно играет SCC+PSG и слышно запаздывание нот PSG на полсекунды и более.

www.finnov.net/~wierzbowsky/scc/

DJs3000
17.11.2015, 21:01
Wierzbowsky, никакого запаздания там нет. Как я уже тебе говорил нужно отбалансить PSG и SCC по отношению друг к другу. Получается что SCC играет тише чем нада. Вот видео (https://youtu.be/1zzGfQ9eUk8) где видно что ничего не запаздывает и SCC играет тихо.

Wierzbowsky
18.11.2015, 00:42
Запаздывание есть. Просто если SCC громко играет, то оно незаметно.

DJs3000
18.11.2015, 12:52
Запаздывание есть. Просто если SCC громко играет, то оно незаметно.

это всё сугубо субъективно. Даже если и есть какая задержка так только задержка SCC никак уж не PSG. Хз с чего ты вообще придумал что там есть задержка)

Wierzbowsky
18.11.2015, 15:48
Потому что ее слышно. Фоновая нота SCC уже играет, а нота PSG только начинает спустя полсекунды. Слух у меня хороший, в детстве на фортепиано учился.

DJs3000
18.11.2015, 20:39
Потому что ее слышно. Фоновая нота SCC уже играет, а нота PSG только начинает спустя полсекунды. Слух у меня хороший, в детстве на фортепиано учился.
Откуда уверенность что это не задумка автора? одна в один такт другая в другой. Я тоже закончил муз школу по классу баяна :D

Wierzbowsky
19.11.2015, 17:28
Откуда уверенность что это не задумка автора? одна в один такт другая в другой. Я тоже закончил муз школу по классу баяна :D

Потому что с нормальным, "железным" SCC картриджем такого нет. Все играет очень чётко и без запаздываний. Возможно громкость SCC глушит эти запаздывающие ноты PSG. Надо проверить на нашем карике когда увеличим громкость.

DJs3000
19.11.2015, 22:49
Потому что с нормальным, "железным" SCC картриджем такого нет. Все играет очень чётко и без запаздываний. Возможно громкость SCC глушит эти запаздывающие ноты PSG. Надо проверить на нашем карике когда увеличим громкость.
Откуда уверенность что там нет так называемого "запаздания"? повторюсь это всё субъективно :) чтоб такое заявлять нужно взять аппаратный картридж MG2 и поиграться с громкостью SCC и PSG тогда будет видно, а так это все мысли размышления и версии.

Wierzbowsky
22.12.2015, 17:04
Дело продвигается. Уже есть рудиментарное меню, автозапуск, утилита для записи образов во флеш, автодетект типов маппера, утилитки восстановления бутблока и очистки директории. Много из того, что записывалось в карик работало с первого раза. Также карик работает как отдельный SCC.

Wierzbowsky
28.12.2015, 05:25
Меню и хелп немного подработаны, сделан кастомный шрифт. Планируется использовать псевдографику для "окон". SSC уже поправили на SCC. :D

5534955348

Wierzbowsky
18.01.2016, 01:44
Бутблок и утилита-прошивальщик почти закончены - добавлен автодетект мапперов, verbose mode (для тех кто любит технические подробности), Super User mode для редактирования всех регистров (кто не рискует, тот не играет в MSX игры), полностью автоматический режим работы (когда пользователя ничего не спрашивают). Бутблок и сама утилита "причёсаны" и идёт тестирование. На фотках - основной скрин бутблока и экран помощи.

Wierzbowsky
21.01.2016, 01:51
Проверил сегодня как работает GameMaster 2 ROM на нашем мультикарике - всё пошло с первого раза. Игровой карик (простой флешкарик на 1 игру) был в слоте 2, с нашего мультикарика запустил GameMaster 2, он обнаружил игровой карик и позволил использовать читы. Запись на диск не проверял пока, возможно работать не будет из-за разницы реализации нашего мультикарика и GameMaster 2.

Wierzbowsky
19.07.2016, 23:12
Исходники проекта уже давно опубликованы, но видимо я забыл об этом написать, сорри. Скачать можно в нашем репозитории:

https://github.com/RBSC/Carnivore

Коммерческое использование не разрешается без согласования с группой RBSC. Изготовление плат и их продажа для покрытия расходов на производство и доставку допускается.

Wierzbowsky
10.11.2016, 21:12
Как-то тут стало грустно и пусто. Порадую ка я вас новостями. :D

Вторая версия Carnivore картриджа на подходе. Уже работают ОЗУ, CF карта и флешка; играет FMPAC (с переведённым на английский биосом) и SCC. Пока идёт первичная отладка, потом займёмся причёсыванием утилит и интерфейса.

Wierzbowsky
31.01.2017, 03:03
А вот собственно и собранный карик. Причёсываем бутблок и утилитки пока что.

http://podrezov.com/temp/c2mfc.jpg

Wierzbowsky
06.02.2017, 10:10
Достигнута стабильность работы железа. Плату ждёт ещё одна ревизия, в этот раз совсем мелкая. Теперь искореняем мелкие глючки и допиливаем утилиты. Думаю, что релиз будет в марте-апреле.

Могу сказать, что паять Альтеру и другие чипы на карике третий раз уже достаточно просто - сказывается предыдущий опыт. Главное - правильно расположить чип, чтобы пины со всех сторон были точно на своих местах. Паять ножки Альтеры надо вдоль, чтобы не сдвинуть их с места и не исправлять потом иголкой. Если используете жидкий флюс - обязательно отмывайте плату от него. Я в ультразвуковой ванночке со спиртом продержал плату добрых 15 минут.

Кнопка - очень полезная вещь при отладке собранного карика, рекомендую её поставить. Микросхему DAC лучше не перегревать - по словам сборщиков похожих кариков она к этому делу чувствительна. Выход звука на самом карике слабоват для наушников, так что рекомендуем подключать их к общему аудиовыходу MSX.

Программирование прошивки осуществляется с помощью обычного ByteBlaster 2 в режиме Active Serial. В программе надо вручную выбрать устройство EPCS4, а не использовать автодетект. Возможно в будущих ревизиях допилим JTAG. При программировании на плату нужно отдельно подать 5в. Сделать это можно припаяв пины от джампера по обеим сторонам танталового конденсатора, сидящего на шине питания и подав туда нужное напряжение. Я использовал кабель от старой зарядки телефона - на одном конце вилка USB, на другом одинарные штекеры типа "мама", которые подключаются к пинам, напаянным на кондер.

Впаивать пины для разъёмов JTAG и AS не рекомендую - не влезет ни в какой корпус. Проще эти двухрядовые пины воткнуть в разъём программатора. Затем можно обратную сторону пинов вставить в дырки разъёма AS (Active Serial) и немного их наклонить, чтобы обеспечить надёжный контакт с метализацией отверстия. В таком прижатом состоянии программируем Альтеру и потом просто вынимаем пины из дырок.

Wierzbowsky
09.02.2017, 16:03
C SCC разобрались - работает. Вчера причесал бутблок, навёл марафет, добавил обработку порта F4 для полноценного ресета после изменения конфигурации. В утилите добавлена опция создания конфигурационных записей - чтобы можно было использовать карик как отдельное устройство, например только как расширение ОЗУ или как комбинацию нескольких устройств. Причесал интерфейс для показа карты занятости блоков, поправил некоторые недочеты в обработчике ошибок. Также добавлена опция полного стирания флеш чипа. Работа продолжается. Уважаемый Ptero улучшает прошивку и утилиту. Будет также новая ревизия платы. Скрины и видео работы карика будут позже.

Wierzbowsky
11.02.2017, 05:45
Вот пока что крупные фотки собранного устройства, а также небольшое исправление для платок версии 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

vlad
11.02.2017, 09:29
Wierzbowsky, пролистал репозитарий и эту тему, можно ещё ссылки на схему и исходники для FPGA, посмотрю возможно-ли перенести на DivGMX.

Wierzbowsky
11.02.2017, 14:25
Wierzbowsky, пролистал репозитарий и эту тему, можно ещё ссылки на схему и исходники для FPGA, посмотрю возможно-ли перенести на DivGMX.

Схемы пока нет нарисованной, а прошивка ещё не закончена. Только вчера вечером было новое обновление. Так что надо немного подождать релиза.

Wierzbowsky
17.02.2017, 01:57
Вот видос короткий сделал на телефон. В реале переходы цветов смотрятся гораздо плавнее и приятнее.


https://www.youtube.com/watch?v=VRzPOb8lb1A

Wierzbowsky
21.02.2017, 14:03
Доработали детект мапперов. Почти все ROMы детектируются правильно и стартуют как положено. Есть пара исключений - MGear2 не нравится расширенный слот, а Aleste не умеет работать с фмпаком в расширенном слоте. Посмотрим можно ли будет поправить.

Утилиту CANFM для первого Carnivore мы скоро поправим, чтобы детект мапперов был как сейчас в C2MAN.

Wierzbowsky
24.02.2017, 05:09
В наш репозитарий выложено:

Картридж Carnivore: https://github.com/RBSC/Carnivore
- поправлен бутблок
- новые утилиты для работы с картриджем
- описание регистров (на русском)
- инструкция по подготовке и использованию картриджа
- дополнен partslist

Картридж Carnivore2: https://github.com/RBSC/Carnivore2
- герберы платы версии 2.2
- новые утилиты для работы с картриджем
- поправлена инструкция по подготовке и использованию картриджа

Wierzbowsky
24.02.2017, 22:30
Обновлёны бутблок (теперь используется адаптированая версия от Carnivore2 с эффектами) и ридмишки.
https://github.com/RBSC/Carnivore

Исходники бутблока от Carnivore2's модифицированы для Carnivore картриджа. Так что качайте обновления.
https://github.com/RBSC/Carnivore2

Wierzbowsky
16.03.2017, 00:34
Возможно через два месяца можно будет приобрести готовые карики Carnivore2 в корпусе у одной частной конторы за приемлемые деньги. Как будет новая инфа - сообщу.

Wierzbowsky
17.04.2017, 02:05
Мы добавили опцию MegaRAM в Carnivore2 картридж. С помощью специальной утилиты можно загрузить ROM файл в ОЗУ картриджа и использовать его до выключения питания. Если в картридже установлена батарея, то данные сохранятся и после выключения питания. Утилита позволяет поставить защиту на записанные данные, так что они не испортятся если ROM попытается что-то в себя записать (таким образом работают некоторые защиты от копирования). Но можно защиту и не ставить. Для записанного ROM в директории картриджа создаётся запись с префиксом "RAM: ". Вот видео теста этой опции (заранее извиняюсь за дрожащую камеру):


https://youtu.be/jfTw8rjLwZQ

Не все ROM файлы можно загружать в ОЗУ. Например почти все игры до 256кб включительно работают, а вот Metal Gear 2 пока не удалось заставить работать.

OrionExt
17.04.2017, 02:42
Прикольно.
Metal Gear 2, а почему? Не понимаю мульти девайсы. Чего хотим достигнуть на 8-бит. Это как вписать не впихуемо. Это болезнь видимо заразительна от возможностей ЕС.
РS. Пошел на базар МГТФ(0.33/диаметр/ - в изоляции) 1$-1м

- - - Добавлено - - -

Metal Gear 2 с Beer IDЕ грузил. Игрушка работала.

- - - Добавлено - - -

Видимо с мепером ОЗУ накружили. Делайте по книжке на японском. Упрямые) Сылочку чегото не грузется

Wierzbowsky
17.04.2017, 02:49
Metal Gear 2 из флешки то нормально идёт, а вот из ОЗУ нет. Загрузчик там уж очень специфический...

OrionExt
17.04.2017, 03:02
Ух. Сори. Я попутал с 1 MG.

С РОМ грузить. Хакеры аппаратные), успехов.

а что такое ОЗУ (чего)…. Это выходит за формат общения форума.

Wierzbowsky
17.04.2017, 03:33
Получилось запустить MG2 из ОЗУ (RAM каритриджа) пошаманив немного. MG2 не любит расширенный слот, а также требует для себя ребута. То есть надо редактировать запись директории утилитой C2MAN, а потом заново грузить ROM в ОЗУ и запускать его с помощью ранее отредактированной записи. К счастью такое шаманство нужно только в 1% случаев.

Попробую поправить утилиту C2MAN, чтобы не было надобности второй раз грузить ROM...

OrionExt
17.04.2017, 05:56
Магия прямо.

Снова софт не любит расширенный слот. А прямой (первичный, СS1 CS2 CS12) слот любит?

Может новое железо не любит старый софт?) Перефразирую)

ptero
17.04.2017, 08:44
просто готовить не умейте..

Wierzbowsky
17.04.2017, 14:38
Магия прямо.
Снова софт не любит расширенный слот. А прямой (первичный, СS1 CS2 CS12) слот любит?
Может новое железо не любит старый софт?) Перефразирую)

Не забывайте, что весь недисковый софт делался под свои специальные картриджи. То, что мы грузим все эти разные образы картриджей и они нормально работают на нашем Carnivore2 - это заслуга разработчиков и тестеров нашей группы RBSC. Наша задача была сделать платформу, которая для любого софта оказывалась бы подобна его родной картриджной платформе. А это очень сложная задача...

ram_scan
18.04.2017, 19:39
Ну по мне так гораздо более сложная задача - знать какому софту какой мапер нужен, потому-что в отличие от NES, где в дампе картриджа предусмотрен идентификатор мапера, для MSX картридж представляет собой "сырой дамп", на который сверху надо накладывать побазешку которая устанавливает соответствие чексумов ромов и маперов.

Причем маперов на ямаху в десятки раз меньше чем на NES, на MSX родных картриджей то меньше тыщщи штук, а маперов вовсе десятка два, причем наверное процентов 90 софта охватывают всего штук шесть (пара конамевских, пара аскишных и еще чота там было менее широко идущее).

В плисину все эти маперы это легко и непринужденно пхаются.

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

Или проблема сделать "все в одном" на одном слоте ? Так это хоть идея и стандартная, но нехорошая... Потому-что стандартов было мало, а дураков которые его читали в то время по диагонали - много.

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

Wierzbowsky
18.04.2017, 22:35
Мы до базы мапперов не добрались. Но наш собственный детектор уже уверенно определяет маппер в 90% случаях используя анализ кода.

DJs3000
19.04.2017, 01:00
База нужна будет для небольшого количества ромов, и также базу по проблемным ромам типо Metal Gear 2, чтоб сразу к этому рому выключала нужные параметры для корректного запуска.

Wierzbowsky
19.04.2017, 01:12
Попробую поправить утилиту C2MAN, чтобы не было надобности второй раз грузить ROM...

Поправил утилиту C2RAMLDR, чтобы грузила в неиспользуюемую область памяти РОМы размером до 720кб. Теперь всё работает как надо даже после запуска C2MAN.

Заодно улучшил shadow copying у С2MAN, поставил запрет на перезапись IDE BIOS при отсутствии shadow copy (но с ключом /su можно попробовать... и убить биос), в C2MAN_40 поправил текстовые строки которые некорректно переносились вниз.

ram_scan
19.04.2017, 06:29
База нужна будет для небольшого количества ромов, и также базу по проблемным ромам типо Metal Gear 2, чтоб сразу к этому рому выключала нужные параметры для корректного запуска.

Дак база то в BlueMSX есть готовая. Просто ее за собой таскать и актуализировать нужно, что не всегда удобно, впрочем она почти никогда не меняется, сконвертил один раз из XMLя в бинарный формат и катайся. Если по базе ром не пробивается, то можно и вручную задать. А если мапер не поддерживается, тогда патчить. Это мне кажется лучше чем таскать за собой вместо базы маперов базу сигнатур и патчеров, и исключительные случаи все равно будут. Просто в первом случае вопрос решается ручной установкой, а во втором сиди, как грится, кури, пока лоадер разработчик не переделает.

Я откровенно говоря думал что оно именно так и сделано. Лоадеры/патчеры был смысл делать в эпоху динозавров под набортный мапер, когда реализовать даже один наружний мапер с памятью не говоря уже о винегрете в рамках одного девайса выглядело проблематичным если вообще возможным.

Wierzbowsky
19.04.2017, 11:24
У нас есть редактор стартовой записи с контекстным хелпом, так что настроить неработающую игру не проблема. Также можно выгрузить или загрузить такую запись в нашем собственном формате. Например для MG2 мы такую запись можем приложить.

По поводу базы в BlueMSX - если мне не изменяет память там РОМы определяются по хэшу SHA1. Другого ничего нет. Посчитать такой хэш на MSX будет трудно. Поэтому придется использовать CRC, но для этого сначала надо будет достать все РОМы с известными SHA1 и посчитать контрольную сумму. Так что проще предоставить файлы настроек под определённые игры чем переделывать базу под себя.

DJs3000
19.04.2017, 14:15
Wierzbowsky, конечно проще сделать небольшую базу под проблемные ромы, чем загонять всю базу.

Wierzbowsky
20.04.2017, 18:10
Wierzbowsky, конечно проще сделать небольшую базу под проблемные ромы, чем загонять всю базу.

Даже не базу, а набор настроек под каждую игру в виде .RCP (Register Configuration Preset) файлов. Благо таких немного надо.

Тут кстати автор SofaRun утилиты заинтересовался нашим кариком - хочет сделать поддержку загрузки ROMов в своей утитите. Эта утилита хороша тем, что патчит ROMы на предмет защиты, совместимости и некоторых глюков.

DJs3000
20.04.2017, 18:15
Wierzbowsky, SofaRun крутая штука. Пусть конечно пилит поддержку.

Wierzbowsky
24.04.2017, 03:33
Я начал создавать и выкладывать RCP (Register Configuration Preset) файлы для Carnivore и Carnivore2 картриджей. С помощью этих файлов можно заставить работать ROMы, которые не определяются утилитами c2man или cman и в результате работают некорректно. По мере тестирования буду выкладывать дополнительные файлы.

https://github.com/RBSC/Carnivore/tree/master/Presets
https://github.com/RBSC/Carnivore2/tree/master/Presets

Поправлен глюк при записи 48кб игр в картридж.

Wierzbowsky
30.04.2017, 16:34
Поправлены некоторые глючки, в том числе глюк со счётчиком записей директории. Поправлен код для рестарта компа для 64кб игр с маппером в дефолтной конфигурации (раньше висло при рестарте). Добавлен RCP файл для правки конфигурации 64кб игр с маппером, которые требуют нерасширенный слот и рестарт. Также добавлен бутблок без эффектов плавного перехода цветов.

Wierzbowsky
01.05.2017, 12:44
В процессе тестирования только что собранного карика выяснилось, что у Альтеры сидела на земле одна из ног, которая шла на CF слот с сигналом HD3. То есть Альтера попалась с "сюрпризом". Соответственно ни одна карта кариком не определялась. Пришлось нам (точнее многоуважаемому Ptero) перекомпилировать прошивку и выводить этот сигнал с другой ноги, а на карике отрывать убитую ногу от контактной площадки и кидать проводок с новоназначенной ноги на ту самую контактную площадку. В итоге получили чуть подправленный, но полностью рабочий карик.

http://podrezov.com/carnivore2/pin_fix.jpg

Радует, что дефектный картридж можно таким способом отремонтировать. Потому что полностью перепаивать Альтеру - это реально жесть!

Wierzbowsky
03.05.2017, 23:34
Обращаю ваше внимание на то, что для картриджа нужна флешка M29W640GB. В partslist последних двух букв не было, а они важны. Теперь поправлено.

Wierzbowsky
12.05.2017, 13:11
Есть 15 плат на продажу. Обращайтесь в личку.

Wierzbowsky
20.05.2017, 03:55
Работоспособность платы версии 2.2 проверена - всё в норме.

Wierzbowsky
20.05.2017, 13:28
Вот фотки последней версии картриджа:

http://podrezov.com/carnivore2/Carnivore2_v22_front.jpg

http://podrezov.com/carnivore2/Carnivore2_v22_back.jpg

Хочу обратить внимание, что в репозитории у нас лежит файл cmfc_fix.jpg - этот файл показывает как поправить ошибку на плате версии 2.1 и младше. Плата версии 2.2 работает без всяких исправлений.

Wierzbowsky
27.05.2017, 18:53
Карик пошёл в серию:

https://c1.staticflickr.com/5/4226/34535751180_ae076ef0b5_n.jpg

https://c1.staticflickr.com/5/4244/34535751350_7e8c834aeb_n.jpg

https://www.msx.org/forum/msx-talk/trading-and-collecting/upcoming-release-carnivore2-cartridge

Магазин: https://www.8bits4ever.net/msx

Магазину 8bits4ever дано официальное разрешение от нашей группы на производство картриджей. Цена конечно кусается, но всегда есть возможность купить платки и сделать самому, так чтобы получилось в 3 раза дешевле. Платки ещё есть, так что обращайтесь.

Wierzbowsky
28.05.2017, 19:03
Обнаружена и поправлена ошибка в бутблоке для обоих картриджей Carnivore. Теперь бутблок корректно работает на 9918 видеопроцессоре. Поправленный бутблок можно скачать здесь:

Carnivore:
https://github.com/RBSC/Carnivore/tree/master/BootBlock

Carnivore2:
https://github.com/RBSC/Carnivore2/tree/master/Bootblock

Wierzbowsky
30.05.2017, 23:04
Проблема с неработающим в некоторых играх FMPAC у картриджа Carnivore2 решена. Пожалуйста скачайте обновлённую прошивку из нашего репозитория:

https://github.com/RBSC/Carnivore2/tree/master/Firmware

Wierzbowsky
01.06.2017, 01:07
Второй авторизованный сборщик наших кариков начал производство. Но у него пока что ограниченное 20 штуками разрешение. Прикольная картинка у него на лейбле:

http://i66.tinypic.com/15yvkux.jpg

Фильм ужасов какой-то. ;)

Кстати был вопрос по поводу эмуляции DSK файлов нашим кариком. Так вот - фича такая уже есть в биосе Некстора, который мы выложили в репозиторий. Надо скачать обновлённые системные файлы и утилиты Некстора отсюда: http://www.konamiman.com/msx/nextor/2.1-alpha2/Nextor-2.1-alpha2.zip

Emufile включает бутовую эмуляцию DSK файла, Mapdrv включает эмуляцию DSK файла на любом свободном драйве прямо в DOS.

Почитайте текстовичок в этом архиве - там много интересных фич есть для DSK файлов. И почти всё работает нормально. Есть только один нюанс - для отключения бутовой эмуляции на Ямахах, которые делались для России надо держать другую клавишу - не нолик, а девятку.

OrionExt
01.06.2017, 01:08
круто)

Wierzbowsky
02.06.2017, 12:54
Немного поправлена схема Carnivore2 в репозитории. На плате это не отразится никак - там всё правильно. Ещё есть несколько плат в наличии. Больше заказываться нами они не будут.

Wierzbowsky
15.06.2017, 19:29
Собрал себе несколько кариков с корпусами от 8bits4ever. Корпуса дорогие, но прочные. Делать дополнительные дырки в них ещё то удовольствие.

http://podrezov.com/carnivore2/cased_small.jpg

Один карик завтра отправится уважаемому tnt23.

Если кому-то интересны корпуса, могу спросить у 8bits4ever. У них наверняка будет достаточно корпусов на продажу.

adxx
06.07.2017, 23:13
Знать бы что мой кореец его переварит, может и взял бы...

Отправлено с моего SM-G935F через Tapatalk

Wierzbowsky
07.07.2017, 01:11
Вроде у DJS3000 есть 400я Дэу. Он как раз собирался наш карик собирать. Заодно и проверим. Если на 400ке заработает, то наверное и на 300ке пойдёт.

adxx
07.07.2017, 01:55
Вроде у DJS3000 есть 400я Дэу. Он как раз собирался наш карик собирать. Заодно и проверим. Если на 400ке заработает, то наверное и на 300ке пойдёт.

а платки для сборки в наличии у кого бывают?

Wierzbowsky
07.07.2017, 13:34
а платки для сборки в наличии у кого бывают?

Обычно или я, или Дмитрий (DJS) заказываем для нашей группы, а остальные продаём. У меня вроде есть последняя чистая платка. Отдам за 10 евро включая пересылку без трекинга, 12 с трекингом. Но хочу сразу предупредить - пайка Альтеры без предварительного опыта будет достаточно сложной. Возможно у Дмитрия есть платки ранней ревизии. Там минимальные изменения надо внести.

Дмитрий2012
23.07.2017, 13:33
Подскажите, у всех на данном карике (плата версии 2.2) музыка воспроизводится с «неприятным металлическим звоном и щелчками» (не знаю как правильно описать подобное звучание) ?
Или у меня проблема с кариком?
Вот пример звучания https://drive.google.com/file/d/0B7xjYWTXlb9mR1MxaldQOXpfMVk/view?usp=sharing и так у меня "звенят" все мелодии...

tnt23
23.07.2017, 14:42
Свой Carnivore еще не пробовал, но на слух похоже на недостаточную фильтрацию несущей.

Есть смысл проверить конденсаторы C101, C201 в цепях аналогового ФНЧ после ЦАП.

61741

Дмитрий2012
23.07.2017, 16:19
Есть смысл проверить конденсаторы C101, C201
Кондеры постараюсь проверить. Может они и другой емкости. Неизвестно что могли прислать, на них ведь нет маркировки.

И еще вопрос. Какую функцию выполняет EEPROM M93C46? необходимо ли ее устанавливать на платке?

Wierzbowsky
23.07.2017, 19:04
И еще вопрос. Какую функцию выполняет EEPROM M93C46? необходимо ли ее устанавливать на платке?

Она указана как опциональная, так что ставить её не надо. Пока функционала для неё не придумали.

Wierzbowsky
24.07.2017, 13:34
Надо кстати проверить будут ли работать обе карты с этим чудо-адаптером:

https://www.aliexpress.com/item/Practical-Accessories-2-Port-micro-SD-TF-To-CF-card-Type-I-Memory-Card-Adapter-Equipped/32730470568.html

tnt23
26.07.2017, 21:49
Наконец дошли руки попробовать мой экземпляр. Мы с коллегой svofski, как самые настоящие нубы, сперва прорву времени извели на правильное форматирование CF карты (сначала на макбуке, потом под виндою), затем чесали затылок, как куда что покласть на нее, потом после консультаций с самим Wierzbowsky наконец справились загрузить один ROM (Vampire Killer) и потом, посредством еще одного невероятного мозгового усилия, смонтировать образ диска с какой-то японской игрой. Игра выбиралась методом поиска в интернете по критерию "самый зыкинский музон под FMPAK". Зыкинский музон что-то как-то не вставил. Может, это из-за плохих наушников, или просто японская музыка вся такая.

Одним словом, люди добрые, подкиньте ссылок на демки или музычку, чтобы оценить FMPAK :)

Wierzbowsky
27.07.2017, 02:36
Одним словом, люди добрые, подкиньте ссылок на демки или музычку, чтобы оценить FMPAK :)

Вот здесь дофига дисков с музыкой для FMPAC (FM Basic/MSX Music) и SCC:

https://www.msx.org/es/downloads/music/disks?page=0

Unicorn много музыкалок сделал. Вот например: https://www.youtube.com/watch?v=Yfby6-vE-5s

Вот тут есть тоже: http://www.angelfire.com/art2/unicorndreams/msx/MSXBASM0.zip

Wierzbowsky
30.07.2017, 02:04
Мы выпустили опциональную прошивку для картриджа Carnivore2, которая позволяет использовать его в режиме SCC+ картриджа:

https://github.com/RBSC/Carnivore2/tree/master/SCCPlus

К сожалению этот режим не может быть совмещён с другими режимами работы (IDE, RAM, FMPAC, SCC), так что игры придётся загружать с другого устройства, например с флопа или с помощью IDE контроллера. Если имеется второй картридж Carnivore2, то можно и с него загружать дисковые игры, которые используют SCC+, например "Snatcher" или "Konami Game Collection" релизы 1-4, а также специальный релиз.

Вся информация как подготовить картридж для работы в режиме SCC+ находится в файле "readme_sccplus.txt".

ptero
30.07.2017, 17:06
по поводу невозможности совмещения режима SCC+ и других участников расширенного слота хочу сказать следующее:
данная несовместимость обнаружена в игре snatcher, которая не хочет искать SCC+ в расширенном слоте, а только в основных. Остальные кандидаты можно попытаться потестировать у кого есть время и желание.

svofski
07.08.2017, 22:21
Сделал записи теоретически чистых звуков из Мунбластера, на которых хорошо видно проблему.

Пример 1

Настройки Мунбластера:
http://i.imgur.com/lkhYl21.png

Форма:
http://i.imgur.com/fDHt5vm.png

Послушать: https://instaud.io/19KV

Пример 2

Настройки Мунбластера:
http://i.imgur.com/87VQOFV.jpg

Волна:
http://i.imgur.com/kEFZjYX.png

Послушать: https://instaud.io/19KX

Пример 3

Настройки Мунбластера:
http://i.imgur.com/c8KkEUS.png

Волна:
http://i.imgur.com/JILJFkP.png

Послушать:
https://instaud.io/19L0

Посмотрев на это, можно увидеть, что период амплитуды припшика-призвона удивительно пропорционален периоду одного из генераторов. С уверенностью можно сказать, что это не конденсаторы и вообще ничто из аналоговой части. Так же это не связка YM2413 с ЦАП-ом. Надо копать саму модель VM2413.

Надеюсь, что это хоть чем-то, да поможет волшебникам картриджа.

- - - Добавлено - - -

(Если кому надо, вавы тоже есть)

Wierzbowsky
08.08.2017, 03:06
Хммм, возможно надо попробовать более свежую версию эмулятора 2413 отсюда: https://github.com/digital-sound-antiques/vm2413

svofski
08.08.2017, 18:22
Задал вопрос автору, вот что автор ответил: https://github.com/digital-sound-antiques/vm2413/issues/1

- - - Добавлено - - -

А кто-нибудь может мне ответить на такие вопросы:

* оценивал ли кто-нибудь ожидаемые частоты сигнала на входе ЦАП-а c учетом временного мультиплексирования каналов внутри YM2413?

* не пробовали ли авторы сделать интеграцию MO/RO прямо в корке, вместо того, чтобы напрямую скармливать такой сложный сигнал ЦАП-у и доверяться интеграторам на выходе? Я не очень хорошо читаю жхдл с листа, но по-моему в mcscc.vhd MO и RO обновляются одновременно, то есть никакой интеграции не осуществляется. Отсылаю к странице 19-20 даташита на YM2413 (http://map.grauw.nl/resources/sound/yamaha_ym2413.pdf).

Гипотеза: у железного YM2413 внутри стоит интегратор, который работает как сумматор каналов, мультиплексированных во времени. А в Carnivore 2 (насколько я могу судить!) выход железной модели подключается напрямую к ЦАП-у. Выходит, что суммирующей части как бы просто нет и ЦАП захлебывается частотами, которые вообще не должны на него приходить.

svofski
09.08.2017, 14:54
Сделал тестбед для vm2413 в ghdl. Получил вот такой звучок: https://instaud.io/1a1V
Картинки:

Общий план:
http://i.imgur.com/kGDWFV2.png

Крупный план:
http://i.imgur.com/mIwvpKK.png


Сверху аналоговый сигнал это выход MO. Снизу это он же, весьма посредственно проинтегрированный.

Параллельно я записывал семплы в файл и ффмпегом их потом преобразовал в WAV с конверсией семплрейта:

Это просто конвертер удолбищных VHDL-ных текстово-двоичных письмен в человеческие байты:


# binarise.py
fo = open("output.raw", "wb")
fidata = open("output.dat", "r").read().split("\n")[1:-1]
fibin = [int(x,2)>>1 for x in fidata]
flatten = lambda l: [item for sublist in l for item in sublist]
byts = bytearray(flatten([(x&0xff,x>>8) for x in fibin]))
fo.write(byts)
fo.close()

И из этого уже нетрудно в вав:

ffmpeg -ar 3579545 -f s16le -i output.raw -ar 44100 output.wav

Потом еще усилил в Audacity: это проще, чем подбирать масштаб в симуляции.


В принципе ничего нового я не узнал. Чтобы получить осмысленный звук мне пришлось сделать имитацию интегратора. Резервируем окно, допустим на 256 семплов, указатель в окно и сумма. На каждый семпл: сумма = сумма - окно[указатель], окно[указатель] = семпл, указатель = (указатель + 1) % размер окна. Результат = сумма / размер окна. Что-то подобное я делал раньше для преобразования PDM->PCM в своем видео-АЦП-е на LVDS ножках.

В симуляции такой же результат можно было бы получить и без интегратора, поскольку он входит в состав конвертера семплрейта в ffmpeg. Моя гипотеза сводится к тому, что для реального ЦАП-а сигналы нужно предварительно интегрировать, иначе получаем неустранимые артефакты на стадии преобразования.

Кодом не делюсь, потому что это треш и угар, VHDL я не знаю совсем и то, что я написал, представляет собой отрицательную ценность и в любом случае не синтезируемо. Но если надо для экспериментов, могу дать.

- - - Добавлено - - -

P.S. Библиография:

страничка, полезная как шпаргалка по настройке регистров ym2413 http://www.bartvenneker.nl/Arduino/index.php?art=0017
даташит ym2413: http://map.grauw.nl/resources/sound/yamaha_ym2413.pdf


P.P.S. Шапочное, к счастью, знакомство с VHDL заставило меня вспомнить переводную книгу из детства, которая называлась лукаво: "Язык ада".

ptero
09.08.2017, 18:14
Ошибку нашел.. то что у меня боролось за звание быть фильтром - интегратором было дико-кривое.. сейчвс пытаюсь соорудить нечто покультурнее

Wierzbowsky
09.08.2017, 23:20
Попробуйте эту прошивку:

http://podrezov.com/carnivore2/carnivore2_sndfix.pof

Надеюсь там исправлены выявленные вами недочёты. Прошивать рекомендую как описано в файле readme.txt:

https://github.com/RBSC/Carnivore2/blob/master/Doc/readme.txt

Wierzbowsky
10.08.2017, 13:27
Только сейчас дошли руки проверить. У меня возникли проблемы с этой прошивкой. Будем разбираться...

svofski
10.08.2017, 13:31
Мы с tnt23 терпеливо ждем. Мой паяльник очень медленно нагревается.

Wierzbowsky
10.08.2017, 13:57
Второй картридж нормально работает с этой прошивкой. Скорее всего сдохла Альтера, вторая дохлая уже из этой партии. На карике tnt23 я уже менял Альтеру, так что с той все нормально (она из другой партии). Пробуйте всё-таки новую прошивку.

ptero
13.08.2017, 11:27
что то нет никаких известий о качестве звука FМPAK с новой прошивкой... :) короче я таки тщательно проверил с осцилографом.. короче фильтр не все "помехи" вычищает, буду добавлять "синхронный накопитель"

ptero
14.08.2017, 17:28
так... последние эксперименты с "сихрофазатроном" показали отсутствие артефактов (осцилографом больше ничего лишнего не видно)
пришлось залезть грязными лапами в нативный модуль "теморальный миксер" и сделать из него накопитель суммы

- - - Добавлено - - -

желающие протестировать - пожалуйста

svofski
14.08.2017, 17:42
Спасибо! Я желаю, и постараюсь расчистить место и найти бластер, но это точно не раньше выходных.

Дмитрий2012
19.08.2017, 17:30
что то нет никаких известий о качестве звука FМPAK с новой прошивкой...

Попробовал новую прошивку. Качество звука улучшилось и это радует :)

для сравнения…

Так звучало со старой прошивкой
https://drive.google.com/file/d/0B7xjYWTXlb9mR1MxaldQOXpfMVk/view

Так с новой прошивкой
https://drive.google.com/file/d/0B7xjYWTXlb9mclgzTnM3Y2drQmM/view?usp=sharing

Еще бы избавиться от неприятных "щелчков" во время воспроизведения музыки... По графикам видно, что "щелчки" воспроизводятся только в одном канале.

кто-нибудь слышит "щелчки" во время воспроизведения музыки на своем карике?

Wierzbowsky
19.08.2017, 23:25
Спасибо. Да, про щелчки нам уже известно, но пока не ясна их природа. Будем разбираться. У меня они тоже только в одном канале кстати.

ptero
20.08.2017, 14:22
ну вроде всё.. отщёлкася!

Дмитрий2012
20.08.2017, 14:54
Подтверждаю, щелчки пропали. Но теперь у меня появились искажения при воспроизведении некоторых звуковых файлов, в виде похрипывания ... да и на графиках видно, что уровень сигнала намного увеличился, по сравнению с прошлой прошивкой. Можно как -то немного понизить уровень сигнала?

https://drive.google.com/file/d/0B7xjYWTXlb9mcHJxOE5uRE1Sd00/view?usp=sharing

ptero
20.08.2017, 15:39
на 6 дб повысился да.. решил попробовать как это будет выглядеть. Некоторые жаловались что fmpac тихая музыка по сравнению с эффектами. сейчас верну...

- - - Добавлено - - -

ну вот так.. а про хрипы не понял .. в каком канале хрипы наблюдаются ?

Дмитрий2012
20.08.2017, 16:14
ну вот так.. а про хрипы не понял .. в каком канале хрипы наблюдаются ?
Вот теперь нормально, искажений в виде "хрипов" у себя не наблюдаю:) Спасибо. Может кого то и устроит предыдущая прошивка, но с нею звук уж сильно мне слух резал искажениями, которые я отчетливо слышу.
У меня эти хрипы на колонке были слышны в правом канале, в том где нет ударных инструментов. На картинке в предыдущих постах это нижний график.

ptero
20.08.2017, 16:52
Вот теперь нормально, искажений в виде "хрипов" у себя не наблюдаю:) Спасибо. Может кого то и устроит предыдущая прошивка, но с нею звук уж сильно мне слух резал искажениями, которые я отчетливо слышу.
У меня эти хрипы на колонке были слышны в правом канале, в том где нет ударных инструментов. На картинке в предыдущих постах это нижний график.

понятно.. возможно зависит от MSX машинки и телевизора.. где то случилась наконец перегрузка ) на ЦАПе её точно нет.. и каналы у меня получились перепутаны.. МО канал планировался влево а RO вправо.. получилось наоборот.. но это не принципиально.. по громкости.. может посидеть "поумножать" и регулятор прикрутить cкажем с шагом 3 дБ.. или 1,5 дб нужен шаг ?

Дмитрий2012
20.08.2017, 17:11
по громкости.. может посидеть "поумножать" и регулятор прикрутить cкажем с шагом 3 дБ.. или 1,5 дб нужен шаг ?
интересная идея... а как на реальной машинке с кариком будет происходить регулировка?

ptero
20.08.2017, 17:28
интересная идея... а как на реальной машинке с кариком будет происходить регулировка?

оперативно - затруднительно, нужно будет добавлять органы управления - а это новая плата.
пока можно задействовать резервный байт в настройках "записи" сохранённого "ROM" и будет каждая игра со своей настройкой.

Дмитрий2012
20.08.2017, 19:00
оперативно - затруднительно, нужно будет добавлять органы управления - а это новая плата.
может на первое время просто сделать несколько прошивок с разным уровнем громкости, и каждый экспериментально для себя подберет нужную?

И еще вопрос... кто-нибудь пробовал с данного карика запускать игры King's Valley, King's Valley II, Sonic ? у меня почему-то они не запускаются:( хотя ранее я их спокойно загружал на своей машинке с отдельного девайса (контроллер SUNRISE IDE) и они работали.

OrionExt
20.08.2017, 23:13
Раз зашла тема про дБ. Есть вопрос. Как интерпретировать –5dbm (Providing the system has an output connector) в библии MSX. Это сколько будет в физической величине, допустим в вольтах. А тоя запарился, спасибо.

https://lh3.googleusercontent.com/vE1TFmkylnOvNsYWtw6WeIs8WeU70IrbT4ltOvmv5IxJlkF_ca 2cZh9YG-UNfRaxU6afrqJ9mElkbHdHJLTaLHYMLoseFm6z10uQVq-XIrB55bxqfcQO0z4c3JazmJS_vooQ5EpALjXD-etGegOz9u4sbb0hl8jiiUGpzIc6shIxKWs9jg3lpfpFcjS4eo1 7E8lruNXccv2V1KmSpIexzXBO7Zb4Coz_0auPqjY1Dj3klOOeJ G0PlFrdMrkjoKnz8h0HS9XjzoMXBpJ2KslaspND28wew0ErLMs h_AVUG-hhdUBI8Cz_Tiq73KEBJEfeUGAoLtMIdDBSw65gYhfhMsvrAVA6 Iafl6GaKwymVJJqqWlF-E8E_OAj7D7c7WatAVoU18NF9k5ubjwJ0wFCDXT4qexlCw50ry7 GxKHN-po0M5nBKoj0CTpjUAO7Z1PgseHLwtu5IaA5Ozr9bsGLDrS-7tmJMn9DNAY78kDbN5IHMguOyCoG5x4cYIVpdJmvFdz9Yko-6u6wz_Jq4kkIhrMDc0lp2fSpf41lxkVJhlkInoBkPe_74_vOBw G4Mt9A8ogzwKW2GMqNYonvlvMwZ67isghaubG_r7l8TVhlrn0g RXPokhjc2pEvxAcB6V_EKvG0C7-ca4A5eFAOclPFx6Hfc-avoznU-dqMynp87G5kLwA=w800-h210-no

BYTEMAN
21.08.2017, 00:42
Мб они dbu или dbv имели ввиду?
http://www.sengpielaudio.com/calculator-db-volt.htm
Мб чем поможет.

ptero
21.08.2017, 02:42
вот тут http://soundex.ru/forum/index.php?/topic/25838-db-dbu-dbv-dbm-dbfs/ сказано что dBm это устаревшее но фактически сейчас это dBu , по калькулятору получается что -5dBu это 0.435 вольта (амплитуда 1,232)
но давайте ещё подумаем что это RMS.. те среднее значение напряжения а какое будет пиковое ? (пиковое ограничивается возможностью ЦАП). а дальше пошла фантазия музыканта, который будет конкретную мелодию создавать .. зыбко всё это..

- - - Добавлено - - -


И еще вопрос... кто-нибудь пробовал с данного карика запускать игры King's Valley, King's Valley II, Sonic ? у меня почему-то они не запускаются хотя ранее я их спокойно загружал на своей машинке с отдельного девайса (контроллер SUNRISE IDE) и они работали.
возможно загрузчику "не понравилась" другая конфигурация. по картридж обычно представляет себя как расширенный слот, соединяющий ROM-картридж эмулятор, Sunrise IDE, RAM(mapper) 1Mb, FMPAC). если раньше прекрасно грузилось с санрайса, попробуйте для теста сделать конфигурацию картриджа как единственный (не расширенный слот) контроллер SUNRISE. но тогда не будет SCC и FMPAC..

ram_scan
21.08.2017, 19:57
вот тут http://soundex.ru/forum/index.php?/topic/25838-db-dbu-dbv-dbm-dbfs/ сказано что dBm это устаревшее но фактически сейчас это dBu , по калькулятору получается что -5dBu это 0.435 вольта (амплитуда 1,232)
но давайте ещё подумаем что это RMS.. те среднее значение напряжения а какое будет пиковое ? (пиковое ограничивается возможностью ЦАП). а дальше пошла фантазия музыканта, который будет конкретную мелодию создавать .. зыбко всё это..

Да нет никакой путаницы, если понимать что децибел это относительная единица. Принято считать что 0dBu это 0.775V пикового. Где этот ноль на шкале ЦАПа располагаться будет дело десятое. На цифровой технике как правило это максимальная амплитуда. На аналоговой часто до +6 а порой и до +12 перегрузочная заходит. тут опять же надо иметь в виду, что энти dBu связаны с энтими dBm через мощность которое увязано на сопротивление нагрузки, а это все ногами растет из студийной аппаратуры, которая к бытовой своими параметрами мало соотносится.

Для большинства бытовой техники (почти всей советской и подавляющего большинства вражеской) стандартное напряжение линейного входа/выхода 250мВ на сопротивление 47кОм. То есть около -10dB относительно 0dBu. И на индикаторах отградуированных в dB -10dBu рисовали как бесхитростные 0dB.

Редко какая бытовая железяка имела перегрузочную до +6, чаще до +4. Поэтому если ориентироваться на стандарты аудиоаппаратуры, то максимальная амплитуда с ЦАП не должна превышать 500 мВ, и эти 500мВ должны быть +6 dB относительно стандартных 250мВ.

Поэтому я предлагаю не париться со всеми этими чудовыми единицами измерения, сделать максимальную амплитуду выхлопа 500 мВ на нагрузке 47кОм, нарисовать на ней ради исторической справедливости +6dB и забыть впредь про эти изыскания.

OrionExt
22.08.2017, 22:50
Видимо c -5dBm таки исходных данных не хватает, что было очевидно японцам - нам нет. Да и как японские машинки сегодня патчат в звуковом тракте, тоже не всем японцам было очевидно.

Осталась последняя надежда. На реальном картридже SCC (как самый распространенный) допустим, выдать 50Гц с максимальной громкостью, и померять. Хотя и эта затея, думаю тоже не прояснит ситуацию с этими –5dBm.

На слух громкость подобрать - самый верный вариант. Таки да.

BYTEMAN
22.08.2017, 23:04
Не 50 а 1000 надо, референс на кило всегда мерялся, и не прямоугольника надо дать, а синуса. Тогда что-то и можно толкового намерять будет... А так да, на слух в наших реалиях самый верный вариант.

OrionExt
22.08.2017, 23:09
Ага. Конечно синус. А 50Гц, это я чтобы все упростить до обычного прибора со стрелкой:)

tnt23
22.08.2017, 23:10
Ну точно не полтинник. Тоже подумал про килогерц сперва, но лучше уж на 440 Гц :) и не ушами надо, а глазами, т.е. осциллографом на линейном выходе. Уши-то, знаете, у всех разные, что свои, что надеваемые.

OrionExt
22.08.2017, 23:14
1000Гц правильней – это точно. Да и прибор не стрелочный)

440Гц. Вот уже совсем забыл как там звуковой тракт проверяется)

Ну, если кто решится и посмотрит что там железка из прошлого (картридж) выдает. Это будет супер. У меня нет такой возможности на сегодняшний день к сожалению:(

BYTEMAN
23.08.2017, 00:55
На студийной технике обычно пляшут от килогерца, т.к. "район килогерца" наиболее линеен при записи-воспроизведении на МЛ. 440 на низких скоростях (9см/с), кило на всем остальном... Можно для себя просто принять что, скажем, все аудиодевайсы нашей ямахи на максимальной громкости при выдаче синуса (ну или несинуса если не умеем его) на частоте 1000кгц дают 500mV RMS. Тогда и бытовой усилок не будет перегружен (0,3 для бытовухи норма, 0,5 будет где-то +4,5дБ), и сигнал-шум сильно не похерится..

OrionExt
23.08.2017, 01:24
Японцы редкие ретрограды в обозначения (единицах). Я не могу привыкнуть читать их логику в обратной (PNP) нотации.

А если про 440Гц там был какой-то сакральный смысл (не помню). А так АЧХ надо просто снять на фиксированной амплитуде и все.

- - - Добавлено - - -

Все эти децибелы привязаны к нагрузке (с этим я и запарился, когда тут написал о дб), а какой случай у нас пока не понятно.

- - - Добавлено - - -


Тогда и бытовой усилок не будет перегружен (0,3 для бытовухи норма, 0,5 будет где-то +4,5дБ), и сигнал-шум сильно не похерится..
На мой взгляд не туда идем товарищи. Все должно быть проще.

ptero
23.08.2017, 02:22
если посмотреть на обычный картридж Konami-5 (c SCC чипом) то на аудио выходе стоит матрица R2R - http://zx-pk.ru/threads/14840-kartridzh-s-sss-chipom-konami-i-ram-(escc).html?p=653930&viewfull=1#post653930
на её входы подаётся логическая комбинация сигналов с TTL уровнем, на выходе имеем нагрузку 6 кОм внутри R2R линейки (доп резистор на землю) и 4.7кОм резистор на входе сумматора на плате YAMAHA 503. комплексное внутреннее сопротивление выхода матрицы относительно "эдс первоисточника" приближается к 0.5 кОм, а "ЭДС" первоисточника - TTL уровни, или может там на выходе полевые ключи но всё равно это от 0 до 5 вольт (размах) те 2.5 вольта амплитуда пиковых сигналов с учётом сопротивлений на выходе картиджа 2.1 вольт амплитуда что при синусоидальном сигнале даст 1.49 вольта действующего напряжения или это покажет среднеквадратичный вольтметр переменного тока. но это напряжение будет лишь при максимальном задействовании всех разрядов матрицы.. и синхронного одинакового сигнала запрограммированного на все каналы чипа SCC. Но ещё один аспект - пять цифровых 8 битных каналов при суммировании не укладываются в "круглое" число (2,4,8) и по этому общий максимальный уровень не будет достигать полной разрядности выходного ЦАП.. а будет почти в половину меньше.. (5/8) и окончательные значения напряжений будут 1.31 амплитудного и 0.93 действующее

TomaTLAB
23.08.2017, 10:22
440Гц там был какой-то сакральный смысл Это "ля" первой октавы :) "ответ станции" в США (двухтональный 440+350) у нас "ответ станции" 425Гц, поэтому настраивать гитару "по телефону" у нас, неправильно :)

OrionExt
25.08.2017, 19:45
ptero, хорошо было бы проверить это практическими измерениями. А то кто его знает, что там за выхлоп у SCC, документашки на него нет.

ptero
26.08.2017, 11:35
измерил практически. Проверялась связка SCC чип 2212Р003 и матрица резисторов 051650 из картриджа F1. сигнал на выходе (ножка на слот) после рестарта выдаёт 1.41 вольт - это "логическая середина"
забил матрицу всех каналов числом 80h - (минус 128), делитель частоты 2222h , уровни громкости каждого канала на максимум, все каналы включены. получил на выходе 0.032v (почти нуль)
забил матрицу всех каналов числом 7Fh - (плюс 127) - получил напряжение на выходе 2.83 вольт ( вот такой типа размах 2.8в максимальный может быть)
начал чередовать в каждом канале , половина 80 а другая половина 7F. получил звук )) после нескольких попыток сфазировать каналы, путём временного изменения делителя с 2222 на 2221h и наблюдая осцилограмму , измерил размах как мог.. 2.7 вольта получил.. вроде не большая ошибка.. , почти меандр.. с промежуточными ступеньками ) (это практический максимум к которому никто не будет стремиться)

а потом запустил собственно игруху F1 и снова мерить.. в самых громких местах можно отметить размах 1.5v в менее громких 1.2 вольта. амплитуда будет в два раза меньше а RMS будет зависеть от формы сигнала :)

OrionExt
28.08.2017, 16:54
Подведем итоги (как я это все понял).


Раз зашла тема про дБ. Есть вопрос. Как интерпретировать –5dbm (Providing the system has an output connector) в библии MSX

вот тут http://soundex.ru/forum/index.php?/topic/25838-db-dbu-dbv-dbm-dbfs/ сказано что dBm это устаревшее но фактически сейчас это dBu , по калькулятору получается что -5dBu это 0.435 вольта (амплитуда 1,232)

...а потом запустил собственно игруху F1 и снова мерить.. в самых громких местах можно отметить размах 1.5v в менее громких 1.2 вольта. амплитуда будет в два раза меньше а RMS будет зависеть от формы сигнала :)

Можно, сказать, что в первом приближении все сошлось. Спасибо ptero, за проделанную работу:v2_dizzy_punk:

ptero
02.09.2017, 08:10
И так.. обновления.

1. Обновление прошивки альтеры. Вернул старый фильтр на канал SCC, так как новый сильно резал высокие частоты. В данной прошивке так же добавлен регулятор уровня аудио.

2. Обновление прошивки boot-блока картриджа. Добавлено меню настройки уровней аудио выхода. Меню пока неказистое "на попробовать" без хелпа ))
вызывается буквой "v" уровни регулируются курсорными клавишами, выход по ESC или пробелу. Вернуть начальные настройки можно клавишей "r" или "HOME"
уровни не сбрасываются аппаратным рестартом, сбрасываются после отключения питания.

Wierzbowsky
02.09.2017, 17:34
Проверим и причешем. :)

Wierzbowsky
02.09.2017, 23:52
Ну вот как-то так получилось:

http://podrezov.com/carnivore2/cmfc_volume.jpg

Бутблок для тестов приаттачен.

62142

tnt23
03.09.2017, 10:28
Отметки бы еще поставить примерно там, где 0dB.

ptero
03.09.2017, 13:23
уу.. нуль.. опять нуль :) о нулях спорили чуть выше.. ну пусть будет нуль.... а не -5dBm. Это середина по идее, цифра 4. шаг настройки 1.5 dB (1/4) уровня

Wierzbowsky
10.09.2017, 01:08
Новая прошивка Альтеры и бутблок с регулятором громкости выложены в репозитарий:

https://github.com/RBSC/Carnivore2

Wierzbowsky
11.09.2017, 22:55
Многоуважаемым Ptero добавлена функция сохранения желаемой громкости в мелкое ППЗУ на плате при выходе в главное меню из экрана регулятора громкости. После тестирования прошивка будет выложена в репозиторий.

Wierzbowsky
16.09.2017, 19:38
Прошивка Альтеры и новый бутблок с возможностью сохранения установленной пользователем громкости SCC и FMPAC в опциональном ППЗУ выложены в репозиторий.

https://github.com/RBSC/Carnivore2

Если опциональное ППЗУ отсутствует, то громкость по-умолчанию ставится на 4 для SCC и FMPAC.

Wierzbowsky
08.10.2017, 15:16
Добавлена опция выбора 50 или 60 Гц в бутблок клавишей 'F'. Также добавлена строка с текущей частотой, громкостью и страницами (текущая/всего). Скоро выложу в репозиторий.

http://podrezov.com/carnivore2/Special/cmfc_main.jpg

Wierzbowsky
08.10.2017, 17:30
Выложено в репозиторий. Выбранная частота сохраняется до ресета, то есть будет работать с играми которые не требуют ресета или с дисковыми играми. Посмотрим удастся ли сделать функцию сохранения частоты после ресета. Другим пока это не удалось и они вышли из положения патчением загружаемых образов игр перед запуском.

Wierzbowsky
18.10.2017, 12:54
SofaRun последней версии официально поддерживает работу с нашим кариком. Игры можно грузить или в ОЗУ карика, либо в специально зарезервированные блоки на флешке (читайте инструкцию как это сделать). Примечательно, что SofaRun намного удобнее нашей утилиты C2MAN при выборе файлов, распаковке архивов и детектировании мапперов, но она позволяет грузить только в зарезервированную область и только один ROM. Если хотите записать множество игр и выбирать их потом в бутблоке, то без нашей утилиты не обойтись.

Wierzbowsky
02.11.2017, 04:11
Немного поработал с бутблоком. Поправил шрифт, чтобы не сливался со статусной строкой, поменял курсор, немного поменял расположение элементов, добавил иконки клавиш и регуляторов громкости. Также экранные цвета и их палитры теперь выведены в переменные, так что легко скомпилировать себе кастомный бутблок с любимыми цветами. Я также добавил в репозиторий несколько кастомных сборок бут блока в черно-белой, зелёной и синей гамме:

https://github.com/RBSC/Carnivore2/tree/master/BootBlock

Ну а главное меню сейчас выглядит вот так:

http://podrezov.com/carnivore2/cmfc_main.jpg

А вот экран для регулировки громкости:

http://podrezov.com/carnivore2/cmfc_volume.jpg

А вот чуть обновлённый экран помощи:

http://podrezov.com/carnivore2/cmfc_help.jpg

Wierzbowsky
02.11.2017, 15:17
Мне тут сообщили, что новый бутблок мудрит с цветами на MSX1 с 9918/9928 видеопроцами. Есть у кого возможность проверить?

UPD: Поправил. Цвета были в шестнадцатеричном виде. :) Качайте поправленную версию из репозитория.

Wierzbowsky
04.11.2017, 14:56
Проапдейтил бутблок ещё немного - сделана попытка убрать курсор, убран клик клавиш, а также реализовано восстановление палитры при выходе и запуске игр. А то мало ли кто как с цветовыми переменными поиграется...

Бутблок выложен в репозитории.

Wierzbowsky
05.11.2017, 18:47
Ещё одно обновление бут блока и утилит залито в репозиторий. Изменения в файле 'changelog'. Картинки обновлены в этом посте:

http://zx-pk.ru/threads/25442-canivore-scc-fleshkartridzh.html?p=935124&viewfull=1#post935124

Wierzbowsky
17.11.2017, 17:15
В выходные будет новый релиз. Вот что в нём будет:

- Техдоки на английском
- Changelog на английском
- Опция автостарта ROM/CFG теперь позволяет в течение трёх секунд пропустить его и вернуться в бут блок
- В бут блоке теперь можно использовать клавиши управления невзирая на их регистр, также запуск можно теперь делать клавишей Enter
- Бут блок будет показывать свою версию в экране помощи
- Поправлены некоторые баги в утилите C2RAMLDR, также добавлена новая фича
- Сделана новая утилитка для записи и чтения эмулированного SRAM для FMPAC (туда сохраняют данные некоторые игры)
- Добавлена пара новых RCP файлов для "хитрых" игр

OrionExt
17.11.2017, 17:21
Ага. Пора софт развивать:) под этот девайс. Железяка FPGA то 10 MSX сможет заэмулить. А то и больше.

Wierzbowsky
19.11.2017, 21:06
Файлы выложены в репозиторий:

https://github.com/RBSC/Carnivore2

Также есть ещё одна хорошая новость - многоуважаемый Ptero выпустил альфа версию прошивки со добавленным PSG. Тестируем, прорабатываем опции.

Wierzbowsky
06.12.2017, 02:15
Сегодня мы обновили файлы Carnivore2 в репозитории. Выложены новая версия прошивки, новый бутблок, а также новые версии утилит. Главная новость - в прошивку и бутблок добавлена поддержка PSG. Так что теперь музыка и эффекты PSG выводятся с аудиовыхода картриджа. В бутблок добавлена страница управления PSG и PPI Clicker:

http://podrezov.com/carnivore2/cmfc_psg.jpg

Устройства PSG и PPI Clicker могут быть включены и выключены раздельно. Громкость этих устройств настраивается так же как громкость SCC и FMPAC. Также громкость PSG теперь показывается в статусной строке основного меню.

Утилиты C2MAN, C2MAN_40 и C2RAMLDR были поправлены, чтобы уметь читать файлы с любыми атрибутами. Для получения подробной информации смотрите файлы changelog_rus и readme.txt.

Wierzbowsky
17.12.2017, 16:01
Сегодня мы сделали небольшой релиз для Carnivore2:

- Поправлена ошибка в утилитах C2MAN, C2MAN_40 и C2RAMLDR - если в одном регистре выставлятся флаг перезагрузки, то в другом регистре этот флаг раньше не выставлялся, что приводило к конфликту
- Улучшен ширифт для бут блока, несколько символов изменены, добавлены горизонтальные линии под названиями экранов
- Добавлен RCP файл для одной игры, также добавлен RCP файл для игр, сконвертированных с помощью утилиты DSK2ROM

Wierzbowsky
29.12.2017, 16:43
Команда RBSC поздравляет всех форумчан с наступающим Новым Годом! Желаем здоровья и творческих успехов! Надеюсь, что в новом году мы порадуем вас новыми железками для MSX. :)

http://podrezov.com/temp/rbsc2018.png

Pencioner
15.01.2018, 01:16
Алексей, вопрос по карниворику - можно ли использовать флешкарту 16Гб - с помощью создания на ней раздела в 4Гб? Или никак?

Wierzbowsky
15.01.2018, 18:25
Алексей, вопрос по карниворику - можно ли использовать флешкарту 16Гб - с помощью создания на ней раздела в 4Гб? Или никак?

Хммм, я с такими картами не работал. Максимум что у меня работало - 4гб карта. Так как FAT16 поддерживает только 4гб, то скорее всего Nextor будет видеть первый 4гб раздел на карте без проблем. Но ручаться не могу.

Pencioner
15.01.2018, 19:10
Ага если вдруг буду такое пробовать то отпишусь как и что :)

DJs3000
21.01.2018, 19:42
8Гб карта отлично работает. Можно нарезать 2 диска по 4Гб.

Wierzbowsky
05.02.2018, 15:08
Поправлен баг в утилитах C2MAN и C2MAN_40, который приводил к порче директории при нажатии не той кнопки при удалении записи. Мы также добавили несколько RCP файлов.

OrionExt
17.02.2018, 10:31
Если в YIS-503IIIR (или переделанную в MSX2+) поставить биос от YIS-503IIR (инициализация мэппера в биос-е есть), то получится машинка MSX1.5. И можно будет четко увидеть, влияет ли Canivore SCC на работу MSX.

Wierzbowsky
17.02.2018, 20:41
Если в YIS-503IIIR (или переделанную в MSX2+) поставить биос от YIS-503IIR (инициализация мэппера в биос-е есть), то получится машинка MSX1.5. И можно будет четко увидеть, влияет ли Canivore SCC на работу MSX.

Обычно делают наоборот. Из единички делают двушку или даже два с плюсом. А Карнивор вряд ли влияет на что-то. Все таки его делал классный инженер. Да и пользователи не жаловались пока что.

OrionExt
17.02.2018, 22:22
Обычно делают наоборот. Из единички делают двушку или даже два с плюсом.
Просто мой глюк я на MSX2 не сразу и заметил, все очень быстро происходит. А вот на MSX1 сразу все видно.

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

Ну а так интересная ситуевина с программным сбросом выходит. Даже не могу ее классифицировать или железо или программа (больше на программу похоже).

Wierzbowsky
02.03.2018, 04:41
В репозиторий выложены файлы для записи биосов в картридж на бездисковой машине. Большое спасибо Владимиру за эту работу!

https://github.com/RBSC/Carnivore2/tree/master/Util/diskless

Wierzbowsky
19.03.2018, 02:22
По просьбе некоторых пользователей сделал поддержку включения Turbo режима на Panasonic MSX2+ (проц разгоняется до 5.7 МГц), а также поддержку включения режима R800 на Panasonic Turbo-R. Если в первом случае всё работает кроме IDE контроллера, то во втором случае игры и конфигурационные записи, которым нужен ресет не работают вообще. Видимо такие экстремальные режимы работы не подходят картриджу, который делался с прицелом на массовые MSX со стандартными частотами Z80 и без дополнительных процессоров. Вот возникла дилемма - выкладывать ли такой бутблок в репозиторий или нет. Что думаете?

OrionExt
19.03.2018, 11:07
Ну, можно забранчить как экспериментальную ветку. Со временем в прошивке чего подкрутить и оно заработает.

А так у меня несколько платок с циклоном 2 есть. Может со временем такую платку прикручу как модуль к своему компу.

Pencioner
20.03.2018, 02:39
Я думаю стоит выложить с другим именем файла, как експериметнтальную фичу, с соответсвущими предупреждениями в документации. Мне нравится возможность бустануть панасоник до 5.7 при необходимости. Некоторые игры с турбо-патчами, говорят, немного прикольнее. Естественно, при каких-то изменениях или фиксах в основном бутблоке приятно было бы иметь их и в этом, екпериментальном. А то я его сейчас прошил, а вдруг что-то новое хорошее появится в основном - и будет дилемма - оставить возможность включить турбо либо прошиться свежей прошивкой с новыми плюшками :) А оставить эту возможность в основном файле, то как ни крути найдутся пользователи которые документацию невнимательно прочитают и будет куча постов "не работает IDE" и т.д.

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

Wierzbowsky
22.03.2018, 15:39
Неплохая идея, стоит подумать над такой реализацией...

ram_scan
23.03.2018, 16:50
Проще сделать эту настройку выключенной по умолчанию, и чтобы она не сохранялась а сбрасывалась в дефолт при отключении питания. Поэтому даже если обезьяна которая не читала документации ее натычет, она потом обратно сбросится. А кому раз в пятилетку ее надо включит раз в пятилетку и вручную.

А с кнопкой - это доку читать надо что там держать на сбросе, и ровно вторая половина страдальцев будет выть что "у меня турба не працюэ".

OrionExt
24.03.2018, 17:59
Если таки интегрировать режим турбо (это видимо на лету надо плис перепрошить по ресету) в рабочую прошивку, то по мне все должно быть как везде. Т.е это просто галочка он/офф, одна из многих с одинаковой логикой работы/поведения.

Но таки если вкл. он, таки надо сбрасывать (а то фиг вообще стартанешь, если оно не фурычит). Допустим по хард ресету. По софт ресету пусть живет. Да и не понятно как этот софт ресет отследить. Эту задачу на 100% так никто и не решил до сих пор.

К сожалению не знаком с интерфейсом. Пора напрягать разработчика openMSX, пусть этот девайс добавляет в свой эмулятор:)

Если плис не шить новой прошивкой под режим турбо, то чет я не пойму. Зачем нагружать камрадов, после работы. Оно не работает ведь. А то будут мозг морщить:)

Да и если шить плис, оно опять не работает. Я вернулся в рассуждениях к своему предыдущему посту.

Wierzbowsky
24.03.2018, 19:55
Работа по добавлению эмуляции карика в OpenMSX уже идёт. У меня даже на дефолтном эмуле получилось сварганить рабочую конфигурацию карика. Только бутблок выдаёт пустое меню, но вполне себе работает.

R800 режим работает и с IDE, и с играми, которые не требуют ресета. Всё что требует ресета не работает - загружается опять бутблок.
Turbo режим на MSX2+ работает везде за исключением IDE - карта не определяется и если включить на лету, то IDE начинает неподецки глючить.

Видимо я всё-таки оставлю эти режимы, но они будут работать только до отключения питания.

Wierzbowsky
29.03.2018, 21:10
Вот Beta версия бутблока. Также добавлен код, который выставляет турбо режим и выбранную частоту VDP после рестарта. Пока что не работает с конфигурационными записями и как минимум с одной-двумя играми (с gberet, например). Так что use on your own risk! :)

http://podrezov.com/carnivore2/turbo/BOOTCMFC.BIN

OrionExt
29.03.2018, 23:05
Даешь эмулятор!!! Для тестов.

Хотя я тут за последнею неделю собрал из исходников два популярных эмуляторов. И они не поддерживаю прошивку BEERIDE 1.8. Или это BEERIDE 1.8 не поддерживает эмуляторы. Тут сложно разобраться:D

Вывод. Кривая эмуляция IDE что в дном эмуляторе, что другом. Ради памяти автора BEER IDE, передайте автору openMSX. Что надо напрячься и починить свой эмулятор. А не рассказывать сказки разрабам openMSX, оно у меня не работает.

- - - Добавлено - - -

А чего меня плещет как юзера. У них до сих пор не работает брейкпоинт. Да понятно такой с этой архитектурой можно убиться. Но все же 20 лет прошло. А воз и ныне там.

- - - Добавлено - - -

Нашел больную точку для openMSX (от Beer IDE). Да куда там. openMSX больную точку приспускает и дальше хирачит (мы не такие, мы другие. торгуем как бы…). Вот такой г.. отладчик

- - - Добавлено - - -

Если кому интересно как работает отладчик от…. .Задавайте вопросы. Я эту хрень на 90% реализовал на питоне=). Ой зря=)

Wierzbowsky
30.03.2018, 01:53
С версией 1.8 в OpenMSX сплошные глюки. С версией 1.9 работает нормально, но есть свои нюансы. Во первых надо создать образ диска вручную командой diskmanipulator create hd.dsk 8192 8192
Только в этом случае (когда указываются размеры двух разделов) создастся образ с FAT12, который можно подключить как hark disk (hda) в эмулятор. И BeerIDE его спокойно подключит. Программы на бейсике для работы с диском из комплекта BEERIDE можно выкинуть нафиг - они не работают. А вот образ созданный diskmanupulator прекрасно работает. Только стоит иметь в виду, что почему-то второй раздел становится диском А, а первый раздел - диском B после загрузки ДОСа.

https://www.youtube.com/watch?v=kAQJgNF_G4g

OrionExt
30.03.2018, 18:05
Так по порядку.


Программы на бейсике для работы с диском из комплекта BEERIDE можно выкинуть нафиг - они не работают.
Все там работает при условии прямой эмуляции IDE. Которая естественно отсутствует в openMSX. Почему я в этом уверен? Лет 10 назад я правил другой эмулятор blueMSX, который тоже кривоват по части эмуляции IDE. И после хака эмуляции IDE все чудным образом заработало. Речь конечно о версии BEER IDE 1.8.

openMSX я не правил по причине стиля написания кода самого эмулятора. Который, мягко говоря, совсем не юзер френдли, поэтому ну его нафиг. Пусть с ним автор разбирается.

Так что было бы желание, которого видимо нет:(


Только стоит иметь в виду, что почему-то второй раздел становится диском А, а первый раздел - диском B после загрузки ДОСа.
Если мне не изменяет память. Ноги тут растут от Санрайс IDE. И дискманипулятор спецом заточен под Санрайс IDE. У Санрайс IDE разделы перепутаны намеренно, это связано с переносом файлов между ПиСи и MSX. Естественно BEER IDE с этим нюансом не знаком.

Wierzbowsky
05.04.2018, 17:55
Вчера тестировал бету OpenMSX с поддержкой эмуляции Carnivore2. Все тесты прошли успешно, предыдущие огрехи были устранены. Если кому интересно, вышлю файлы конфигурации и дам ссылку на новый бинарник эмуля.

Wierzbowsky
27.04.2018, 17:44
Обнаружилась интересная особенность у Ямахи YIS503III, в просторечии КУВТ2. Есть пара игр, которые запускаются достаточно сложно, с временным возвратом управления системе. Так вот, эти 2 игры (Metal Gear 2 и Kings Valley 2) не получают управление обратно на этих машинках. Первичное разбирательство указывает на "вину" модуля CPM в биосе, судя по всему он выставляет неправильный слот для возврата управления. В итоге игра не запускается и вываливается в кривой Бейсик или вообще виснет. Будем разбираться.

Pencioner
28.04.2018, 03:02
Обнаружилась интересная особенность у Ямахи YIS503III, в просторечии КУВТ2. Есть пара игр, которые запускаются достаточно сложно, с временным возвратом управления системе. Так вот, эти 2 игры (Metal Gear 2 и Kings Valley 2) не получают управление обратно на этих машинках. Первичное разбирательство указывает на "вину" модуля CPM в биосе, судя по всему он выставляет неправильный слот для возврата управления. В итоге игра не запускается и вываливается в кривой Бейсик или вообще виснет. Будем разбираться.

Возврат управления свидетельствует о том что игра собирается после запуска писать что-то на диск на дисководных машинках (у КВ2 по моему редактор уровней же есть? не помню точно, ленюсь сейчас проверять, но вроде был). Код при этому достаточно сложный выходит. Возможно CPM для каких-то своих целей изменяет H_STKE и поэтому игры, которые через этот хук пытаются на себя получить управление, его не получают?

OrionExt
28.04.2018, 18:51
Это видимо шаманство с кариками на FPGA (и IPS-патчями). GR2 - HD версия отлично загружается с BeerIDE на КУВТ-е:)

Wierzbowsky
28.04.2018, 22:17
Это видимо шаманство с кариками на FPGA (и IPS-патчями). GR2 - HD версия отлично загружается с BeerIDE на КУВТ-е:)

Ну, на Carnivore2 это не BeerIDE, а гораздо более сложная штука. Так что косяки неизбежны. Но мы с ними боремся и улучшаем софт и прошивку.

Wierzbowsky
01.05.2018, 17:06
С Первомаем! Сегодня у нас большой релиз для Carnivore2:

1. Добавлено переключение Z80/R800 режимов для Turbo-R компьютеров клавишей 'T'

2. Добавлено переключение в Turbo режим на компьютерах Panasonic MSX2+ клавишей 'T'

3. Добавлена индикация Z80/Turbo/R800 режима в статусную строку

4. Частота тактирования CF карты теперь не зависит от частоты процессора, так что IDE будет корректно работать на частотах выше стандартной. Также были исправлены несколько несущественных ошибок в прошивке

5. Частота VDP, выбранная в бутблоке и/или режим Turbo/R800 восстанавливается для ROM'a после ресета

6. В документации поправлено описание регистра PosSiz, а также описана работа режимов Turbo/R800

7. Если найден RCP файл, совпадающий по имени с загружаемым ROM файлом, то утилиты C2MAN, C2MAN40 и C2RAMLDR спрашивают надо ли загружать данные из RCP файла. В автоматическом режиме данные из RCP файла будут загружены автоматически

8. Утилита C2RAMLDR может перезагрузить компьютер по желанию пользователя или автоматически после записи ROM файла в ОЗУ если в командной строке присутствует ключ /r ; добавлена функция рестарта в меню

9. После записи IDE и FMPAC БИОСов в картридж больше нет проблем в работе с директорией. Раньше вместо директории выводился мусор из-за неправильной конфигурации картрижда после записи БИОСов

10. Добавлено несколько RCP файлов

- - - Добавлено - - -

Также добавили файлы для поддержки эмуляции Carnivore2 в OpenMSX эмуляторе (с версии 0_14_0-200).

Wierzbowsky
06.05.2018, 19:40
Обновил все утилиты. Исправлен неприятный баг с выводом помощи. Также добавил опцию рестарта в некоторые утилиты. Это удобно при работе с компами, у которых нет кнопки ресета.

Также утилиты были модифицированы для корректной работы с DAEWOO машинками.

Также в разработке находится утилита дампа флешки в файл и загрузки дампа во флешку.

Pencioner
06.05.2018, 23:26
Также в разработке находится утилита дампа флешки в файл и загрузки дампа во флешку.
Полезная штука будет. И для бекапа, и для клонирования (этому правда скорее 8бит4евер больше всего порадуются, у обычного пользователя редко бывает много одинаковых кариков) :) Кстати, еще один вариант использования - експериментировать на openMSX а потом дамп на реальное железо переносить. Круть!

Wierzbowsky
09.05.2018, 05:10
Наконец-то удалось запустить бутблок и утилиты на Daewoo и арабских MSX, правда пока только в эмуляторе. У меня в наличии таких машинок пока нет. Может кто поможет с тестами? В общем это был жуткий гемор, так как эти машинки очень своеобразны. Они используют часть символов для управления выводом иероглифов на экран, так что пришлось сильно урезать количество используемых в бутблоке символов. Также выяснилось, что вызов функций БИОСа уничтожает альтернативные регистры, а также меняет индексные регистры как заблагорассудится. В итоге софт, который использует команду EXX и индексные регистры вместе с вызовами БИОСа работать очень быстро перестаёт. Пришлось мне на каждый вызов биоса делать перехватчик, что изуродовало код до неузнаваемости. Но в итоге я вроде победил "особенности" этих машинок. Линк на экспериментальный бутблок внизу.

http://podrezov.com/carnivore2/special/bootblock.zip

http://podrezov.com/carnivore2/special/daewoo.jpg

Использовать этот бутблок на обычных MSX нет никакого смысла. Это только для корейцев и арабов.

Pencioner
09.05.2018, 15:17
Кстати, вот я удивляюсь, как вообще БИОС который на прерываниях меняет твои регистры, имеет право на жизнь? Это же бред какой-то... неужели так трудно на стек отправить а потом забрать? Шокирован, если честно...

tnt23
09.05.2018, 15:22
Наконец-то удалось запустить бутблок и утилиты на Daewoo и арабских MSX, правда пока только в эмуляторе. У меня в наличии таких машинок пока нет. Может кто поможет с тестами?

У меня есть арабская MSX1, что проверить?

Wierzbowsky
09.05.2018, 15:33
У меня есть арабская MSX1, что проверить?

Тимур, проверить бы экспериментальный бутблок, линк на который был в предыдущем сообщеннии. Проверь сначала на стандартном бутблоке из репозитория (версия 2.0), а потом на экспериментальном. Спасибо.

OrionExt
09.05.2018, 15:59
Они используют часть символов для управления выводом иероглифов на экран, ...
Теперь понятно, почему в текстовых программах абракадабра отображается. Грустно все это.


Кстати, вот я удивляюсь, как вообще БИОС который на прерываниях меняет твои регистры, имеет право на жизнь?
Видимо речь об обычных подпрограммах. Обычное дело. Тут опа в другом, изменяются регистры, которое не должны меняться по документации ASCII.
Address... 1113H
Name...... BEEP
Entry..... None
Exit...... None
Modifies.. AF, BC, E, EI

Wierzbowsky
09.05.2018, 16:53
Тут не обычные подпрограммы, а косяк локализаторов биоса. Евгений Брычков считает, что регистры портятся из-за far call в модуль Hangul. Если достану себе Daewoo, поправлю этот глюк в биосе. :)

- - - Добавлено - - -

В корейском биосе есть ещё одня бяка. В нормальном MSX 24 текстовых строки и если напечатать что-то на последней позиции 24й строки, экран сдвинется вверх на 1 строку. На корейской машинке сдвиг происходит уже на 23й строке. В итоге пришлось избегать вывода последнего символа на 23й строке. Поэтому на картинке в предыдущем посту правый нижний угол выглядит так странно. :)

Pencioner
09.05.2018, 17:31
Видимо речь об обычных подпрограммах. Обычное дело. Тут опа в другом, изменяются регистры, которое не должны меняться по документации ASCII.
Понял, ну тогда конечно бяка, но не так страшно... Я почему-то подумал это прерывания такие корявые. Да, локализаторы знатно поработали. :D

EDIT: Кстати, про скролл на одну строку выше. Вообще-то в системной области висит переменная которая хранит кол-во строк для всех операций ввода-вывода на экран. Мы еще баловались, можно было хоть полэкрана "откусить", сначала что-то напечатать, уменьшить кол-во строк, и текст практически "перманентно" оставался (до CLS, SCREEN, WIDTH и прочих очищающих экран команд). Я сейчас вспомнил об этом и ее нашел - это она: F3B1 CRTCNT Number of lines of current screen - думаю есть смысл проверить, из-за нее ли это происходит, и если что не париться особо, установить туда что надо и вернуть назад символ в углу :)

OrionExt
09.05.2018, 17:42
Тут не обычные подпрограммы, а косяк локализаторов биоса. Евгений Брычков считает, что регистры портятся из-за far call в модуль Hangul. Если достану себе Daewoo, поправлю этот глюк в биосе. :)
Если под far call подразумеваются межслотовые процедуры, то биос портит альтернативные регистры (документировано). Но это не как не влияло на совместимость между разными MSX компьютера.

А так-то да, надо разбираться.

Wierzbowsky
09.05.2018, 18:55
Из бутблока мы обращаемся к биосу напрямую, "call #00C6" например. А вот он сам делает межслотовый вызов локализатора. Биос по идее должен регистры сохранять перед таким вызовом, но этого он не делает. Ведь другие модули (сабром, драйвер дисковода и прочие) работают нормально и ничего не портят. Представляете что было бы, если сабром не сохранял регистры? А вот корейские "мастера" об этом не подумали, когда делали свой модуль. И сделали кривую бяку.

OrionExt
09.05.2018, 19:14
Из бутблока мы обращаемся к биосу напрямую, "call #006c" например. А вот он сам делает ...
Address... 050EH
Name...... INITXT
Entry..... None
Exit...... None
Modifies.. AF, BC, DE, HL, EI

Если это не так. Помидорами таких локализаторов закидать:)

Wierzbowsky
09.05.2018, 19:25
Опечатался. С6 должно быть. Позиционирование курсора. Даже там почему-то вызывается локализатор.

Wierzbowsky
10.05.2018, 04:42
Работоспособность нового бутблока подтверждена на реальной машинке (Daewoo CPC-400S). Наверное займусь исправлением косяков биоса летом. Может тогда удастся достичь большей совместимости софта. А вот с конфигурацией слотов только Камиль сможет разобраться, если найдёт время. Теоретически чип логики можно выпаять и поставить на его место платку CPLD типа Альтеры. Тогда проблему со стотами наверняка можно будет решить достаточно быстро - алгоритмы работы плат MSX известны. Тем более, что классные спецы в нашей среде имеются.

Wierzbowsky
10.05.2018, 14:06
Удалось победить глюк биоса, когда нельзя было печатать на последней позиции 23й строки. Теперь рамка ровная со всех сторон. Бутблок обновлён, как и картинка в моём посте:

http://zx-pk.ru/threads/25442-canivore-scc-fleshkartridzh.html?p=963087&viewfull=1#post963087

Wierzbowsky
10.05.2018, 16:35
Сегодня у нас небольшой релиз:

- Утилиты и бутблок теперь работают на Daewoo, а также на арабских MSX
- Добавлена новая утилита - C2BACKUP: она позволяет считывать и записывать полный образ FlashROM чипа

Бутблок для корейских и арабских машинок находится в папке \bootblock\special\ .

Wierzbowsky
15.06.2018, 00:53
Приветы! Сегодня у нас большой релиз для Карнивора2. Вот что было сделано:

1. Эмуляция PSG была значительно улучшена, теперь звучание очень близко к тому, что выдаёт оригинальный чип
2. Все утилиты теперь корректно работают под MSX-DOS версии 1.xx; утилита C2MAN_40.COM переименована в C2MAN40.COM для совместимости со старыми версиями DOS
3. Утилиты C2MAN и C2MAN40 теперь компилируются из одного исходника, детектирование VDP и типа MSX позволяет устанавливать оптимальный режим экрана; улучшен интерфейс, оптимизирован код
4. В поддиректории \Util\special находятся специальные версии утилит C2MAN и C2MAN40, редакторы которых работают на корейских и арабских MSX без сдвига экрана вверх
5. Утилита C2BACKUP записывает данные во FlashROM на 35% быстрее; поправлена ошибка со счётчиком
6. Поправлены фильтры SCC и PSG, качество звучания значительно улучшилось
7. В прошивку Альтеры добавлена функция аппаратного перехвата старта ROM, но она пока не используется в бутблоке
8. Утилиты C2BACKUP и C2SRAM поддерживают опцию /r - рестарт системы после завершения операции

Обновлённые файлы можно скачать в нашем репозитории:
https://github.com/RBSC/Carnivore2

Настоятельно рекомендуем обновить прошивку.

Wierzbowsky
13.09.2018, 00:10
Мы нашли решение для проблемы неполной инициализации Carnivore2 картриджа на некоторых MSX компьютерах сразу после включения питания. Спасибо многоуважаемому Ptero! Для решения этой проблемы нужно припаять один диод, один провод, а также залить новую прошивку в картридж. Описание модификации, а также прошивку можно скачать здесь:

https://github.com/RBSC/Carnivore2/tree/master/PowerUp_Fix

http://podrezov.com/carnivore2/powerup_fix.jpg

Если Carnivore2 картридж нормально работает на ваших MSX компьютерах, то данная модификация вам не нужна.

Wierzbowsky
22.09.2018, 21:10
Сегодня у нас небольшой релиз для Carnivore2:

1. Интерфейс бутблока теперь поддерживает управление джойпадами или джойстиками, подключёнными к любому из двух джойстик-портов. Джойстик позволяет управлять курсором в основном меню, запускать игры и конфигурационные записи, а также может отменять автостарт записи.

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

Файлы можно скачать в репозитории.

Wierzbowsky
01.10.2018, 00:19
Мааааленький релиз сегодня. В бутблок добавлена поддержка встроенных кнопок джоя (как на Casio PV моделях) для прерывания автостарта.

BYTEMAN
18.11.2018, 14:48
Собрал наконец-то давно купленную платку, прошился методом diskless. Теперь успешно попадаю в boot-блок, вижу там одну дефолтную конфигурацию. Но при попытке запуститься - Disk driver not found. System halted. Обращения к CF нет совсем. Попасть в бейсик теперь получается только если выдернуть карик совсем....
Что я делаю не так? :)
Машинка - Yamaha YIS503III (КУВТ2), сетевая карта выдернута.

Wierzbowsky
18.11.2018, 15:49
Так как карик весьма сложный - тут десятки вариантов, что могло пойти не так при сборке. Во-первых, проверьте работает ли ОЗУ и маппер в карике. Загрузитесь в ДОС с флопа при нажатой кнопке на карике и запустите TESTMAP, а потом MEMTEST. Если всё правильно работает, посмотрите что валяется в подслотах карика, используя дебаггер Л. Бараза. В нулевом должен быть бутблок (работает же), в первом должен быть Некстор, в третьем должен быть ФМПАК. Попробуйте из ДОСа создать конфигурацию без ОЗУ и маппера утилитой C2MAN и посмотрите загрузится ли Некстор с имеющимся на основной плате 503й ОЗУ. Также ОЗУ в карике можно проверить загрузив ROM в ОЗУ вместо флешки утилитой C2RAMLDR. Возьмите мелкий ROM - кило на 16 для начала.

BYTEMAN
18.11.2018, 16:01
Так как карик весьма сложный - тут десятки вариантов, что могло пойти не так при сборке. Во-первых, проверьте работает ли ОЗУ и маппер в карике. Загрузитесь в ДОС с флопа при нажатой кнопке на карике и запустите TESTMAP, а потом MEMTEST. Если всё правильно работает, посмотрите что валяется в подслотах карика, используя дебаггер Л. Бараза. В нулевом должен быть бутблок (работает же), в первом должен быть Некстор, в третьем должен быть ФМПАК. Попробуйте из ДОСа создать конфигурацию без ОЗУ и маппера и посмотрите загрузится ли Некстор. Также ОЗУ можно проверить загрузив ROM в ОЗУ вместо флешки утилитой C2RAMLDR. Возьмите мелкий ROM - кило на 16 для начала.

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

- - - Добавлено - - -

Хех, а как com в wav то сконвертить? Или нереально?

Wierzbowsky
18.11.2018, 16:02
Тогда остаётся TESTRAM.ROM, который можно загрузить с магнитофонного входа командой bload"cas:",r

Вот аудиофайлы: http://podrezov.com/temp/testram.zip

Сконвертить BAS, мелкий ROM или BIN в аудиострим можно с помощью Caslink. http://podrezov.com/caslink3.htm

BYTEMAN
18.11.2018, 17:07
Проделал финт ушами: прошил через CF2BIOS абсолютный левак, после этого смог попасть в бейсик с включенным кариком но без бутблока и IDE.
После этого загрузил Testram, увидел там вот такое:
https://photos.app.goo.gl/R3ZAzxRVspBxs9457

Все тесты прошли успешно, однако непонятно, всё ли правильно задетектилось...

- - - Добавлено - - -

Кажется, нашёл проблему... Сейчас перепроверю и отпишусь...

- - - Добавлено - - -

Заработало!!! Накосячил с записью на CF... После оффсета 20000 записались одни нули, почему - хз... Повторил операцию и всё удалось.

Wierzbowsky
18.11.2018, 17:15
Поздравляю! Запишите на карту последнюю версию бутблока и перепрошейте его утилитой C2MAN в карик. Также потестируйте карик утилитами testmap и memtest.

BYTEMAN
18.11.2018, 17:24
Шикарно, FMPAC играет, диск видится (только долгий затуп на Slave device, это можно как-то ускорить?), в остальном при сборке была пара залипонов, которые не давали поначалу нормально прошить Flash. Альтера, EPCS4, Flash и Serial ROM брались на aliexpress, всё - демонтаж. RAM - на eBay, остальная мелочь - у местных. SMD-транзисторы заменил другими подходящими по размеру и параметрам.
Вышло так: https://photos.app.goo.gl/j67nftGFAuoZ96iN6

Огромное спасибо авторам за отличный продукт, по сути не имея кроме голой ямахи ничего, можно получить всё благодаря одной платке))) Теперь в музее можно будет и на MSX запустить что-нибудь интересное для посетителей. Останется только напечатать корпус для карика, спаять плату цветного видеовыхода, и SFG-05 :)

- - - Добавлено - - -


Поздравляю! Запишите на карту последнюю версию бутблока и перепрошейте его утилитой C2MAN в карик. Также потестируйте карик утилитами testmap и memtest.

Да, уже потиху занимаюсь этим) Эх, здравствуй, удивительный мир MSX! :)

Wierzbowsky
18.11.2018, 18:08
Зря разъёмы для JTAG и AS запаяли - теперь в корпус не влезет. Или придётся для них делать дырки. Лучше прошивать так: https://www.youtube.com/watch?v=oVB-fZyMB2E

Прошивку последнюю залили в Альтеру? Флюс советую смыть. Детектирование Slave не должно подвисать - проверяйте на залипоны. А возможно это несмытый флюс влияет на глюки.

BYTEMAN
18.11.2018, 20:51
Прошивку последнюю залили в Альтеру?
Да, последняя.

Флюс советую смыть.
Думаю, проблем быть не должно, т.к. паялось неактивной спиртоканифолью.

Детектирование Slave не должно подвисать - проверяйте на залипоны. А возможно это несмытый флюс влияет на глюки.
С этой карточкой оно как-то через раз работает... Иногда подвисает (и тогда вообще карта перестаёт работать до перезагрузки, и светодиод непрерывно горит), иногда запускается нормально. Предполагаю, что дело в карточке, т.к. в Амиге она тоже не заработала... А вот карточка на 32 мегабайта от Hitachi детектится вообще без вопросов, но в кард-ридере писюковском не определяется... Попробую на работе спросить у кого парочку карт да потестить.

Также прогнал TEATMAP - Mapper is oke. Попробовал пару игрушек - Aleste2 заработала, а вот MGEAR2 - не... Подсовывал пресет с сайта - не помогает... Вылезает заставка MSX, на секунду черный экран и снова по кругу. Если запускать через G, то зависает с писком в динамиках. Мб есть какие ограничения и MG2 на нерасширенной ямахе не работает?

Wierzbowsky
18.11.2018, 20:54
Для MGEAR2, как и для некоторых других игр нужно загрузить RCP файл с правильной конфигурацией. Их можно найти в репозитории. Если не помогает - найдите другой ROM с игрой. Возможно ваш - битый или с переделанным маппером.

Мне помогало низкоуровневое форматирование проблемной карты вот этой утилитой: http://hddguru.com/software/HDD-LLF-Low-Level-Format-Tool/

BYTEMAN
18.11.2018, 21:32
Их можно найти в репозитории. Если не помогает - найдите другой ROM с игрой. Возможно ваш - битый или с переделанным маппером.
RCP загружен был первым делом... Окей, попробую ещё тогда поискать.

- - - Добавлено - - -

Попробовал японскую версию - та же ерунда... Попробовал принудительно перезаписать пресет принудительно через c2man - тоже не помогает....

- - - Добавлено - - -

При попытке запуститься из RAM то же самое...

Wierzbowsky
19.11.2018, 00:44
Попробуйте отпаять R54 - он не нужен для нормального функционирования флешки. Если не поможет - проверяйте на залипы. И всё-таки рекомендую смыть флюс. У меня были платы, которые глючили пока я их в ультразвуковой ванне со спиртом по 5 минут не подержал. Попробуйте также King Valley 2 - у него тот же принцип запуска что и у MGEAR2. Если не запустится, то в картридже есть проблемы.

BYTEMAN
19.11.2018, 01:42
Попробуйте отпаять R54 - он не нужен для нормального функционирования флешки. Если не поможет - проверяйте на залипы. И всё-таки рекомендую смыть флюс. У меня были платы, которые глючили пока я их в ультразвуковой ванне со спиртом по 5 минут не подержал.
Резистор отпаял, ничего не изменилось к сожалению. Отмыть попробую, вдруг и вправду в этом дело. По поводу залипов - всё может быть, но мне кажется, что были бы залипы - отвалилась бы часть функционала... А так запись во флешь/рам работает, некоторые игры работают (пробовал F1 Spirit, Aleste2)... King's Valley не запустился. Два рома, которые нашёл, просто выпадали в бейсик, третий подвисает.
В чем же принципиальная особенность MG2 и KV2? Мб удастся проанализировать как-то и прийти к решению...

Wierzbowsky
19.11.2018, 02:26
У этих игр есть так называемый "отложенный старт". То есть игра стартует только после того как проинициализированы все устройства в системе. Поэтому после заставки MSX сначала Вы увидите сообщения Некстора, а уж потом должна стартовать игра. Если этого не происходит, то что-то не так. Возможно многоуважаемый Ptero даст совет что надо проверить в первую очередь...

BYTEMAN
19.11.2018, 15:13
Поэтому после заставки MSX сначала Вы увидите сообщения Некстора, а уж потом должна стартовать игра.
Для King's Valley 2, когда при создании конфигурации в c2man отработало автоопределение маппера, я видел именно такое поведение. Т.е. nextor выводил свои сообщения, а потом либо в бейсик вываливались (предполагаю что образы картриджей были не очень), либо подвисали.
Для MGEAR2, если использовать RCP-файл с репозитория, сообщений от NEXTOR нет. Т.е. либо колбасимся на логотипе MSX, либо (если через G запускать конфигурацию) первый звук из игры и зависание... Есть подозрения на саму ямаху (она у меня чиненая), но это неточно...

Wierzbowsky
19.11.2018, 16:56
Тогда лучше карик проверить на заведомо рабочей машинке, чтобы не гадать где неисправность...

BYTEMAN
19.11.2018, 19:07
Тогда лучше карик проверить на заведомо рабочей машинке, чтобы не гадать где неисправность...
Попробую найти, в Минске как минимум одного владельца YIS503III знаю... Т.к. у меня только SVI-738, а она MSX1 :(

- - - Добавлено - - -

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

Wierzbowsky
19.11.2018, 20:57
Последняя версия OpenMSX эмулирует Карнивор. Очень удобно под OpenMsxDebugger смотреть что и как работает.

BYTEMAN
20.11.2018, 01:46
В общем, помучал немного ещё картридж, промыл, прозвонил всё, косяков новых не обнаружил... Попробовал ещё раз разобраться с ROM'ами игрушек. openMSX выдал, что металгировский ром - оригинальный, а вот king's valley 2 не признал. После поисков отыскал ром, который признал эмулятор. Залил в картридж, и теперь после сообщений от nextor'а появляется надпись No enough memory... Ещё раз прогнал testmap и memtest, залил в картридж Testram. Testram запускается только через R, без перезагрузки ловлю зависон.

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

Договорился с человеком насчёт другой ямахи, параллельно попробую запустить SVI-738, как я понял King's Valley ii должна на ней тоже заработать.

- - - Добавлено - - -


Обнаружилась интересная особенность у Ямахи YIS503III, в просторечии КУВТ2. Есть пара игр, которые запускаются достаточно сложно, с временным возвратом управления системе. Так вот, эти 2 игры (Metal Gear 2 и Kings Valley 2) не получают управление обратно на этих машинках. Первичное разбирательство указывает на "вину" модуля CPM в биосе, судя по всему он выставляет неправильный слот для возврата управления. В итоге игра не запускается и вываливается в кривой Бейсик или вообще виснет. Будем разбираться.

Таки вот, перечитал тему от начала и до конца и нашёл это вот сообщение, очень похоже на то, что наблюдается у меня... Что-нибудь удалось вам выяснить по этой проблеме? :)

Wierzbowsky
20.11.2018, 03:08
Ах да, именно CP/M в 503й и мешает играм с отложенным запуском. Оптимального решения так и не нашлось, и всё позабылось. Извиняйте! Просто я уже очень давно не использовал стандартные машинки - только свои MSX2+, а также прокачанную двушку, у которой я заменил сабром на более приятный, с работающим счётчиком ОЗУ, красивыми шрифтами, цифрами без шифта и TESTRAM модулем вместо CPM. Советую Вам поставить этот БИОС себе или просто вырезать нафиг CP/M из оригинального саброма:

https://zx-pk.ru/threads/29117-prokachannaya-dvushka.html?p=962398&viewfull=1#post962398

Микросхема саброма как раз стоит в панельке в 503й. Так что шейте образ из поста в УФ-стираемую 27С256 и ставьте вместо оригинальной. Тогда всё заработает.

Добавлю описание этой проблемы в ридмишку Карнивора...

BYTEMAN
20.11.2018, 09:58
Ах да, именно CP/M в 503й и мешает играм с отложенным запуском. Оптимального решения так и не нашлось, и всё позабылось. Извиняйте! Просто я уже очень давно не использовал стандартные машинки - только свои MSX2+, а также прокачанную двушку, у которой я заменил сабром на более приятный, с работающим счётчиком ОЗУ, красивыми шрифтами, цифрами без шифта и TESTRAM модулем вместо CPM. Советую Вам поставить этот БИОС себе или просто вырезать нафиг CP/M из оригинального саброма:

https://zx-pk.ru/threads/29117-prokachannaya-dvushka.html?p=962398&viewfull=1#post962398

Микросхема саброма как раз стоит в панельке в 503й. Так что шейте образ из поста в УФ-стираемую 27С256 и ставьте вместо оригинальной. Тогда всё заработает.

Добавлю описание этой проблемы в ридмишку Карнивора...
Шикарно, спасибо за решение! Попробую вечером прошиться)

BYTEMAN
20.11.2018, 10:39
Не выдержал, решил перед работой проверить все - заработало!!! :)

Спасибо ещё раз огромное за консультации и отличный продукт :) Теперь осталось прокачать саму ямаху до 2+, нахлобучить памяти и собрать SFG-05 :)

ram_scan
21.11.2018, 15:25
Так вот от чего у меня на сампальном konami-5 маппере MG2 никак не хотел стрелять. Я тут даже тему вроде поднимал. При этом неиграбельная демка работала, и еще некоторые игрушки, уж и не помню которые именно.

Wierzbowsky
21.11.2018, 16:30
Так вот от чего у меня на сампальном konami-5 маппере MG2 никак не хотел стрелять. Я тут даже тему вроде поднимал. При этом неиграбельная демка работала, и еще некоторые игрушки, уж и не помню которые именно.

Да, именно так. Я в дебаггере смотрел что там происходит. CP/M тупо не ту слотовую конфигурацию выставляет при выходе из своей подпрограммы инициализации. В итоге управление возвращается совсем не туда куда оно должно было перейти. Так что вырезайте нафиг эту х-ню. Вместо него на свободное место лучше всего запихнуть или биос FMPAC (экономится чип на нашей комбо плате) или TESTRAM.ROM - и будет у вас встроенный тестер машинки внутри. В моём модифицированном саброме (см. линк выше) тест вызывается командой call testr из барсика.

- - - Добавлено - - -


Не выдержал, решил перед работой проверить все - заработало!!! :)
Спасибо ещё раз огромное за консультации и отличный продукт :) Теперь осталось прокачать саму ямаху до 2+, нахлобучить памяти и собрать SFG-05 :)

Молодец! Итак, в полку карниворщиков прибыло. Собрать карик самому - это трудный квест.

BYTEMAN
21.11.2018, 16:32
В моём модифицированном саброме (см. линк выше) тест вызывается командой call testr из барсика.
О как, а я даже и не знал этого))) Удобно однако!!!

Молодец! Итак, в полку карниворщиков прибыло. Собрать карик самому - это трудный квест.
Спасибо!) На очереди цветной видеовывод и ваш клон SFG-05 :)