1
5 поколение / Picostation PS1
« : Вчера в 10:12:27 »mixa232323, у 2341 второй резет разве не прямо на питание идёт через нулевой резистор? Мне кажется его как раз и надо на землю чтобы отрубить DSP.
Это было первое что я нашёл.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
mixa232323, у 2341 второй резет разве не прямо на питание идёт через нулевой резистор? Мне кажется его как раз и надо на землю чтобы отрубить DSP.
а зачем тебе sens то эмулировать, раз уж ты EFM собрался передавать, то эмулировать ничего не нужно.
Фига се, как заморочился, это ты про тот разъём(шлейф) куда CD привод непосредственно подключается ?
конечно можно, только это уже не I2S должно быть, а цифровой эквивалент EFM.
А чё с отключением DSP не срослось?
Хочешь муз. образ в прошивку на саму пику(на ОЗУ) запихнуть для тестов ? А почему не хочешь так же стандартно, только с карты micro SD запустить для тесов муз. образ, да вон взять прошивку от Джона Б. там у него вообще без меню(Picostation) прошивка, можно сразу с главного меню(там где КП и CD_плеер) и от туда запустить CD образ(муз.). Только образ надо подписывать как "Unirom."Не хочу чтобы sd болталась. И так проводов гора. Неудобно.
Смотри обработчик прерывания по XLAT, там всё жёстко под обработку команды 24 бита заточено.
а тут ещё надо понимать, ведь несколько видов spu начиная с pu-20
чёт я совсем запутался, если ты не умеешь собирать код из исходников, то как ты вообще собрался пройти проверку лицензионности? там же надо весь код относящийся к модчипу выкинуть и написать новый, но уже не для UART, а для субкодов.
опять же не понятно, ты это по логам из PicoStation смотрел или по логанализатору и каким образом сейчас выполнено подключение PicoStation.
нет, не нужен, достаточно обработки субкодов.
а как ты i2s собрался подключать то? ты нашёл способ потушить DSP? если нет, то I2S подключать нельзя от слова совсем, потому что DSP генерит тактовую частоту BCK и LRCK, PicoStation в свою очередь тоже генерят эту частоту, если их соеденить, то получится такая жопа, что я и представить не могу конечного исхода, в лучшем случае просто не будет работать, а в худшем прошьёт либо порт в DSP, либо в rp2040.
тут либо надеяться что в неактивном состоянии DSP тупо не управляет DA16 и можно подать внешний сигнал, тогда не нужно тушить DSP, но I2S на малинке надо переделать на slave, но тут есть подводные камни с переключением скорости чтения, хотя вариант очень интересный, так ка можно не тактировать процессор от малины.
либо надо искать способ потушить DSP, что не очень радует, не уверен что такой способ существует.
бонусом команды от мехакона на 32 бита и как я понял некоторые всё так же 24 бита, а это считай надо переписать обработчик команд мехакона полностью.
иными словами, не существует способа заставить PicoStation в исходном виде работать на всём что моложе PU18, в теории запустить можно, но проект нужно очень сильно модифицировать.
mixa232323, да я уже порылся в доках, и да, некоторые команды для нового DSP изменили, а что то и добавили, теперь 32 бита это норма. эх, переписывать в picostation нужно многое, из коробки работать не будет.
ответ полностью генерированный, причём то что получается при использовании чипа не совсем верно, ну точнее там много не используемых байт, поэтому подмешивание и прокатывает
вообще пофиг, CRC там не нужен, это мусор, который мехакон не обрабатывает при чтении SCEx
честно говоря я вообще не понял откуда ты логи снимал
откуда это 80 71 91 34 вообще взялось? настолько короткие команды только от мехакона к DSP летят, но в данном случае и эта команда слишком длинная, тут 32 бита, а должно быть 24.
Если с этой идеей(ODE с PIO) не проканает, вон хотя бы получится запустить с pio порта эмуль (IMBNES 1.3.2) денди(с играми), там даже исходничек есть этой проги. На данном эмуле естественно все запросы(на игры) идут с CD привода, а надо что бы запросы шли только c PIO.
P.S. Исходник проги(IMBNES) полностью на ассемблере,...
mixa232323, не надо дрель. Может тестовые ноги сначала туда сюда подергать?
mixa232323, как ни странно но на них действительно видна передача данных, LRCK правда не цеплялУ меня есть дрель
P.S. у меня правда это другие ножки, потому что у меня CXD2938Q с внешней ОЗУ
осталось выключить DSP внутри чипа

