Автор Тема: Picostation PS1  (Прочитано 593346 раз)

0 Пользователей и 16 Гостей просматривают эту тему.

Оффлайн Nikolas2021

  • Пользователь
  • Сообщений: 1022
  • Пол: Мужской
    • Просмотр профиля
Picostation PS1
« : 28 Августа 2024, 21:10:29 »
Наконец дошли руки, спаял эту самую "кустарную приблуду", то есть эмулятор CD привода на PS1. И кстати да, прикольно, схема реально работает, запускает на консоли игры с SD карты. ;) Правда одно но, как и говорили те иностранные блогеры, те что тестировали это уже, запускается игра довольно "туго", т.е. запуск игры может произойти сразу, а может вообще эдак и с 5-ого а то и с 10-ого раза с перезапуска приставки. Вот, может кому то это будет интересно, но пока что у меня получилось удачно запустить с SD флешки вот это. :D
311704-0
P.S. Данный пост был создан 28.08.24г., с тех пор многое изменилось в проекте "Picostation", читайте ниже актуальную информацию(спойлер).-





« Последнее редактирование: 28 Августа 2026, 10:20:53 от Nikolas2021 »

Оффлайн Hpela

  • Пользователь
  • Сообщений: 47
    • Просмотр профиля
Picostation PS1
« Ответ #4110 : 26 Сентября 2026, 07:45:08 »
Gameszzz, давить его через буфер пока транзистор не отгорит внутри.

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2491
  • Пол: Мужской
    • Просмотр профиля
Re: Picostation PS1
« Ответ #4111 : 26 Сентября 2026, 10:08:14 »
Команды на ключ нет.
Все есть, я же тебе говорил что без изменений обработчика команд (тот что в прерывании по xlat) и правки структур под прием 32х битных комманд, ты не увидишь установку ключа и запрос субкода.
Я вижу эти команды в логе, вот только мой ответ не устроил мехакон, я дальше разбираться не стал, так как сразу попытался заэмулить CDDA и увидел что толку от этого ноль, нужно идти по пути эмуляции EFM

изменённая структура в cmd.h
typedef union mech_cmd_t
{
struct
{
uint32_t :20;
uint32_t sub:8; // 49 new SCEX
uint32_t id:4;
} cmd;

struct
{
uint32_t :8;
uint32_t key:8;
uint32_t id:16;
} scex_id;

struct
{
uint32_t :24;
uint32_t sled:2;
uint32_t tracking:2;
uint32_t id:4;
} tracking_mode;

struct
{
uint32_t sub3:8;
uint32_t key:8;
uint32_t sub2:4;
uint32_t sub:8;
uint32_t id:4;
} scex_cmd;

struct
{
uint32_t :19;
uint32_t LSSL:1;
uint32_t MT:4;
uint32_t dir:1;
uint32_t cmd:3;
uint32_t id:4;
} aseq_cmd;

struct
{
uint32_t :12;
uint32_t count:16;
uint32_t id:4;
} aseq_track_count;

struct
{
uint32_t :21;
uint32_t SOCT:1;
uint32_t ASHS:1;
uint32_t VCOSEL:1;
uint32_t WSEL:1;
uint32_t DOUT_MuteF:1;
uint32_t DOUT_Mute:1;
uint32_t CDROM:1;
uint32_t id:4;
} mode_specification;

struct
{
uint32_t :21;
uint32_t FLFC:1;
uint32_t BiliGL_SUB:1;
uint32_t BiliGL_Main:1;
uint32_t DPLL:1;
uint32_t ASEQ:1;
uint32_t DSPB:1;
uint32_t DCLV:1;
uint32_t id:4;
} function_specification;

struct
{
uint32_t :24;
uint32_t mode:4;
uint32_t id:4;
} clv_mode;

struct
{
uint32_t :8;
uint32_t arg:16;
uint32_t cmd:4;
uint32_t id:4;
} custom_cmd;

uint32_t raw;
} mech_cmd;

изменённый обработчик в cmd.cpp
void __time_critical_func(picostation::MechCommand::updateMech)()
{
    while (pio_sm_get_rx_fifo_level(PIOInstance::MECHACON, SM::MECHACON))
    {
        const uint32_t c = pio_sm_get_blocking(PIOInstance::MECHACON, SM::MECHACON) >> 24;
        m_latched = m_latched >> 8;
        m_latched = m_latched | (c << 24);
        m_currentSens = c >> 4;
    }
    gpio_put(Pin::SENS, m_sensData[m_currentSens]);
}

и после этого все новые команды прекрасно видны

Добавлено позже:
Эдак наверное быстрее перевести обсуждение разработки в сторону подключения на разьём привода
ну не совсем на разъём привода, это не наш путь потому что пропадает весь смысл, тогда готовые платы начнут штамповать в китае и их поставит любой дурак, при этом для самостоятельной сборки появляется геморрой по согласованию уровней, а оно нам надо?
идея в подключении голыми проводами, ну на крайняк пару резисторов и керамику нужно будет, хотя и это под вопросом.
не будем уходить от основной концепции проекта, проект должен быть из говна и палок (деталей по минимуму) и проект строго для людей дружащих с паяльником.

