Skip to content

Machine

drew.po28@gmail.com edited this page Jul 22, 2026 · 8 revisions

Machine — Модель

Путь в меню: Machine · Платы: все (Pentagon 512K / 1024K · Byte · Murmuzavr · Profi требуют доп. ОЗУ / RP2350 — см. ниже) · Требует: ничего (большинству моделей для страничной памяти нужна SD-карта или PSRAM)

Что это

Выбор модели машины и её набора ROM. Выбор модели открывает подменю ROM; выбор ROM (или модели с единственным ROM) применяет смену, перезагружает эмулируемую машину и возвращает назад. Изменение сохраняется в NVS только когда предпочитаемая машина / ROM установлены в Last used (Options → Preferred machine / Preferred ROM) — иначе модель применяется только на текущий сеанс, а сохранённое значение по умолчанию остаётся.

Список предлагаемых моделей зависит от объёма ОЗУ, доступного для страничной памяти:

  • Есть PSRAM или SD-карта (ext_ram): полный список — 48K · 128K · Pentagon 128K / 512K / 1024K · Byte · Murmuzavr mode · Profi (RP2350).
  • Нет SD-карты и нет PSRAM: показываются только модели, загружающиеся без внешней страничной памяти — RP2350: 48K · 128K · Pentagon 128K; RP2040: только 48K. (128K / Pentagon требуют реальной страничной памяти; без backing-store они обратились бы к null и зависли, поэтому их скрывают.)

Profi — только для RP2350. Нужна PSRAM (его hi-res фреймбуфер DS80 живёт в PSRAM) и сборка VGA/HDMI (режим вывода DS80 packed-pair живёт в драйверах VGA/HDMI). На RP2040, на платах только-с-SD без PSRAM и в сборках не-VGA/HDMI (TFT / SOFTTV / TV) строка Profi убирается из меню; устаревшее значение Profi в NVS на RP2040 при загрузке переписывается в 128K.

ALF TV GAME появляется только если прошивка собрана без NO_ALF (сборки по умолчанию задают NO_ALF=1, поэтому ALF не показывается). Когда Profi скрыт, а ALF присутствует, ALF поднимается на место Profi.

48K Issue 2/3 в этом меню нет — он в Options → Other → 48K Issue 2. TR-DOS / Betadisk тоже отдельно (Storage → Betadisk) и работает с любой моделью.

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

Machine  (Select machine)
├── Spectrum 48K ▸
│   ├── 48K
│   ├── 48K Spanish        (если не собрано NO_SPAIN_ROM_48k → "Byte 48K")
│   └── Custom
├── Spectrum 128K ▸
│   ├── 128K
│   ├── 128K Spanish       (полный список, если не собрано NO_SPAIN_ROM_128k)
│   ├── +2
│   ├── +2 Spanish
│   ├── ZX81+
│   └── Custom
├── Pentagon 128K ▸
│   ├── 128Kp
│   ├── 128Kp + Mr Gluk Reset Srvs
│   └── Custom
├── Pentagon 512K ▸        (нужно доп. ОЗУ)   128Kp / 128Kp+Gluk / Custom
├── Pentagon 1024K ▸       (нужно доп. ОЗУ)   128Kp / 128Kp+Gluk / Custom
├── Byte ▸                 (нужно доп. ОЗУ)
│   ├── 48K
│   ├── 128K
│   ├── 128K + Mr Gluk Reset Srvs
│   └── COBMECT. Mode      (Yes/No — «совместимый» ROM Byte)
├── Murmuzavr mode ▸       (нужно доп. ОЗУ)   None / 4 / 8 / 16 / 32 MB  (перезагрузка)
├── Profi ▸                (RP2350, PSRAM, VGA/HDMI)
│   ├── 1024K (Original)              штатный сервис Profi + TR-DOS
│   ├── 1024K (Karabas)              загрузочное меню ROMain (ROMSET 0)
│   ├── 1024K (Karabas+PQDOS)        BIOS PQDOS (ROMSET 1)
│   ├── 1024K (Karabas+FlashTool)    Flash Tool (ROMSET 2)
│   ├── 1024K (Karabas+FDImage)      FDImage (ROMSET 3)
│   ├── XT keyboard [ON/OFF]
│   └── OSD palette [STD/DS80]
└── ALF TV GAME            (только если собрано без NO_ALF)

