-
Notifications
You must be signed in to change notification settings - Fork 3
Other
Путь в меню: Опции → Прочее · Платы: все (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 ниже |
ULA генерирует маскируемое прерывание в фиксированной точке кадра; реальные машины различаются на такт-другой в том, когда именно. Late сдвигает окно прерывания на 1 такт позже, чем Early. Большинство программ нечувствительны, но некоторые тайминг-зависимые демо и игры идут корректно только при одном из режимов. Изменение применяется сразу (без сброса).
На реальном Issue 2 Spectrum 48K запись в порт #FE приводит к тому, что бит 3 (бит
MIC/бордюра) заводится обратно на вход EAR на бите 6, инвертируя его. Машины Issue 3
так не делают. Переключение соответствует поведению, которое ожидают некоторые загрузчики
с ленты и процедуры чтения клавиатуры. Влияет только на 48K.
- Джойстик на курсор — при включении 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 Гц.
Редактор горячих клавиш перечисляет все переназначаемые действия OSD/эмулятора с текущими привязками. Выберите строку и нажмите новую комбинацию, чтобы переназначить. F6 сбрасывает все привязки к значениям по умолчанию, F8 / Del очищает выбранную. Несколько основных действий (клавиша меню) только для чтения и не меняются. Изменения сохраняются в NVS при выходе.
- 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-карте — аппаратный индикатор активности.
Только 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 |
См. тестовые образы.
- О таймингах/контеншне ULA: https://worldofspectrum.org/faq/reference/48kreference.htm
- Issue 2 против Issue 3 (обратная связь EAR): https://worldofspectrum.org/faq/reference/48kreference.htm
- Интерфейс Kempston: https://en.wikipedia.org/wiki/Kempston_joystick_interface
- Синхронизация времени по SNTP (RTC): Сеть
- Карты GPIO плат (выводы LED / SD): Платы и распиновка
Меню (RU)
Сквозные темы
Для разработчиков