Skip to content

Hardware

drew.po28@gmail.com edited this page Jul 6, 2026 · 3 revisions

Hardware — Железо

Путь в меню: Hardware · Платы: все · Требует: — (строки PSRAM/SD в Speed Test требуют наличия соответствующего железа)

Обзор

Меню Hardware — это диагностика и тонкая настройка платы. Оно не меняет эмулируемую машину: оно опрашивает физическую плату (чип, flash, PSRAM, SD-карту, подключённые USB/PS-2 устройства ввода), показывает сводку текущей конфигурации эмулятора, гоняет тесты производительности и позволяет разогнать RP2040/RP2350.

Большинство пунктов просто открывают информационное окно (только для чтения). Два подменю со стрелкой > — Speed Test и Overclock — выполняют реальную работу; изменения Overclock сохраняются в NVS и применяются после перезагрузки.

Реальные назначения GPIO, которые показывает Board Info, описаны в разделе Платы и распиновка. Назначение клавиш для джойстика / геймпада / клавиатуры живёт в Options → Other и в диалогах настройки джойстика, а не здесь — Hardware только показывает текущий ввод (в Emulator Info / HID devices).

Структура меню

Hardware
├── Chip Info          модель MCU, ядра, CPU/VREG, RAM, ID flash + PSRAM, температура
├── Board Info         SD-карта, звук, карта страниц RAM, назначения GPIO, инфо о сборке
├── Memory Info        занятость FLASH / SRAM / PSRAM + бюджет памяти по фичам
├── Emulator Info      текущая конфигурация: машина / видео / звук / ввод / хранилище
├── HID devices        живой список USB / XInput / NES-геймпадов (автообновление ~1 с)
├── Speed Test ▸
│   ├── CPU MIPS        пропускная способность целочисленных операций
│   ├── SRAM R/W        чтение/запись встроенной SRAM, МБ/с
│   ├── PSRAM           SPI и/или QSPI («butter») PSRAM, чтение/запись, МБ/с
│   ├── SD Card         чтение/запись SD, МБ/с
│   ├── USB Drive       чтение/запись USB-флешки, МБ/с
│   └── All tests       прогнать все тесты подряд
└── Overclock (!) ▸     ⚠ при входе показывает предупреждение «Board may not boot!»
    ├── CPU Freq ▸       252 / 378 МГц  (+ 504 МГц на RP2350)
    ├── VReg Voltage ▸   1.15 … 1.80 В        (только RP2350)
    ├── Flash Freq ▸     33 / 66 / 84 / 100 / 133 / 166 МГц
    └── PSRAM Freq ▸     66 / 84 / 100 / 133 / 166 МГц

