-
Notifications
You must be signed in to change notification settings - Fork 3
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.
Живые показания по 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 |
Физическая плата и её разводка:
-
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 здесь — каноническая карта для конкретной платы; сверяйте с Платы и распиновка.
Живая карта того, куда ушла память — полезно, когда фича отказывается включаться из-за исчерпанного бюджета 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).
Сводка текущей конфигурации эмулятора на одном экране (всё, что задано в 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 опускаются.
Живой, автообновляемый (~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.»
Самодостаточные микротесты — образы или 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).
⚠️ При входе в подменю показывается «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 действительно изменились.
- RP2040 datasheet: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf
- RP2350 datasheet: https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf
- Заметки разработчика (нюансы разгона / смены частоты): CLAUDE.md
Меню (RU)
Сквозные темы
Для разработчиков