(На плате без SD-карты и без PSRAM список сокращается — см. «Что это».)

Модели

Модель Набор(ы) ROM Примечания
Spectrum 48K 48K, 48K Spanish (48Kes), Custom (48Kcs) Оригинальный Spectrum 48 КБ. Машина загрузки по умолчанию
Spectrum 128K 128K, 128K Spanish (128Kes), +2, +2 Spanish (+2es), ZX81+, Custom (128Kcs) 128 КБ / +2 с редактором 128 + AY. ZX81+ — ROM в слоте 128K
Pentagon 128K 128Kp, 128Kp + Mr Gluk Reset Srvs (128Kpg), Custom Советский/клонированный Pentagon 128. Вариант Gluk добавляет Mr Gluk Reset Service (TimeKeeper, см. Network)
Pentagon 512K 128Kp / 128Kpg / Custom Pentagon с 512 КБ ОЗУ. Нужна PSRAM или страничная память на SD
Pentagon 1024K 128Kp / 128Kpg / Custom Pentagon с 1 МБ ОЗУ. Нужна PSRAM или страничная память на SD
Byte 48Kby, 128Kby, 128Kbg (+ Gluk), COBMECT. Mode Советский клон Byte (Байт) — выпускался Брестским электромеханическим заводом (БЭМЗ) в Бресте, Беларусь; один из самых массовых клонов Spectrum в СССР (см. zxbyte.org). Выпускался в версии 48K, позже расширялся до 128K. COBMECT. (совместимый) Mode — переключатель Yes/No, меняющий ROM страницы 0 (gb_rom_0_byte_sovmest_48k); применяется на лету
Murmuzavr mode объём доп. ОЗУ Не ROM — выбор доп. ОЗУ от 4 МБ до 32 МБ (None = выкл.; шаги 4 / 8 / 16 / 32 МБ на RP2350, на RP2040 максимум 4 / 8 МБ). Смена вызывает запрос применить-и-перезагрузить (меняет MEM_PG_CNT)
Profi (RP2350) Profi / ProfiKarabas / ProfiPQ / ProfiKarabasFT / ProfiKarabasFDI Profi 1024 с hi-res режимом DS80 512×240 и пятью выбираемыми ROM-наборами Karabas-Pro (ниже). Подменю также добавляет XT keyboard и OSD palette. Принудительно включает Betadisk; при необходимости отключает Gigascreen и ZiFi NIC
ALF TV GAME ALF1 Только при сборке без NO_ALF. Машина-приставка картриджного типа. Встроенного картриджа нет — на RP2350 картриджи ALF монтируются с SD-карты (см. ниже)

На Pentagon и Profi TR-DOS обязателен — переключение на любой вариант Pentagon или Profi автоматически включает Betadisk (с уведомлением). TR-DOS при этом работает с любой моделью; см. Storage → Betadisk.

Слоты «Custom» ROM

48K, 128K и Pentagon имеют Custom ROM, который вы прошиваете сами (см. Hardware → прошивка). Прошивка custom ROM никогда не затирает заводские наборы ROM. Custom TR-DOS ROM в Betadisk — снова отдельный слот (см. Storage).

Подменю Profi (RP2350)

Строка Profi — это подменю из пяти ROM-наборов Karabas-Pro (повторяют реальные слоты ROMSET флеша Karabas-Pro) плюс два дисплейных параметра Profi. Выбор любого ROM-набора переключает на машину Profi и перезагружает в bank 0 этого ROM.

Пункт Значения Описание
1024K (Original) — Штатный сервисный ROM Profi + TR-DOS — классическая загрузка Profi
1024K (Karabas) — Графическое загрузочное меню ROMain (Karabas-Pro ROMSET 0): экранный селектор Karabas-Pro / Main menu (Loading CP/M system, Run TR-DOS 48/128, Run Sinclair 48/128, Test&Tools)
1024K (Karabas+PQDOS) — BIOS PQDOS (ROMSET 1)
1024K (Karabas+FlashTool) — Flash Tool от Doctor Max (ROMSET 2)
1024K (Karabas+FDImage) — FDImage от Doctor Max (ROMSET 3)
XT keyboard ON / OFF Расширенный (XT) режим клавиатуры Profi — F1–F10 и т. д. Также переключается на лету горячей клавишей **Alt + ~** (показывается напоминание). Сохраняется в Config::profi_ext_keys
OSD palette STD / DS80 Использует ли OSD/меню стандартную палитру ZX (STD) или живую палитру Profi DS80. Применяется сразу. Сохраняется в Config::profi_ds80_std_palette_osd