для такого утверждения нужно как минимум снять лог анализатором дамп проигрывания CDDA и загрузки какой нибудь игры
если ты прав, то данные должны передаваться всегда
P.S. но ты точно не прав, этот вывод вообще никуда не подключен внутри микросхемы, на нём всегда лог 0, не важно читаются ли данные или проигрывается музыка
mixa232323, и даже тот факт что DATO это выход данных (DATA OUT), а не вход тебя не смутило? а осцилографом или лог анализатором проверить этот пин тоже не пробовал?
mixa232323, ты просто по названию сигнала на принципиальной схеме решил что это нужный пин?
хотеть можно многого, ты чип пилить собрался что бы к I2S подключиться?
серьёзно? а ну покажи где ты их увидел.
я тебе даже блок диаграмму заскринил что бы удобней было
потому что это пустая трата времени.
вот скажи, как ты собрался передавать данные? через какой интерфейс? если ты думаешь что канала субкодов достаточно, то ты заблуждаешься, всё что ты получишь это список дорожек в CD плеере, на этом твои эксперименты будут окончены, потому что передавать данные некуда.
да не немного, а совсем не так
с чего ты взял что по i2s передаётся только музыка? по нему передаются и музыка и данные, правда данные передаются в "шифрованном" виде (эх знал бы я об этом лет 5 назад, когда логи с Saturn снимал)
самого главного как раз нету и обойти это не выйдет, так как тот I2S вход что на Parallel IO идёт напрямую в SPU и вот в нём уже никакие данные не передаются.
По идеи если не будет CD audio(i2s), то получается игра если и запуститься то просто будет без видеороликов и музыкального сопровождения. Ну вон хотя бы если получится запустить игру- Dune 2000, там не сильно критично смотреть ролики и муз. сопровождение, хотя конечно без этого игра будет уже немного не того качества. А так да, если хотя бы оно сможет запустить игровую карту, то это да, интересно будет посмотреть на это..
Так а физически как подключать ?
Дык пикостанция и иксстанция заменяют собой только один чип - дсп,который после пу18 обьёдинён с другими контроллерами в одном корпусе.
Если есть какие то идеи по созданию именно эмуляции привода,то напиши
mixa232323, у PSIO это организовано программно на стороне PS1, в ОЗУ есть неиспользуемые области в которых можно разместить свой код и поставить irq hook, по сути тот же взломщик кодов.
По хорошему надо просто поправить код взломщика, что бы он помимо кодов, следил за этими двумя регистрами.
Все так, когда речь про эмулятор, с железом все немного иначе.
Аппаратный cdda/cdxa проигрывается через первый i2s вход в spu (назовем его условно первым), но у нас нет физического доступа к этому i2s входу на всем что новее pu18, следовательно мы вынуждены использовать второй i2s вход в spu, который разведен на Parrallel io порт, но тут возникает сложность, реггуллировка громкости это отдельный регистр, нужно постоянно следить за громкостью первого входа и выставлять такую же второму, но и это ещё не всё проблемы, некоторые игры в каждом кадре отключают второй i2s, для одной из таких игр в последнем обновлении psio сделали фикс
Ну и когда я говорил про rp2350 я имел ввиду что он предпочтительнее в плане производительности, то что gpio хватит и у rp2040, понятно и так
Видимо потому что тем кто на это способен, это не особо интересно.
А fastboot ты посчитал? Это как бы ещё один PIO модуль.
А аппаратный CDDA/CDXA проигрываешь с I2S интерфейсом посчитал? А то что нужно будет для этого плеера встраиваться в код инры?
С базовым опытом программирования и поверхностными познаниями PS1 всё выглядит просто, но стоит углубиться в архитектуру PS1 и ты поймёшь что не все так просто, как кажется на первый взгляд и придется столкнуться с рядом захватывающих головоломок
Ну можно конечно, но это будет нечто иное, не в том виде как оно сейчас. Мегавольт про это уже здесь говорил что в принципе, теоретически на базе Pico2(RP2350b) вполне можно было бы это организовать весь процесс целиком ODE, т.е. по типу как PSIO. Но вопрос только в другом кто займётся этим делом, так сказать в написании глобального кода под новый проект ну т.д.......