Автор Тема: Картридж PS1 для PIO порта  (Прочитано 18887 раз)

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

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2280
  • Пол: Мужской
    • Просмотр профиля
Картридж PS1 для PIO порта
« Ответ #210 : 15 Апрель 2026, 17:05:51 »
Nikolas2021, ну попробуй, может влезет в ОЗУ и unirom и меню.

payload.s
.cpu cortex-m0plus
.thumb

.data

.global c_payloadStart
.global c_payloadEnd
.global c_payload2Start
.global c_payload2End

c_payloadStart:
.incbin "../payload/unirom_r.booty"
c_payloadEnd:

c_payload2Start:
.incbin "../payload/picostation_menu.booty"
c_payload2End:

сюда  добавь
extern const uint8_t c_payload2Start, c_payload2End;
эти две строчки меняем на
    const uint8_t *const c_payload[2] = { &c_payloadStart, &c_payload2Start};
    const int c_payloadSize[2] = { &c_payloadEnd - &c_payloadStart,  &c_payload2End - &c_payload2Start} ;

здесь после PIN_A0 добавляем
    PIN_SEL = 22u,
сюда вставляем
    gpio_init(PIN_SEL);
    gpio_set_dir(PIN_SEL, GPIO_IN);
    gpio_pull_up(PIN_SEL);
    int psel = gpio_get(PIN_SEL);

вот эту строку меняем на

    s_dmaChannel = initDMA(c_payload[psel], c_payloadSize[psel]);
если PIN_SEL не подключен, то будет грузится один бинарик, если PIN_SEL замкнуть на землю, то второй

Оффлайн Nikolas2021

  • Пользователь
  • Сообщений: 895
  • Пол: Мужской
    • Просмотр профиля
Картридж PS1 для PIO порта
« Ответ #211 : 15 Апрель 2026, 18:14:16 »
ну попробуй, может влезет в ОЗУ и unirom и меню.
Блин, ахренительно получилось, и пошло всё сразу, ок! По умолчанию запускается всегда наше меню "Picostation", а если захотим unirom 8, то кнопкой вкл и оке!  :thumbup:
Кстати а тут же прошивку можно и по другому скомбинировать, например "пикостанция" и zx_spectrum(вторым загрузчиком), или что то другое... :)

« Последнее редактирование: Вчера в 14:55:13 от Nikolas2021 »

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2280
  • Пол: Мужской
    • Просмотр профиля
Картридж PS1 для PIO порта
« Ответ #212 : 15 Апрель 2026, 18:21:29 »
Nikolas2021, как угодно можно, главное что бы бинарики в ОЗУ уместились, ну или надо допиливать что бы без .data работало, тогда размер booty будет ограничен лишь размером флешь памяти

Оффлайн Nikolas2021

  • Пользователь
  • Сообщений: 895
  • Пол: Мужской
    • Просмотр профиля
Картридж PS1 для PIO порта
« Ответ #213 : 15 Апрель 2026, 19:18:35 »
ну или надо допиливать что бы без .data работало, тогда размер booty будет ограничен лишь размером флешь памяти
Не сейчас ситуация чудка изменилась, то раньше вообще оно не запускало униром без- "data", теперь уже иначе, без "data"  запускаются оба бут загрузчика и работают, даже вон "zx_спекртум" запустился....


Добавлено 16 апреля 2026 года:
megavolt85, А ведь по идеи можно ещё через- PicoIGR "замутить" запуск второго бут загрузчика, например при включении консоли удерживать определённую комбинацию кнопок на геймпаде, и вместо меню(пикостанция), будет запускаться- unirom... :shifty:  и даже без внешней приделанной кнопки.. Или нет, или оно picoigr позже запускается..
« Последнее редактирование: Сегодня в 15:57:43 от Nikolas2021 »

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 2280
  • Пол: Мужской
    • Просмотр профиля
Картридж PS1 для PIO порта
« Ответ #214 : Вчера в 20:53:47 »
Nikolas2021, нельзя, picoigr получит состояние кнопок только когда меню уже запустится

Оффлайн Nikolas2021

  • Пользователь
  • Сообщений: 895
  • Пол: Мужской
    • Просмотр профиля
Картридж PS1 для PIO порта
« Ответ #215 : Сегодня в 14:02:54 »
И всё-таки, какая, никакая а совместимость с "пикой-зерой" у нас но будет всё равно, ну там единственно придётся убрать светодиодик.. ;) Это если что- PicoDev2, работают на этой "пике" оба бут загрузчика меню и униром_8, даже через униром работает передача данных с компа. без data(без испл. озу), чисто на флеше..
« Последнее редактирование: Сегодня в 14:36:54 от Nikolas2021 »