Горячие клавиши по клавише «Menu» (Win) на Karabas-Pro

Пока активен ROM-набор Karabas, клавиша Menu / Win (GUI) на PC-клавиатуре работает как настоящая клавиша «Menu» Karabas-Pro. Полный список также на экране F1 Help:

Комбинация Действие
Menu + F1…F4 Смена ROM-набора (Karabas / PQDOS / Flash Tool / FDImage) и перезагрузка в него
Menu + F5 Turbo FDC (быстрый режим TR-DOS) вкл/выкл
Menu + F7 Режим стерео AY (ABC / ACB / Mono)
Menu + F11 Частота CPU (3.5 / 7 / 14 МГц)
Menu + F12 NMI
Menu + Tab Поменять диски A ↔ B
Menu + J Тип джойстика
Menu + Esc Открыть главное меню

На Profi обычная PrtScr переключает XT-клавиатуру (как на реальном железе); снимок экрана в BMP переезжает на Alt + PrtScr.

Последовательная (COM) мышь

Софт под CP/M на Profi (например, Honey Commander с pcmsmous.com) использует последовательную (COM) мышь — Kempston-мышь аппаратно отключена в CP/M на Karabas. pico-spec эмулирует последовательную мышь К580ВВ51 автоматически — достаточно двигать USB-мышью.

RTC + NVRAM

ROM-наборы Karabas (ROMain / PQDOS) рассчитывают на встроенные часы (RTC). Включите их в Options → Other → «RTC + NVRAM» — при выключенных часах уголковые часы ROMain показывают FF. См. Network → RTC / время.

Образы дисков для CP/M и PQDOS

Для CP/M в ROMain и для ROM-набора PQDOS нужны образы дисков на SD-карте:

  • pqdos1.fdi — загрузочная дискета PQDOS; монтируется как образ Betadisk .fdi (см. Storage → Betadisk).
  • CP_M_2GB_CF.hdd — образ CF-карты на 2 ГБ с системой CP/M; монтируется как raw-образ IDE/HDD по схеме Profi (см. Storage → IDE/HDD). Затем ROMain → Loading CP/M system загружается с него.

Скачать эти образы и другой софт для Karabas-Pro можно из коллекции софта Karabas-Pro (Яндекс.Диск).

Справочник: руководства разработчика и пользователя Karabas-Pro — https://github.com/andykarpov/karabas-pro/tree/master/docs.

Loading boot from SD — файловый менеджер FATALL (karabas_boot.$C)

Пункт меню ROMain Loading boot from SD читает физическую SD-карту напрямую через Z-Controller: парсит FAT-раздел, находит в корне карты файл karabas_boot.$c (hobeta) и запускает его. Это файловый менеджер FATALL 0.26 (aka Simplorer) — из него можно ходить по FAT, запускать hobeta-файлы ($C/$B), SPG, заходить внутрь TRD/SCL-образов и запускать их содержимое.

Что нужно для работы:

  • Storage → Z-Controller = Yes — без него ROM не увидит карту (чтение вернёт 0xFF, и загрузка упадёт);
  • файл karabas_boot.$c в корне SD-карты; первый раздел карты — FAT16/FAT32 (exFAT гостевой код не понимает);
  • скачайте исправленный karabas_boot.zip и распакуйте в корень карты. В оригинальном FATALL 0.26 из дистрибутива Karabas-Pro запуск бейсик-файлов ($B) сломан: перед стартом не инициализируется карта памяти BASIC (VARS/E_LINE/WORKSP), из-за чего стартовая строка самоуничтожается и падает с Nonsense in BASIC, 256:1 — одинаково в эмуляторе и на реальном железе. В исправленном файле карта памяти выставляется при старте; остальное не тронуто.

Диск D: — это RAM-диск, а не физический привод. Раскладка дисков в наборе «1024K (Karabas)»: A:/B: — образы Betadisk из OSD-меню, C: — пусто, D: — встроенный в ПЗУ RAM-диск (живёт в расширенной памяти Profi). Simplorer распаковывает TRD/SCL-образы именно в RAM-диск D:. Перед запуском файлов выберите текущий диск клавишей 2 (drive) — по умолчанию он сбрасывается на A:.