P.S. FE и TE всё же нужно эмулить, нельзя сразу сказать что фокус пойман (FE), это нужно сделать после того как команда прилетит от мехакона, ну а TE надо эмулить хотя бы потому что через него как раз защита и работает и если выбирать между принципом того как работает чип и как устроено в оригинале, то выбор конечно в пользу оригинального механизма разблокировки
« Последнее редактирование: 26 Сентября 2026, 14:46:17 от megavolt85 »

Оффлайн mixa232323

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Picostation PS1
« Ответ #4112 : 26 Сентября 2026, 16:16:56 »
P.S. FE и TE всё же нужно эмулить, нельзя сразу сказать что фокус пойман (FE), это нужно сделать после того как команда прилетит от мехакона, ну а TE надо эмулить хотя бы потому что через него как раз защита и работает и если выбирать между принципом того как работает чип и как устроено в оригинале, то выбор конечно в пользу оригинального механизма разблокировки

То есть SENS придётся дёргать или как?

Оффлайн Gameszzz

  • Пользователь
  • Сообщений: 4598
    • Просмотр профиля
Re: Picostation PS1
« Ответ #4113 : 26 Сентября 2026, 16:17:44 »
megavolt85,
Ты можешь добавить внутри меню, более полную инфу о прошивке.
Сейчас тестил приехавшие платки свичборды для псио,а так как тактование идёт либо с иксстанции,либо с пикостанции,то этот мод обязательно подключать. Взял первую попавшуюся пикостанцию и кп от иксстанции,а что именно в неё зашито фиг знает даже после запуска. Понятно что rc5,но для какой платы и с рагоном или без.  А наличии опций запуска с разгоном,даже в прошивке без разгона,ещё больше с толку сбивает

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2491
  • Пол: Мужской
    • Просмотр профиля
Picostation PS1
« Ответ #4114 : 26 Сентября 2026, 16:29:59 »
То есть SENS придётся дёргать или как?
если эмулить FE и TE (возможно ещё CE), то к SENS подключаться не нужно, а то что придётся полностью эмулить FE и TE я уже более чем уверен, так как DSP без них просто откажется принимать EFM
P.S. хотел снести RF Amplifer, а нифига нельзя, из него выходит Vref (VC)

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

Оффлайн Gameszzz

  • Пользователь
  • Сообщений: 4598
    • Просмотр профиля
Picostation PS1
« Ответ #4115 : 26 Сентября 2026, 16:36:55 »
P.S. хотел снести RF Amplifer, а нифига нельзя, из него выходит Vref (VC)

Это ты при нынешних проверках или при уже существующем проекте ?

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2491
  • Пол: Мужской
    • Просмотр профиля
Picostation PS1
« Ответ #4116 : 26 Сентября 2026, 16:57:27 »
Gameszzz, в существующем можно и усилитель и DSP снести, они не нужны, а в новой надо всё эмулить на более низком уровне, DSP будет полностью использоваться.

P.S. хотя мне всё же больше по душе эмуляция высокого уровня, по принципу PSIO, но низкоуровневая эмуляция по своему тоже интересна, будем посмотреть какой вариант в итоге останется

Оффлайн mixa232323

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Picostation PS1
« Ответ #4117 : 26 Сентября 2026, 17:00:23 »
если эмулить FE и TE (возможно ещё CE), то к SENS подключаться не нужно, а то что придётся полностью эмулить FE и TE я уже более чем уверен, так как DSP без них просто откажется принимать EFM
С какого перепуга? Дешифрация EFM по моему никак не связана с механикой. CXD2545 который интегрирован в CXD2938 состоит из CXD2510 и CXA1782. Две отдельных микросхемы в одном корпусе. RFAC это отдельный вход. У той части которая отвечает за механику CXA1782 есть свой вход RFDC который паралелится с RFAC.


Добавлено позже:
mixa232323, я пробовал на DA16 подать данные, малина не может передавить транзистор в DSP
пробовал поднять PSSL, DA16 уходит в лог 1, но передавить его тоже не получается, DA15 при этом перестаёт генерить BCK, но его передавить удаётся

Если поднять PSSL, DA16 уходит в лог 1, а если на PSSL подан 0 и нет сигнала то на выходе 0? То есть если подключить DATA I2S на PSSL то DA16 будет выдавать то же что и DATA I2S? А может и не сможет. А если сможет?
« Последнее редактирование: 26 Сентября 2026, 17:14:30 от mixa232323 »

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2491
  • Пол: Мужской
    • Просмотр профиля
Picostation PS1
« Ответ #4118 : 26 Сентября 2026, 17:41:32 »
С какого перепуга?
потому что другой обратной связи нету

