Skip to content
drew.po28@gmail.com edited this page Jun 27, 2026 · 3 revisions

Прочее

Путь в меню: Опции → Прочее · Платы: все (RTC + NVRAM — только RP2350) · Требует: ничего (для NVRAM часов нужна SD-карта)

Что это

Набор переключателей, относящихся к машине, вводу и индикации, которые не входят в меню аудио, видео или накопителей. Большинство — глобальные настройки, сохраняемые в NVS и применяемые сразу; несколько применяются при следующем сбросе:

  • Тайминги машины — тайминг ULA/ALU Early/Late и поведение EAR на 48K Issue 2.
  • Джойстики / ввод — маппинг джойстика на курсорные клавиши, выбор источника второго джойстика и адрес порта Kempston.
  • Производительность — задержка троттлинга для ограничения частоты кадров.
  • Hot Keys — переназначение горячих клавиш OSD/эмулятора.
  • Индикаторы — экранные LED-индикаторы и встроенный светодиод активности SD.
  • RTC + NVRAM (RP2350) — часы реального времени Pentagon/Profi Mr Gluk MC146818 с CMOS-памятью на батарейке.

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

Прочее
├── ALU Timing ▸             Early / Late  (тайминг контеншна ULA)
├── 48K Issue 2 ▸            Да / Нет
├── Джойстик на курсор ▸     Нет / Да
├── Второй джойстик ▸        DPAD #1 / DPAD #2 / NUMPAD
├── Порт Kempston ▸          1Fh / 37h / 5Fh
├── Троттлинг ▸              Нет / 1000 / 2000 / 3000 мкс
├── Hot Keys ▸               переназначение горячих клавиш
├── LED-индикаторы ▸         Да / Нет  + Legend (легенда)
├── Светодиод SD ▸           Да / Нет
└── RTC + NVRAM ▸  (RP2350)  Да / Нет

(RTC + NVRAM добавляется в меню во время выполнения только на платах RP2350.)

Опции