* отмечает активное значение в каждом подменю Overclock. Строка VReg Voltage есть только на RP2350 (#if !PICO_RP2040); на RP2040 в подменю Overclock остаются лишь CPU / Flash / PSRAM Freq.

Информационные экраны

Chip Info

Живые показания по MCU и микросхемам памяти:

Поле Примечания
Chip model RP2350A / RP2350B (вариант определяется автоматически) или RP2040
Chip cores всегда 2
CPU frequency текущая clk_sys в МГц (отражает настройку Overclock)
VREG voltage текущее напряжение регулятора ядра (только RP2350)
Chip RAM / Free RAM весь объём SRAM (520 КБ RP2350 / 264 КБ RP2040) и свободная куча
Flash size / JEDEC ID объём flash + сырые байты JEDEC (производитель/устройство)
PSRAM size / MF ID / KGD / EID / Free инфо о SPI-PSRAM, если чип есть (нет на MURM2)
+PSRAM on GPxx встроенная QSPI «butter» PSRAM (объём + свободно), если есть
Temperature показание встроенного датчика температуры, °C

Board Info

Физическая плата и её разводка:

  • SD Card — свободно/всего МБ, файловая система (FAT12/16/32/exFAT), размер кластера, метка тома + серийник, тип карты (SDv1/SDv2/SDHC-SDXC/MMCv3), а также имя продукта из CID + серийник. Если карты нет — not mounted.
  • Audio — активный драйвер: HDMI, AY-3-8910 или i2s/PWM (с определённым кодом I²S-линка и пометкой auto, если выбран автоматически).
  • VGA/HDMI detect — определённый байт дисплейного линка (платы с VGA_HDMI).
  • 16K RAM pages — карта страниц: SRAM (s) + butter (b) + SPI-PSRAM (p) + SD-swap (v), из которых складывается эмулируемая RAM.
  • GPIO pins — реальные номера пинов для клавиатуры, базы VGA/HDMI, PWM L/R, бипера, I²S / PCM5122, защёлки AY-595, SPI SD, PSRAM, butter PSRAM, MIDI TX, WAV-load, NESPAD и LED — ровно так, как скомпилировано для этой платы.
  • Build info — имя сборки, дата/время сборки, ветка и коммит git.

Номера GPIO здесь — каноническая карта для конкретной платы; сверяйте с Платы и распиновка.

Memory Info

Живая карта того, куда ушла память — полезно, когда фича отказывается включаться из-за исчерпанного бюджета SRAM:

  • SRAM — доступный объём, статические bss+data, куча занято/всего, свободная куча и самый большой непрерывный выделяемый блок.
  • FLASH — общий объём, размер прошивки и flash-пул Buffer (например, раздел wavetable-банка GM.DLS), если используется.
  • Butter (QSPI) / SPI PSRAM — объём чипа, сколько отдано под страницы эмулируемой RAM Z80 и занято/всего в арене Buffer на каждом чипе.
  • SD swap pool — занято/всего, когда страницы вытесняются на SD-карту.
  • Enabled features (SRAM) (RP2350) — стоимость в SRAM каждой включённой фичи из менеджера бюджета подсистем (Gigascreen, General Sound, DivMMC, ZiFi, …) со строкой TOTAL.
  • PSRAM by feature (RP2350) — такая же разбивка для крупных потребителей PSRAM (банк GM.DLS, сэмплы GS, буфер предыдущего кадра Gigascreen, банки DivMMC).

Emulator Info

Сводка текущей конфигурации эмулятора на одном экране (всё, что задано в Options/Storage/Audio). Только для чтения — ничего не меняет.

Группа Что показывает
Machine архитектура, ROM-набор, Issue 2 вкл/выкл, тайминг ALU (Early/Late)
Video вывод (VGA/HDMI) + видеорежим, скан-линии, рендер (Standard/Snow), палитра, и (RP2350) Gigascreen, ULA+, Timex video
Sound AY-3-8912 (+ стерео ABC/ACB/Mono), TurboSound (NedoPC/old-TC/Both), Covox (#FB/#DD), SounDrive, и (RP2350) SAA1099, MIDI (режим/пресет синтеза); аудиодрайвер
Input тип джойстика (Cursor/Kempston #xx/Sinclair/Fuller #7F/Custom/None), TAB как fire
Storage (RP2350) режим esxDOS + образы hd0/hd1, схема IDE/HDD + образы; состояние TR-DOS + диски A–D; MB-02+ + диски; режим DMA; файл ленты; flash-load вкл/выкл

Примечание: ряд групп (Gigascreen, ULA+, Timex, SAA1099, MIDI, esxDOS, IDE/HDD, MB-02+, DMA) — только для RP2350 и на RP2040 опускаются.

HID devices

Живой, автообновляемый (~1 с) список подключённых устройств ввода — удобно проверить, что USB-клавиатура или геймпад распознаны и какие кнопки они отдают:

  • USB HID клавиатуры / геймпады (включая специально обрабатываемые Sony DS4 / DualSense и XInput-пады).
  • XInput-контроллеры (например, Xbox 360 / Logitech F710 в режиме XInput).
  • На платах с USE_NESPAD: живая строка состояния кнопок NES1/NES2 плюс декодированные биты joy1/joy2 (D-pad + face/Start/Select).

Закрыть — Enter или Esc. ↑ ↓ / PgUp / PgDn прокручивают, если список длинный. Если ничего не подключено — «No HID/XInput devices.»

Speed Test

Самодостаточные микротесты — образы или SD не нужны (кроме строки SD, которой нужна смонтированная карта, и строк PSRAM, которым нужен установленный PSRAM). Каждый тест работает фиксированное время и выдаёт скорость; результаты показываются в окне.

Тест Что меряет Метод
CPU MIPS пропускная способность целочисленных операций (млн оп/с) плотный цикл LCG mul+add за окно 0.5 с
SRAM R/W чтение и запись встроенной SRAM (МБ/с) 32-битная выровненная запись, затем чтение по буферу
PSRAM SPI-PSRAM и/или QSPI «butter» PSRAM, чтение и запись (МБ/с) пакетный psram_*_range (SPI) / memory-mapped (QSPI); тестируются только присутствующие чипы
SD Card чтение и запись SD (МБ/с) блочный ввод-вывод по времени на смонтированной карте
USB Drive чтение и запись USB-флешки (МБ/с) блочный ввод-вывод по времени на подключённой флешке (сборки RP2350 с USB-host; ориентир ~0.9 / 0.75 МБ/с)
All tests всё вышеперечисленное подряд —

В режиме USB как корень (загрузка без SD-карты) строка SD сообщает No card, а не молча меряет флешку — для флешки используйте строку USB Drive.

Используйте, чтобы сравнить эффект настроек Overclock (например, MIPS / полосу PSRAM при 252 / 378 / 504 МГц или при разных частотах Flash/PSRAM).

Overclock (!)

⚠️ При входе в подменю показывается «Dangerous! Board may not boot!» Слишком сильно поднятая частота или напряжение могут привести к тому, что плата не запустится. Каждое изменение запрашивает подтверждение перезагрузки — а если она не загрузится, может понадобиться перепрошивка для возврата к умолчаниям.

Каждый пункт открывает список с текущим значением, помеченным *. Выбор нового значения сохраняет его в NVS и предлагает Apply + reboot (отказ откатывает изменение). Значения применяются при следующей загрузке, не на лету.

Пункт Значения По умолчанию Платы Примечания
CPU Freq 252 / 378 МГц (+ 504 МГц RP2350) 378 МГц (252 на ZERO / ZERO2) все (504 — только RP2350) тактовая частота ядра/системы; если выбранную частоту установить не удаётся, прошивка откатывается к 252 МГц
VReg Voltage 1.15 / 1.20 / 1.25 / 1.30 / 1.35 / 1.40 / 1.50 / 1.60 / 1.65 / 1.70 / 1.80 В 1.60 В только RP2350 напряжение регулятора ядра — обычно его приходится поднимать для высоких частот CPU
Flash Freq 33 / 66 / 84 / 100 / 133 / 166 МГц 66 МГц все частота интерфейса XIP flash
PSRAM Freq 66 / 84 / 100 / 133 / 166 МГц 166 МГц все частота интерфейса PSRAM

⚠️ Известная проблема стабильности. Высокая частота CPU (504 / 252 МГц) вместе с HDMI audio + Gigascreen может зависнуть при переключении PLL (ISR аудио-таймера гонится с переключением частоты). Меняйте частоту осознанно, по одному шагу, и проверяйте через Speed Test. См. заметки разработчика (CLAUDE.md → CPU Frequency Switching).

Схема / подключение

Полная карта GPIO для каждой платы (те же пины, что показывает Board Info) — в Платы и распиновка.

Как проверить

Speed Test самодостаточен — образы не нужны. Сравнивайте скорости MIPS / SRAM / PSRAM / SD при разных значениях Overclock; через Chip Info убедитесь, что после перезагрузки частота CPU и напряжение VREG действительно изменились.

Ссылки

Clone this wiki locally