Инструменты пользователя

Инструменты сайта


msx:nextor:nextor

Nextor

Nextor — это расширенная версия MSX-DOS 2 дисковой операционной системы для MSX. За основу взята версия MSX-DOS 2.31, с ней Nextor совместим на 100%.

Nextor будет работать на любом компьютере MSX (от MSX 1 и далее), имеющем не менее 128 кбайт ОЗУ. На компьютерах с объёмом памяти меньше 128 кбайт Nextor будет работать в режиме MSX-DOS 1 (приглашение DOS доступно только в том случае, если на компьютере установлено 64 кбайт ОЗУ).

Konamiman's MSX page

Nextor

Nextor releases

Версия 2.1:

Версия 2.0

Версия 2.0

Информация по теме:

Установка

Для установки системы выполните следующие действия:

  1. Подключите устройство к компьютеру и включите его
  2. Компьютер должен загружаться в MSX BASIC
  3. Теперь надо создать нужные разделы с помощью интерфейса FDISK
  4. Копируем все файлы Nextor на активный раздел, файлы доступны здесь.
    Примеры:
    1. Можно записать файлы на нужный раздел, подключив карту памяти к ПК, используя устройство для чтения карт (card reader)
    2. Также можно скопировать файлы с дискеты (или образа дискеты) на диск, который является активным разделом карты памяти:

      COPY "B:\*.*" TO "A:\"

      ,

      где

      • A — устройство с активным разделом Nextor,
      • B — GoTek или физический флоппи-дисковод

Файлы

Компиляция из исходных текстов

  1. Скачать актуальную версию Nextor, тест был проведён на этой версии
  2. Установить необходимые пакеты:
    apt install make sdcc binutils
  3. Скачать MACRO80 отсюда: M80dotNet, например этот файл
  4. Скачать и собрать Sjasm Sjasm v0.39, можно скачать готовые: mknexrom, sjasm

Можно использовать готовые файлы необходимые для сборки для x86-64, их нужно скопировать, например в /usr/local/bin