Пункт Значения По умолчанию Описание
ALU Timing Early / Late Early Тайминг контеншна ULA/ALU. Late сдвигает окно прерывания на 1 такт позже (CPU::latetiming); некоторым пограничным демо/играм нужен Early или Late. Применяется на лету (updateStatesInFrame)
48K Issue 2 Да / Нет Да Эмуляция аппаратуры клавиатуры/EAR Issue 2 (бит 3 порта #FE заводится обратно на вход EAR, инвертируя бит 6). Влияет только на Spectrum 48K; машины Issue 3 так не делают
Джойстик на курсор Нет / Да Да При Да джойстик / D-pad также управляет курсорными клавишами (Config::joy2cursor)
Второй джойстик DPAD #1 / DPAD #2 / NUMPAD DPAD #2 Какой контроллер работает как второй джойстик (Config::secondJoy): первый или второй D-pad, либо цифровой блок клавиатуры
Порт Kempston 1Fh (31) / 37h (55) / 5Fh (95) 1Fh Порт ввода-вывода, на котором отвечает джойстик Kempston (Config::kempstonPort). #1F — стандартный; альтернативы избегают конфликтов с некоторыми интерфейсами
Троттлинг Нет / 1000 / 2000 / 3000 Нет Задержка на кадр в микросекундах (Config::throtling) — замедляет эмулятор / снижает нагрузку CPU. Нет = работа на полной скорости по таймеру кадра
Hot Keys — — Открывает редактор горячих клавиш: переназначение каждого ярлыка OSD/эмулятора. F6 = сбросить всё к значениям по умолчанию, F8 / Del = очистить привязку. Некоторые пункты (напр. клавиша меню) только для чтения. Сохраняется в NVS
LED-индикаторы Да / Нет (+ Legend) Нет Экранная полоса LED активности (Tape, Floppy/TR-DOS, DivMMC/esxDOS, Z-Controller, IDE/HDD, Beeper, AY, Covox, SAA1099, MIDI, General Sound, ULA+, Timex SCLD, Gigascreen, RAM paging, Z80 DMA, Kempston joy/mouse, сеть ZiFi TX/RX). Legend открывает легенду с расшифровкой каждого значка. Также включается/выключается на лету клавишей Alt+F8 (переназначаемая)
Светодиод SD Да / Нет Нет Мигание встроенного светодиода (GPIO 25) при физическом обращении к SD-карте (Config::sdLedBlink)
RTC + NVRAM (RP2350) Да / Нет Нет Pentagon/Profi Mr Gluk TimeKeeper (эмуляция MC146818) + CMOS на батарейке. См. RTC + NVRAM ниже

ALU Timing (Early / Late)

ULA генерирует маскируемое прерывание в фиксированной точке кадра; реальные машины различаются на такт-другой в том, когда именно. Late сдвигает окно прерывания на 1 такт позже, чем Early. Большинство программ нечувствительны, но некоторые тайминг-зависимые демо и игры идут корректно только при одном из режимов. Изменение применяется сразу (без сброса).

48K Issue 2

На реальном Issue 2 Spectrum 48K запись в порт #FE приводит к тому, что бит 3 (бит MIC/бордюра) заводится обратно на вход EAR на бите 6, инвертируя его. Машины Issue 3 так не делают. Переключение соответствует поведению, которое ожидают некоторые загрузчики с ленты и процедуры чтения клавиатуры. Влияет только на 48K.

Джойстики и Kempston

  • Джойстик на курсор — при включении D-pad/джойстик также нажимает курсорные клавиши, чтобы игры с курсорным управлением работали без настройки джойстика.
  • Второй джойстик — выбирает источник джойстика второго игрока: первый D-pad (DPAD #1), второй D-pad (DPAD #2, по умолчанию) или цифровой блок (NUMPAD).
  • Порт Kempston — интерфейс Kempston обычно читается по порту #1F; #37 и #5F — альтернативы для конфигураций, где #1F конфликтует с другим устройством.

Полный маппинг джойстиков/геймпадов см. в Options (Joystick → Assign keys) и Hardware (HID devices).

Троттлинг

Добавляет фиксированную задержку в микросекундах на каждый кадр (Нет, 1000, 2000, 3000 мкс). Используйте, чтобы замедлить эмулятор или снизить нагрузку CPU/нагрев. По умолчанию Нет — эмулятор просто работает по своему таймеру кадра 50 Гц.

Hot Keys

Редактор горячих клавиш перечисляет все переназначаемые действия OSD/эмулятора с текущими привязками. Выберите строку и нажмите новую комбинацию, чтобы переназначить. F6 сбрасывает все привязки к значениям по умолчанию, F8 / Del очищает выбранную. Несколько основных действий (клавиша меню) только для чтения и не меняются. Изменения сохраняются в NVS при выходе.

LED-индикаторы и светодиод SD

  • LED-индикаторы рисуют небольшую экранную полосу с индикаторами активности эмулируемой периферии. В подменю есть Legend (легенда) со списком значений каждого значка: Tape (EAR), Floppy/TR-DOS, DivMMC/esxDOS, Z-Controller, IDE/HDD, Beeper, AY-3-8912, Covox DAC, SAA1099, MIDI, General Sound, ULA+, Timex SCLD, Gigascreen, RAM paging, Z80 DMA, Kempston joy, Kempston mouse и активность сети ZiFi (TX / RX). Всю полосу можно включить/выключить в любой момент клавишей Alt+F8 (переназначается в Hot Keys), не открывая меню.
  • Светодиод SD мигает встроенным светодиодом платы (GPIO 25) при каждом физическом обращении к SD-карте — аппаратный индикатор активности.

RTC + NVRAM (RP2350)

Только RP2350. Эта строка добавляется в меню «Прочее» во время выполнения; на платах RP2040 её нет.

Переключатель Да/Нет (по умолчанию Нет), включающий Pentagon / Profi Mr Gluk TimeKeeper — часы реального времени MC146818 с CMOS-памятью NVRAM на батарейке:

  • Часы отвечают на портах #DFF7 (защёлка регистра) и #BFF7 (данные) на машинах Pentagon и Profi. При Нет эти порты обходятся, и Gluk сообщает «NO CMOS».
  • NVRAM сохраняется в cmos.nvr в каталоге конфигурации на SD (эмуляция батарейки): загружается при инициализации, сбрасывается на диск при изменении.
  • Установка времени: часы синхронизируются из интернета по SNTP — см. Сеть (часовой пояс + Sync time (SNTP); авто-синхронизация при подключении к WiFi и при загрузке, если сохранена сеть WiFi). RTC должен быть включён здесь, чтобы синхронизации было куда писать.

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

Действие Функция Ожидаемый результат
Включить LED-индикаторы Полоса LED Появляются значки активности и загораются при работе ленты/диска/звука
LED-индикаторы → Legend Легенда Всплывающее окно со значением каждого значка
Включить RTC, задать часовой пояс + Sync time (Сеть) на Pentagon/Profi RTC Mr Gluk показывает корректную дату/время вместо «NO CMOS»
Троттлинг = 3000 Троттлинг Эмулятор заметно замедляется / ниже нагрузка CPU

См. тестовые образы.

Ссылки

Clone this wiki locally