ИДЕДОС
Разработчик | Йозеф Соучек, Томаш Пршибыл, Ян Ворличек, Ян Главачек, Кайтар Жолт |
---|---|
Написано в | 6502/65816 язык ассемблера |
Первоначальный выпуск | 1996 год |
Последний выпуск | 0.90 |
Последний предварительный просмотр | 0,91 бета |
Доступно в | Английский |
Платформы | Commodore 64 , 128 и SuperCPU |
По умолчанию пользовательский интерфейс | Интерфейс командной строки |
Лицензия | лицензия GPLv2 |
Официальный сайт | идедос |
IDEDOS — это ПЗУ на основе дисковая операционная система написанная на ассемблера 6502/65816 , 128 для Commodore 64 , языке и SuperCPU . Его основная цель — управлять устройствами ATA(PI), подключенными к картриджу IDE64 , и представлять их как обычные диски Commodore. Кроме того, он поддерживает сетевые диски (PCLink) и имеет встроенный монитор машинного кода и файловый менеджер .
Архитектура
[ редактировать ]C64 KERNAL использует таблицу векторов на странице 3, чтобы обеспечить перенаправление стандартной обработки файлов ядра и основных функций. Эта функция используется IDEDOS для подключения к ядру C64.
Сама операционная система разделена на четыре страницы по 16 КиБ, которые отображаются при необходимости. Отображение временно отключается во время работы прерываний для повышения совместимости, однако это приводит к задержке ≈40 мкс.
Дополнительная оперативная память для буферов и внутренних данных также отображается либо из картриджа IDE64 (28 КиБ), либо используется дополнительная оперативная память SuperCPU. Стандартные ячейки памяти ядра на нулевой и второй странице обрабатываются совместимым с ядром способом; временно используемая память восстанавливается после завершения процедур.
Помимо таблицы ядра, IDEDOS имеет два новых вызова для обработки больших объемов данных (чтение/запись), которые обеспечивают гораздо более высокую скорость передачи данных, чем символьный ввод-вывод.
Собственная файловая система на нижнем уровне не соответствует стилю CBM и позволяет создавать разделы размером более 16 МБ. Функции высокого уровня, такие как 16-значные имена файлов или типы файлов, сохраняются. Из-за сложности и требований к памяти создание и проверка целостности файловой системы не являются частью операционной системы, в отличие от CBM DOS или CMD DOS.
Дополнительные файловые системы, такие как ISO 9660 или FAT, являются внутренне абстрактными и в основном используют одни и те же процедуры для обработки, поэтому для пользовательских программ заметна небольшая разница, за исключением случаев, когда некоторые функции реализованы не полностью.
Управление устройствами осуществляется с помощью дополнительных номеров устройств, присвоенных новым устройствам. Номера устройств IDEDOS настраиваются и обычно находятся в диапазоне 10–14. На протяжении многих лет многие программы предполагали, что существует только устройство 8 и не позволяют выбрать что-либо еще; это можно обойти, временно изменив номер используемого устройства IDEDOS на 8.
Для стандартных устройств используются исходные процедуры ядра, тогда как в устройствах IDEDOS используются специальные процедуры, которые точно имитируют результаты и поведение вызовов ядра для гибких устройств. Вызовы ядра, не проходящие через таблицу векторов (особенно вызовы, специфичные для шины IEC), представляют собой несовместимость с теми программами, которые их используют.
Специальные функции (например, обработка звука CD-ROM) реализуются с помощью новых команд канала 15, в то время как функции, отсутствующие в дисководах, соответствуют командам стиля CMD, что позволяет программам легко поддерживать более широкий спектр устройств.
В отличие от интеллектуальных внешних устройств, которые имеют отдельный процессор (например, 1541 с CBMDOS), IDEDOS работает на главном компьютере, поэтому все дисковые процедуры блокируются до завершения. Это исключает использование «загрузчиков IRQ», которые обычно используются для ускорения работы периферийных устройств последовательной шины.
Прерывания обычно разрешены во время работы IDEDOS (они отключены для редких операций, критичных по времени), однако система была написана как нереентерабельная , как и исходное ядро.
Краткая история
[ редактировать ]В 1996 году родилась IDEDOS, поскольку возникла потребность в системе для работы с картой IDE64 1.1. Его создали Йозеф Соучек (основной код) и Томаш Пршибыл (файловый менеджер, окончательная адаптация монитора картриджей). Дополнительный код предоставили Ян Ворличек (расширение BASIC), Ян Главачек (Duart PCLink).
В 2000 году Кайтар Жолт добавил поддержку CDROM, новый код установки и множество исправлений. Из-за ограничений дизайна Кайтар Жолт начал разработку полностью переписанной версии (0.90), которая не была готова для общего использования до 2005 года. Между тем, старая версия достигла 0.898b в июне 2004 года.
В 2009 году предел в 64 КиБ для системы начал ужесточаться, и была запущена бета-версия IDEDOS 0.91, в которой проводился рефакторинг кода, чтобы получить больше места и внутреннюю гибкость.
ИДЕИ 0.898b
[ редактировать ]Это была последняя версия старой серии IDEDOS.
Поддержка устройств
[ редактировать ]- 2 устройства ATA(PI): жесткий диск, CompactFlash, CDROM, DVD
- Duart RS-232 для PCLink Карта
- СуперЦП v1/v2
Файловая система
[ редактировать ]- Пользовательская файловая система OFS 0.02.
- До 8 ГиБ, только адресация CHS , покрывает весь диск
- 16-значные имена файлов.
- Исправлены типы файлов SEQ, PRG, USR.
- Каталоги поддерживаются.
- Поддерживается отметка времени.
- Файлы до 4 ГиБ, только последовательный доступ
- ISO 9660 Поддержка файловой системы
Быстрая загрузка
[ редактировать ]Устройства, поддерживающие встроенный быстрый загрузчик :
- 1541 как устройство 8
Быструю загрузку можно отключить в настройках в случае несовместимости (не 1541, как устройство 8). Минимальное чередование — 7, быстрая заставка поддерживается только в диспетчере и использует чередование 8. Синхронизация совместима с PAL / NTSC .
ПКЛинк
[ редактировать ]Пользовательский протокол, только последовательный доступ. Поддерживаемые устройства:
- Параллельный кабель PC64
- Руки RS-232
Экран настройки
[ редактировать ]Включает часы с календарем, возможность устанавливать номера дисков, цвета экрана, автоматическую загрузку, быструю загрузку дискеты, базовые часы (TI$), управление питанием, повторную запись, настройки упреждающего чтения и записи в кэш, опцию замедления CDROM.
БАЗОВЫЕ расширения
[ редактировать ]Расширение BASIC включает команды обработки диска (только для устройств IDEDOS) и добавляет несколько новых сообщений об ошибках. Команды:
- CD – изменить рабочий каталог
- CDOPEN – открыть лоток для CDROM.
- CDCLOSE – закрыть лоток для компакт-дисков.
- CHANGE – изменить номер устройства HDD
- ДАТА – печать даты и времени
- DIR – обычный список каталогов
- HDINIT – повторное обнаружение IDE-устройств.
- INIT – инициализировать память
- KILL – отключить патрон
- LL – длинный список каталогов с отметками времени и размером файла в байтах.
- MAN – запустить файловый менеджер
- MKDIR – создать каталог
- RM – удалить файл или каталог
Файловый менеджер
[ редактировать ]Его можно использовать для навигации по каталогам, запуска программ, копирования/переименования/удаления файлов, создания каталогов и запуска плагинов для работы с файлами. Рекурсивное копирование файлов было добавлено только в версии 0.898b и в редких случаях оно не работает.
Монитор
[ редактировать ]Монитор почти в точности соответствует картриджному монитору Final в IDEDOS 0.89. Доступны только стандартные коды операций 6502. Команды:
- А – инструкции по сборке
- B – Переключатель банка
- C – Сравнить области памяти
- D – Разобрать по адресу
- EC – Редактировать символ
- ES – Редактировать спрайт
- F – Заполнить область памяти
- G – Начать выполнение по адресу
- H – Шаблон поиска
- I – отображение PETSCII по адресу
- L – Загрузить область памяти
- M – Список памяти
- O - Переключатель банка
- П – Распечатать
- R – Показать регистры
- S – Область памяти сохранения
- T – Передача области памяти
- X – Выход из монитора
- @ — команда диска
- # – Преобразовать в шестнадцатеричный формат
- $ – конвертировать в десятичное число
- *r – прочитать блок с дискеты
- *w – Записать блок на дискету
Разные функции
[ редактировать ]- Автоматическая загрузка — может загружать и запускать файл при перезагрузке или включении питания.
- Пользовательские цвета экрана: цвета синего экрана по умолчанию можно изменить.
- Установите для переменной TI$ BASIC правильное время при сбросе.
- Отображает начальный и конечный адрес загрузки.
- Специальное расширение для массового чтения и записи данных файлов.
ИДЕДОС 0.90
[ редактировать ]Это текущая стабильная версия, последняя версия 20100509 (патч 45). Наиболее заметные отличия от 0,89:
- Файловая система CFS 0.11 позволяет осуществлять поиск и относительные файлы, поддерживает LBA и секционирование.
- Синтаксис, совместимый с CMD, для обработки пути и команд канала 15.
- Улучшенный протокол PCLink, позволяющий использовать Ethernet и USB.
- Монитор, который работает как морозильник и работает намного быстрее.
- Более мощный файловый менеджер с поддержкой устройств CMD.
- Команды клина DOS
- Программируемые функциональные клавиши
- Поддержка расширения BASIC для устройств, отличных от IDEDOS.
- Поддержка дополнительных устройств до 4 дисков ATA(PI), поддержка ZIP и LS-120.
- Поддержка картриджей V4.1, линейная передача чтения/записи для дополнительной скорости.
- Батарею на картридже IDE64 теперь можно заменить на суперкап.
Поддержка устройств
[ редактировать ]- 4 устройства ATA(PI): жесткий диск, CompactFlash, CDROM, DVD, LS-120, ZIP-накопитель.
- USB-карты Duart/SwiftLink/Turbo232/SilverSurfer RS-232, RR-Net/ETFE/ETH64 Ethernet, FT245 для PCLink
- Суперпроцессор v2
- Дополнительная поддержка дисков JiffyDOS/DolphinDOS.
Файловая система
[ редактировать ]- Пользовательская файловая система под названием CFS 0.11.
- До 128 ГиБ, адресация CHS/LBA, до 16 разделов
- 16-значные имена файлов.
- Настраиваемые 3-символьные типы файлов.
- Поддерживаются каталоги и программные ссылки.
- Поддерживаются относительные файлы.
- Поддерживается отметка времени.
- Файлы до 4 ГиБ, с возможностью поиска
- Файловая система ISO 9660 , частичная поддержка OFS 0.02.
- FAT12/16/32 медленная поддержка коротких имен файлов только для чтения с таблицами разделов в стиле DOS
Быстрая загрузка
[ редактировать ]Поддерживаемые устройства:
- МУП 1541/1571/1581
- Любой диск с протоколом JiffyDOS ( CMD FD )
- Дополнительная поддержка DolphinDOS
Поддержка устройства определяется автоматически, но при необходимости ее можно отключить вручную. Синхронизация, совместимая с PAL/NTSC. Быстрая заставка только в файловом менеджере.
ПКЛинк
[ редактировать ]Пользовательский протокол, только последовательный доступ. Поддерживаемые устройства:
- Последовательная шина МЭК
- Параллельный кабель PC64
- Дуарт, SwiftLink, Turbo232 RS-232
- RR-Net, ETFE, ETH64 Ethernet
- FT245 USB
Экран настройки
[ редактировать ]- Часы с календарем
- Конфигурация и переназначение номера устройства
- Цвета экрана, менеджера и монитора
- Различные настройки (автозагрузка, быстрый загрузчик с дискеты, базовые часы (TI$))
- Настройки устройства ATA(PI) (управление питанием, повторная запись, упреждающее чтение и кэш записи, максимальное линейное чтение/запись)
DOS клин
[ редактировать ]В основном это хорошо известные стандартные команды DOS .
- @ – команда DOS
- @$ – Каталог
- @# – Выбор устройства
- / – Загрузить программу BASIC
- % — Загрузить программу сборки
- ' – Проверка программы сборки
- ↑ – Загрузить программу BASIC и выполнить
- ← — Сохранить программу BASIC
- £ – Загрузка и выполнение ассемблерной программы
- . – Сменить каталог
- # — выполнить оболочку
БАЗОВЫЕ расширения
[ редактировать ]Расширение BASIC добавляет команды обработки диска, которые можно использовать с любым устройством, поскольку они используют команды в стиле CMD.
- CD – изменить рабочий каталог
- CDOPEN – открыть лоток для CDROM.
- CDCLOSE – закрыть лоток для компакт-дисков.
- ИЗМЕНИТЬ – изменить номер устройства.
- ДАТА – печать даты и времени
- DEF – переопределить функциональные клавиши
- DIR – обычный список каталогов
- HDINIT – повторное обнаружение IDE-устройств.
- INIT – инициализировать память
- KILL – отключить патрон
- КИЛНЬЮ – обновить
- LL – длинный список каталогов с отметками времени и размером файла в байтах.
- MAN – запустить файловый менеджер
- MKDIR – создать каталог
- РМ – удалить файл
- RMDIR – удалить каталог
Файловый менеджер
[ редактировать ]Вдохновением для файловых менеджеров послужила версия 0.89, хотя она была переписана с нуля. Целью было создать файловый менеджер, который не только поддерживает устройства IDEDOS, но также хорошо работает с CMD и другими дисками.
Монитор
[ редактировать ]Монитор был переписан с нуля, основным источником вдохновения послужил монитор эмулятора CCS64, но некоторые идеи команд были взяты из мониторов FC3/AR7/Vice. Цель заключалась в том, чтобы иметь стиль заморозки (все регистры, включая ввод-вывод, редактируемые) и быстрый монитор машинного кода, который поддерживает недопустимые коды операций 6502 и режима эмуляции SuperCPU.
Команды:
- @ — команда диска, статус и каталог.
- А – собрать
- B – Конфигурация памяти, выберите RAM/ROM.
- БТ – обратная трассировка
- C – Сравнить память
- Д – Разобрать
- , – Записать шестнадцатеричные данные в память и дизассемблировать
- EC – Редактировать символ (двоичный)
- [ – Запись двоичных данных в память
- ES – Редактировать спрайт (двоичный)
- ] – Запись двоичных данных спрайта в память.
- F – Заполнить память байтом
- G – Выполнить по адресу
- H – Поиск в шестнадцатеричном/любом/тексте
- I – Дамп памяти в PETSCII
- ' – Записать данные PETSCII в память
- IO — дамп регистров ввода-вывода
- - – Запись шестнадцатеричных данных в память ввода/вывода
- IV – Восстановление векторов ввода-вывода
- J – Дамп памяти в экранном коде
- . – Запись данных кода экрана в память
- К – Разморозить память
- L – Загрузить программу
- LB – загрузить двоичный файл
- M — дамп памяти в шестнадцатеричном формате и PETSCII.
- : – Запись шестнадцатеричных данных или данных PETSCII в память.
- N – преобразование чисел и калькулятор
- O – Выбор рабочего диска
- R – Показать регистры
- ; – Изменение регистров
- S – Заморозить память/сохранить программу
- SB – сохранить двоичный файл
- Т – Копировать память
- V – Verify program
- VB – проверка двоичного файла
- X – Продолжить программу
- Q – Выход из режима горячего запуска BASIC
- ←/↑ – Нажмите и извлеките адрес(а) в стек.
Разные функции
[ редактировать ]- Автоматическая загрузка — может загружать и запускать файл при перезагрузке или включении питания.
- Пользовательские цвета экрана, монитора и менеджера — цвета по умолчанию можно изменить.
- Установите для переменной TI$ BASIC правильное время при сбросе.
- Отображает начальный и конечный адрес загрузки/сохранения.
- Специальное расширение для массового чтения и записи данных файлов.
- Поддержка клавиатуры C128 в режиме C64
- Специальные команды для работы с приводами CDROM
- Чтение необработанного каталога
- Длинные списки каталогов в стиле CMD с метками времени
ИДЕДОС 0.91 бета
[ редактировать ]Это все еще находится в разработке. Наиболее заметные отличия от 0,90:
- Поддержка OFS 0.02 удалена.
- Защищенные процедуры BASIC, последовательного порта и PCLink.
- F-клавиши работают с прерываниями
- Чтение ($DEF4) работает ниже ввода-вывода.
- Программы автозапуска теперь работают с устройствами IEC
- Нагрузка PCLink ниже ввода-вывода
- Поддержка SilverSurfer PCLink, PCLink опционально
- Чтение файловой системы FAT ($DEF4) и загрузка
- Комбинированные разделы CFS и FAT, поддержка файловой системы каждого раздела.
- Список разделов для FAT и ISO9660
- Динамическое перечисление дисков, обнаружение PCLink
- Поддержка чтения ($DEF4) и записи ($DEF1) для изменяемых файлов.
- Обновление временной метки только в случае изменения
- Поиск, изменение и добавление файлов в PCLink
- Изменения протокола PCLink
- Индикатор активности PCLink
- Относительная поддержка файлов потеряна. [1]
Ссылки
[ редактировать ]- IDEDOS 0.91 бета http://singularcrew.hu/idedos/beta/
- IDEDOS 0.90 http://singularcrew.hu/idedos/IDE64_users_guide.pdf
- IDEDOS 0.89 http://www.volny.cz/dundera/manual.html