Ограничение RAM-диска (так же на реальном Karabas-Pro): хук RAM-диска в ПЗУ перекрывает только стандартные вызовы TR-DOS API. Игры и демо с собственными или турбо-загрузчиками читают контроллер WD1793 напрямую — а физического привода D не существует (CPLD Karabas выбирает только приводы 0/1), поэтому такой софт с RAM-диска зависает. Монтируйте такие диски обычным образом как A:/B: через Storage → Betadisk.

Загрузка картриджей ALF (RP2350)

На RP2350 можно запустить любой картридж ALF (до 1 МБ) с SD-карты. Картридж не прошивается во флеш: файл остаётся на SD и обслуживается «лениво», как дискета контроллером wd1793 — 16-килобайтные банки подгружаются по мере обращения к ним. Переключение в ALF происходит на лету, без перезагрузки; путь картриджа сохраняется в настройках, и после перезагрузки он монтируется снова автоматически.

Загрузить картридж можно тремя способами:

  • F5 (файловый браузер) — выберите файл .rom/.bin (в том числе внутри ZIP): эмулятор смонтирует картридж и переключится в ALF.
  • Options → Update → «Cartridge ROM ALF» — то же самое через меню.
  • Web Archives (онлайн-каталог) — источник картриджей ALF: Enter для быстрого запуска или F5 для сохранения на SD (см. Network).

Встроенного картриджа Elf-1 больше нет (убран из прошивки для экономии флеш-памяти). Без смонтированного картриджа слот пуст — как TR-DOS без дискеты.

Конфликта с банком wavetable-MIDI GM.DLS больше нет: картридж не занимает общую область флеш-памяти, поэтому GM.DLS и картридж ALF могут стоять одновременно.

При уходе с ALF на другую машину картридж размонтируется (слот становится пустым; файл на SD не трогается).

В отдельных случаях переключение в ALF всё же перезагружает эмулятор (был включён General Sound, либо на платах без butter-PSRAM нужно перекомпоновать память после Profi); картридж при этом перемонтируется на загрузке автоматически.

Переключение машин — побочные эффекты

Когда выбранная модель/ROM отличается от текущей, эмулятор сбрасывается и:

  • очищает загруженный ram_file (без автопереноса снапшота);
  • включает Betadisk, если выбран Pentagon / Profi;
  • на RP2350 отключает несовместимые с целью функции (MB-02+ для Pentagon/Profi/Byte, видео Timex для Byte, и — для Profi — Gigascreen и ZiFi NIC, освобождая их ОЗУ);
  • на платах SPI-PSRAM (не-butter) перезагружается всякий раз, когда переключение пересекает границу Profi, чтобы setup() заново разместил ~80 КБ принудительных SRAM-страниц Profi.

Предпочитаемая машина / ROM

Машина и ROM по умолчанию (на загрузку) задаются отдельно в Options → Preferred machine и Options → Preferred ROM, где вариант Last used делает любой выбор из меню Machine постоянным. Если задана конкретная предпочитаемая машина, изменения из меню Machine применяются только на сеанс.

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

Модель Что проверяет Ожидаемый результат
Spectrum 48K Базовая машина Загрузка до (C) 1982 Sinclair
Spectrum 128K → 128K Страничная память 128 + AY Загрузка в меню 128
Pentagon 128K → 128Kpg Pentagon + сервис Gluk Доступен Mr Gluk Reset Service (часы — см. Network)
Profi → 1024K (Original) (RP2350) DS80 hi-res + Betadisk Загружается Profi; Betadisk включён автоматически; цвет DS80 в приложениях TR-DOS
Profi → 1024K (Karabas) (RP2350) Меню ROMain + RTC При включённых RTC + NVRAM появляется меню Karabas-Pro / Main menu; при смонтированных pqdos1.fdi / CP_M_2GB_CF.hdd пункт Loading CP/M system загружается
Murmuzavr mode → 4 MB Изменение объёма доп. ОЗУ Запрос применить-и-перезагрузить; возврат с большим числом страниц ОЗУ

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

Ссылки

Clone this wiki locally