У той части которая отвечает за механику CXA1782 есть свой вход RFDC который паралелится с RFAC.
он и на CXD2938Q "запараллелен"

ну и к слову, у тебя есть схема плойки в которой стоит связка CXD2510 и CXA1782 или сама плойка с такой связкой есть? это я к тому что откуда у тебя такая уверенность что плойка использует SENS который в CXA1782, а не тот что в CXD2510?


Если поднять PSSL, DA16 уходит в лог 1, а если на PSSL подан 0 и нет сигнала то на выходе 0?
да, но я без понятия можно ли переключать на горячую или это работает только при обесточенном чипе.

То есть если подключить DATA I2S на PSSL то DA16 будет выдавать то же что и DATA I2S?
размечтался  :lol: а то что на DA15 пропадает тактовый сигнал, а сам DA15 уходит в лог 1 ты видимо забыл  ;)

Оффлайн mixa232323

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Picostation PS1
« Ответ #4119 : 26 Сентября 2026, 18:39:34 »
ну и к слову, у тебя есть схема плойки в которой стоит связка CXD2510 и CXA1782 или сама плойка с такой связкой есть? это я к тому что откуда у тебя такая уверенность что плойка использует SENS который в CXA1782, а не тот что в CXD2510?

В даташите не вижу связи блока декодирования и SENS.


Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2491
  • Пол: Мужской
    • Просмотр профиля
Picostation PS1
« Ответ #4120 : 26 Сентября 2026, 19:24:54 »
mixa232323, CXD2510Q пин 69, SENS выходит из автосеквенсора, сигнал которого активно используется мехаконом для перемещения ЛГ
P.S. чёт туплю, CXD2510 это же PU8 late, а у неё как раз ногу 69 на DSP надо поднимать, так что тут SENS DSP используется, а не механики
« Последнее редактирование: 26 Сентября 2026, 19:43:40 от megavolt85 »

Оффлайн mixa232323

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Picostation PS1
« Ответ #4121 : 26 Сентября 2026, 20:35:02 »
mixa232323, CXD2510Q пин 69, SENS выходит из автосеквенсора, сигнал которого активно используется мехаконом для перемещения ЛГ
P.S. чёт туплю, CXD2510 это же PU8 late, а у неё как раз ногу 69 на DSP надо поднимать, так что тут SENS DSP используется, а не механики

Я говорю про то что он скорее всего не влияет на EFM
« Последнее редактирование: 26 Сентября 2026, 20:52:01 от mixa232323 »

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2491
  • Пол: Мужской
    • Просмотр профиля
Picostation PS1
« Ответ #4122 : 26 Сентября 2026, 20:48:43 »
mixa232323, не совсем понял что ты имеешь ввиду под "не влияет на EFM"
у нас стоит задача подать EFM и заэмулить FE/TE/MIRR и возможно CE, SENS нам эмулить не нужно, его DSP сам выдаст правильный.
подать EFM без эмуляции FE/TE/MIRR не выйдет, DSP просто будет игнорить EFM пока не получит правильные FE/TE/MIRR и строго в определённой последовательности

Оффлайн mixa232323

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Picostation PS1
« Ответ #4123 : 26 Сентября 2026, 21:18:27 »
DSP просто будет игнорить EFM

Мне кажется не будет. Просто отправленные данные будут игнорироваться пока не придёт правильный SENS и HC05 не скажет принимать.

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2491
  • Пол: Мужской
    • Просмотр профиля
Picostation PS1
« Ответ #4124 : 26 Сентября 2026, 21:37:41 »
mixa232323, ещё как будет, данные будут считаться испорченными если DSP видит ошибку по TE/FE, с чего ему принимать данные если у него ошибка фокусировки и/или трекинга

Оффлайн mixa232323

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Picostation PS1
« Ответ #4125 : 26 Сентября 2026, 22:02:18 »
mixa232323, ещё как будет, данные будут считаться испорченными если DSP видит ошибку по TE/FE, с чего ему принимать данные если у него ошибка фокусировки и/или трекинга

Что мешает попробовать? Дать SENS с малины и посмотреть что проскочит?



Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2491
  • Пол: Мужской
    • Просмотр профиля
Picostation PS1
« Ответ #4126 : 26 Сентября 2026, 22:17:00 »
mixa232323, ну помимо SENS надо ещё и EFM дать, а если уж начинать, то какой смысл с костылями париться, EFM тут самое время затратное, остальное попроще

Оффлайн mixa232323

  • Пользователь
  • Сообщений: 40
    • Просмотр профиля
Picostation PS1
« Ответ #4127 : 26 Сентября 2026, 22:24:39 »
mixa232323, ну помимо SENS надо ещё и EFM дать, а если уж начинать, то какой смысл с костылями париться, EFM тут самое время затратное, остальное попроще

Ну не сам EFM, а то что в него ложится. А там какой то кошмар.