chmod +x bin/*
sudo cp bin/* /usr/local/bin

Команды для компиляции:

cd Nextor-2.1/source
make clean
make

How to build Nextor

Клавиши при загрузке

FIXME

Можно изменить поведение Nextor, если во время загрузки удерживать нажатыми определённые клавиши.

0Отключить режим постоянной эмуляции диска, удалив указатель файла данных эмуляции из таблицы разделов.
1Принудительная загрузка в режиме MSX-DOS 1 . Если компьютер является MSX Turbo-R, переключает процессор в режим Z80.
2Принудительная загрузка в режиме MSX-DOS 1 . Если компьютер представляет собой MSX Turbo-R, переключите процессор в режим R800-ROM. Обратите внимание, что в режиме MSX-DOS 1 активный ЦП никогда не изменяет доступ к дискам; это может привести к тому, что некоторые устройства хранения данных не будут работать должным образом, особенно те, которые связаны с драйверами MSX-DOS, такими, как дисководы гибких дисков.
3Принудительно выполнить загрузку в приглашении MSX BASIC, игнорируя любой существующий загрузочный код (то есть без загрузки и запуска NEXTOR.SYS, AUTOEXEC.BAS или кода в загрузочном секторе).
4Только для MSX Turbo-R. Загрузка в режиме R800-ROM, в качестве маппера выбирается самый большой маппер, найденный в качестве основного (вместо внутреннего маппера), и освобождается 64 кбайт, выделенные для режима R800-DRAM. Это полезно при использовании программ, которые требуют много памяти и могут работать только с основным маппером; однако при этом будет значительное снижение скорости работы.
5Каждому ядру Nextor назначается только один диск с драйвером на основе устройства независимо от количества устройств, которые управляются драйвером. Это отменяет нормальное поведение, при котором Nextor назначает один диск на каждое найденное устройство. Но это только поведение по умолчанию — драйверы могут переопределить его.
CTRLСостояние этой клавиши передастся ядрам MSX-DOS при инициализации. При этом внутренний дисковод в отключает второй, «несуществующий», диск, что позволяет освободить некоторую дополнительную память (которая используется под буфер дисковода), особенно в режиме MSX-DOS 1.
Обратите внимание, что по умолчанию эта клавиша инвертирована, поэтому вы получите противоположное поведение, если не измените это.
SHIFTЗапретить загрузку ядер MSX-DOS, но разрешить нормальную загрузку ядер Nextor. Это полезно для отключения внутреннего дисковода гибких дисков, чтобы получить дополнительную память которая используется под буфер дисковода, особенно в режиме MSX-DOS 1

Отключение слота

Можно запретить загрузку ядра Nextor, нажав соответствующую клавишу. Это полезно, когда необходимо обновить ПЗУ ядра, поэтому его необходимо отключить.

Слот Клавиша
0-0 U
0-1 I
0-2 O
0-3 P
1-0 Q
1-1 W
1-2 E
1-3 R
2-0 A
2-1 S
2-2 D
2-3 F
3-0 Z
3-1 X
3-2 C
3-3 V

Инверсия клавиш при загрузке

Ядро Nextor имеет два байта в ПЗУ по смещению 512 и 513, которые инвертируют клавиши при загрузке. Каждому ключу назначен один бит, который влияет на процесс загрузки (не включая клавиши отключения слота), и когда этот бит установлен, значение ключа инвертируется.

Например, если бит для клавиши SHIFT установлен, драйверы MSX-DOS будут отключены, если во время загрузки не будет нажата клавиша SHIFT.

Единственный способ задать их — это изменить файл ROM Nextor, прежде чем записывать его на ваше устройство.

Вот как значения назначаются для каждой клавиши:

Бит Клавиша
Первый байт (смещение 512)
1 1
2 2
3 3
4 4
5 5
Второй байт (смещение 513)
5 CTRL
4 SHIFT

Однократное применение клавиш при загрузке

Это ещё один способ изменить процедуру загрузки Nextor. Если во время загрузки Nextor найдёт определённые значения по определённому адресу в ОЗУ — он считает несколько следующих байт, и будет использовать их в качестве значений для клавиш загрузки (включая отключения слота), игнорируя клавиатуру. Для этого используется вторая страница ОЗУ, поэтому это будет работать только на компьютерах с ОЗУ не менее 32 кбайт.

Этот механизм использует ОЗУ, потому он является «одноразовым» в том смысле, что он не будет работать снова при следующей перезагрузке компьютера, если нужные значения не будут снова помещены в память. Значения явно удаляется Nextor после считывания.

Для настройки этого механизма нужно использовать программу NEXBOOT.COM

NEXBOOT <boot keys>|. [<slot> [<slot>... ]]

где:

  • <boot keys> — значения клавиш:
    • цифры 1–5
    • C это CTRL
    • S это SHIFT
  • <slot> — номера слотов ядер Nextor, которые необходимо отключить

Примеры:

  • Инверсия клавиши CTRL и 1:
    NEXBOOT 1C
  • Инверсия клавиши SHIFT и отключение ядра Nextor в слотах 1 и 2-3:
    NEXBOOT S 1 23
  • Отключение ядра Nextor в слоте 2:
    NEXBOOT. 2

Запуск программы вызывает перезапуск компьютера.

Режимы работы

MSX-DOS 1

Этом режиме используется ядро оригинальной MSX-DOS версии 1.03.

MSX-DOS 2

Этом режиме используется ядро оригинальной MSX-DOS 2 версии 2.31.

MSX BASIC

В MSX BASIC используются расширения Disk BASIC

Для выхода из Nextor в MSX BASIC используйте команду:

BASIC

Возврата в Nextor:

CALL SYSTEM

или

_SYSTEM

Монтирование

Описание аналога команды в расширениях Disk BASIC

Монтирование раздела устройства

Программа для монтирования раздела устройства.

MAPDRV [/L] <drive>: <partition>|d|u [<device index>-[<LUN index>]
       [<driver slot>[-<driver subslot>]]]

где:

  • /L — необязательный параметр, он блокирует диск, рекомендуется для съёмных устройств
  • <drive> — буква диска (после буквы двоеточие)
  • <partition> — номер раздела
  • <device index>-[<LUN index>] — номер устройства
  • <driver slot>[-<driver subslot>] — номер слота

Пример:

MAPDRV C: 2 1 2-1
буква дискаC
раздел2
устройство1
слот2-1

Монтирование образа диска

MAPDRV <drive> <file> [/ro]

где:

  1. <drive> — буква диска (после буквы двоеточие)
  2. <file> — путь и имя файла с образом диска
  3. [/ro] — режим «только чтение»

Доступные драйверы

Команда DRIVERS.COM отображает информацию о доступных драйверах MSX-DOS и Nextor. Отображается имя и версия (только для драйверов Nextor), номер слота и смонтированные диски. Драйверы MSX-DOS будут определены как «Legacy driver» («устаревшие драйверы»).

Описание аналога команды в расширениях Disk BASIC

Доступные диски

DEVINFO <driver slot>[-<driver subslot>]

где:

  • <driver slot> — номер слота
  • [-<driver subslot>] — номер расширенного слота

Команда DRVINFO.COM отображает информацию обо всех доступных буквах дисков (которые не отображаются). Отображаемая информация включает в себя соответствующий слот драйвера и другую информацию, которая зависит от соответствующего типа драйвера (имя и версия драйвера для драйверов Nextor; номера устройств и логических блоков для драйверов на основе устройств Nextor; относительный блок для MSX-DOS и дисков на основе Nextor драйверы). Драйверы MSX-DOS будут определены как «Legacy driver» («устаревшие драйверы»).

Описание аналога команды в расширениях Disk BASIC

Блокировка

LOCK [<drive letter>: [ON|OFF]]

где:

  • <drive letter>: — буква диска от A до H (после буквы двоеточие)
  • [ON|OFF] — заблокировать/разблокировать

Команда LOCK.COM позволяет заблокировать/разблокировать устройство.

Описание аналога команды в расширениях Disk BASIC

Информации о свободного месте на устройстве в 16-битном режиме

FIXME

Программа устанавливает для устройства режим, при котором информации о свободного месте выдаётся в 16-битном режиме.

RALLOC [<drive letter>: ON|OFF]

где:

  • <drive letter>: — буква диска от A до H (после буквы двоеточие)
  • ON|OFF — включить/отключить

Если параметры не указаны, отобразится список накопителей, которые в данный момент находятся в режиме информации с уменьшенным распределением.

Для устройства в таком режиме функция ALLOC (которая возвращает информацию об общем и свободном пространстве, доступном на устройстве) при необходимости возвращает «поддельную» информацию, так что вычисленное общее количество или число свободных секторов всегда будет соответствовать 16 битам. Другими словами, на дисках с активным режимом информации с уменьшенным распределением, когда общее или свободное пространство превышает 32 Мбайт (для томов с FAT16), ALLOC возвращает 32 Мбайт.

Есть переменная окружения ZALLOC:

SET ZALLOC=ON

,

которая задаёт такой режим для всех разделов для функции ALLOC. Это полезно для разделов большого размера или на очень медленных устройствах.

Nextor никогда не меняет этот режим автоматически.

Режим Z80

Только для MSX Turbo-R.

Программа Z80MODE.COM, позволяет включить/отключить режим Z80 для драйвера MSX-DOS.

Синтаксис:

Z80MODE <driver slot>[-<driver subslot>] [ON|OFF]

где:

  • <driver slot> — номер слота
  • [-<driver subslot>] — номер расширенного слота
  • ON|OFF — включить/отключить

Если указан только слот, будет показано текущее состояние режима Z80 для драйвера. Режим доступа Z80 устанавливается или отключается для каждого драйвера (его невозможно изменить для конкретных букв дисков).

Режим доступа Z80 может быть установлен или не установлен только для драйверов MSX-DOS (Nextor никогда не переключит текущий режим при доступе к драйверу Nextor). Когда установлено, Nextor переключит текущий ЦП на Z80 перед выполнением любой операции с драйвером. Если не установлено, Nextor не будет изменять текущий ЦП при доступе к драйверу.

Необходимость установки режима доступа Z80 для данного драйвера MSX-DOS зависит от каждого драйвера; если сомневаетесь, посмотрите документацию на драйвер или спросите разработчика, если это вообще возможно. Дисководам гибких дисков, вероятно, понадобится режим доступа Z80.

Во время загрузки Nextor включает режим Z80 для всех драйверов MSX-DOS. Кроме того, Nextor никогда не меняет этот режим автоматически.

Режим быстрого STROUT

Программа FASTOUT.COM позволяет включить/отключить режим «быстрого» STROUT.

Синтаксис:

FASTOUT [ON|OFF]

При вызове без параметров будет отображаться текущее состояние режима FASTOUT.

Функция MSX-DOS STROUT печатает строку, оканчивающуюся символом «$». На самом деле эта функция выполняет один отдельный вызов функции CONOUT (которая печатает один единственный символ) для каждого символа строки.

Когда включён режим «быстрого» STROUT, строка будет скопирована в 512-байтовый буфер на странице 3, а затем будет напечатана за один вызов кода ядра, что увеличивает скорость процесса печати. Недостатком является то, что длина строки ограничена 511 байтами, когда этот режим активен; более длинные строки будут обрезаны (будут отображаться только первые 511 символов).

Быстрое форматирование раздела

Программа DELALL.COM выполняет быстрое форматирование файловой системы, видимой для данной буквы диска.

Синтаксис:

DELALL <drive letter>:

где:

  • <drive letter>: — буква диска от A до H (после буквы двоеточие)

Эта программа выполняет очистку областей FAT, тем самым эффективно удаляя всю информацию в файловой системе. Эту операцию операцию нельзя отменить — файлы будут навсегда утеряны, поэтому, пожалуйста, используйте её осторожно.

Этот инструмент можно использовать на любом диске, даже если он подключён к драйверам MSX-DOS. Обратите внимание, что программа работает только с файловыми системами FAT12 или FAT16.

Изменение номера версии NEXTOR.SYS

Известно, что некоторые программы, написанные для MSX-DOS проверяют номер версии MSXDOS2.SYS (NEXTOR.SYS в случае Nextor) и отказываются работать, если это число меньше сопредельного значения, обычно 2.20. Это проблема, поскольку текущий номер версии NEXTOR.SYS равен 2.1.

В качестве обходного пути для этой проблемы, начиная с версии 2.0 бета 2, номер версии NEXTOR.SYS, возвращаемый вызовом функции DOSVER, сохраняется в ОЗУ и может быть легко изменён. Также для этого создана программа NSYSVER.COM, её синтаксис следующий:

NSYSVER <major version number>.<secondary version number>
  • <major version number> — основной номер версии
  • <secondary version number> — дополнительный номер версии

Например:

NSYSVER 2.20

Обратите внимание, что это изменит только значение номера версии NEXTOR.SYS, возвращаемого вызовом функции DOSVER; команда VER по–прежнему будет отображать реальный номер версии файла.

Примечание: изменение номера версии, выполненное этим инструментом, является временным, и оно перестанет действовать (т.е. Номер версии NEXTOR.SYS вернётся к своему реальному значению) при перезагрузке NEXTOR.SYS, либо потому, что введено приглашение BASIC. и завершился через CALL SYSTEM или потому, что компьютер был перезагружен.

Не используйте этот инструмент с версиями NEXTOR.SYS старее чем 2.0 beta 2.

Эмуляция диска

FIXME

Программа EMUFILE.COM позволяет создавать файлы данных для эмуляции диска и включать режим эмуляции диска.

Синтаксис для создания файла данных:

emufile [<options>] <output file> <files> [<files> …]

где:

  • [<options>]
    • -b <число> позволяет указать номер файла образа диска, который будет использоваться для загрузки при запуске эмуляции, по умолчанию 1.
    • -a <адрес> позволяет вам указать адрес страницы 3, который Nextor будет использовать в качестве рабочей области (около 16 байт) во время эмуляции, должен быть шестнадцатеричным числом на странице 3 (C000 или выше). Если не указан, эта область будет выделена Nextor перед началом эмуляции.
    • -p напечатает все имена файлов и связанные ключи после создания файла данных. Тем не менее, обратите внимание, что вы можете увидеть эту же информацию позже, если вы вызовете TYPE /B имя файла данных эмуляции.
  • <output file> — это имя файла данных эмуляции, который будет создан (расширение по умолчанию - .EMU)
  • <files> — файлы образа диска, которые будут использоваться для эмуляции (они могут содержать символы подстановки). Номера (для смены диска) присваиваются файлам образа диска в том порядке, в котором они указаны; при использовании подстановочных знаков в том порядке, в котором они находятся на запоминающем устройстве, которое их содержит (в том же порядке, который вы видите при запуске команды DIR).

Синтаксис для запуска эмуляции диска выглядит следующим образом:

emufile set <data file> [o|p[<device index>[<LUN index>]]]
  • o — включить эмуляцию, однократно (по умолчанию),
  • p — включить эмуляцию, в постоянном варианте. В этом случае по умолчанию указатель данных файла эмуляции будет записан на устройство, где хранится <data file>, но вы можете указать другой <device index>, а также, необязательные параметр <LUN index> (по умолчанию равен 1).

Обратите внимание, что в любом случае компьютер перезагрузится сразу после того, как EMUFILE.COM запишет указатель файла данных эмуляции в соответствующее место.


3.9. Disk emulation mode

Поддерживаемое оборудование

Sunrise IDE

Carnivore2

Дополнительные программы

DI

Аналог команды DIR, которая показывает «длинное» имя файлов на разделах FAT12 и FAT16.

di.zip

Синтаксис:

DI [диск:] [путь][имя файла] [/параметр]

Параметры:

  • /? показать эту справку
  • /H показать скрытые файлы
  • /S показать системные файлы
  • /F не показывать папки
  • /P не делать останов поле вывода страницы списка файлов

DI, исходный код

https://msxhub.com/DI

Особые версии

Ссылки

msx/nextor/nextor.txt · Последние изменения: 2023-10-29 10:58 — GreyWolf