|
FCOS |
В этой части содержатся следующие параграфы книги: установка FCOS ( ), комплект поставки FCOS; устройство книги, краткое содержание книги, метод анализа данных и процедур.
1.1.6.
Установка FCOS. Реалии и перспективы.FCOS инсталлируется в любую директорию любого логического раздела MS-DOS. Запуск FCOS должен производится при минимальном количестве загруженных драйверов MS-DOS, т.к. может возникнуть конфликт при работе с верхней памятью. FCOS пока не имеет собственной файловой системы, поэтому вся работа с дисковыми устройствами производится в файловой среде MS-DOS (используя V86).
В следующих версиях
FCOS планируется создание собственной (оригинальной) файловой системы и поддержка дисковых устройств на низком уровне в тридцатидвухбитном режиме (в обход MS-DOS и BIOS). Это позволит ускорить работу с файлами и добавить новые возможности: длинные имена файлов, защита файлов (аналогично UNIX), экономное использование дискового пространства, запуск FCOS при перезагрузке компьютера без предварительной загрузки MS-DOS. Не смотря на это, будет сохранена совместимость с системой MS-DOS из-за наличия большого количества драйверов под эту систему.FCOS функционирует только в графическом режиме, что накладывает сильные требования на видеоадаптер. Стандартный графический режим FCOS — 800x600 pix, 256 цветов из палитры 262144 цвета. Непосредственно (в обход стандарта VESA SVGA в 16-разрядном BIOS) FCOS поддерживает очень ограниченное число видеоадаптеров (Intel 740, ...), но поставка осуществляется с универсальным драйвером, который работает по стандарту VESA в режиме V86. Если Ваш видеоадаптер входит в список поддерживаемых FCOS, рекомендуется переключить драйвер на режим прямого доступа к адаптеру, т.к. это увеличивает быстродействие всех операций с графикой. В дальнейшем FCOS будет непосредственно поддерживать большее количество видеоадаптеров.
Дистрибутивный пакет включает три файла MS-DOS. Скопируйте их в каталог MS-DOS, в котором планируется разместить систему (например: “D:\FCOS”) и запустите “Install.bat”. Инсталлятор распакует всю систему (коды и исходные тексты) и несколько стандартных приложений в текущий каталог и самоуничтожится. Инсталлятор не вносит исправлений в “config.sys” и “autoexec.bat”, поэтому пользователю самому придётся создавать удобное меню загрузки и проводить манипуляции с драйверами MS-DOS. Пример файлов “config.sys” и “autoexec.bat” см. в каталоге “\DOCUM\”.
FCOS может запускаться в “чистом” MS-DOS, т.е в обход “config.sys” и “autoexec.bat”, но надо перевести линию A20 на управление FCOS. По умолчанию (при первой загрузке) используется универсальный драйвер XMS, который находится в файле “himem.sys”. Если глобальная переменная fGateA20 равна нулю, используется драйвер XMS, если она равна единице, управление линией A20 происходит через порты ввода-вывода (под управлением FCOS). Значение переменной fGateA20 можно изменить в файле “variable.run”.
Если при загрузке FCOS произошла фатальная ошибка, система выдаёт информационное окно с причиной ошибки, а затем, после нажатия на любую клавишу, возвращается в DOS. При нормальном завершении работы FCOS выдаёт то же самое информационное окно с сообщением “№00 Normal Shutdoun”. После нормального выхода из FCOS допустим повторный вход в систему.
1.1.7.
Комплект поставки FCOS.—
Дистрибутивный пакет (Каталог INSTALL\*.*).Install.bat –
Пакетный файл инсталляции._install.dat –
RAR–архив._install.exe –
Архиватор RAR v2.00.—
Резидент FCOS (Каталог ..\FCOS\*.*).fcos.exe –
Запуск операционной системы (через MS-DOS).mouseini.dat –
Инициализатор COM1 порта.palitra.dat –
Системная палитра FCOS (256 цветов).sicofile.dat –
Таблица косинусов и синусов на 1024 угла.terminal.fnt –
Шрифт 8x12 pix для текста.decorat.fnt –
Шрифт 8x12 pix для нижней строки рабочего стола (в т.ч. часов).small.fnt –
Шрифт 6x8 pix для текста.tbr_fwcs.ico –
Заставка – фон рабочего стола.mousecur.ico –
Графические шаблоны указателей мыши.wininter.ico –
Маленькие пиктограммы интерфейса окна.fcos_dlt.ico –
Средниие пиктограммы DownLineTaskbar.fcos_suw.ico –
Средниие пиктограммы SetUpWindow.fcos_dlt.ini –
Окна и пиктограммы DownLineTaskbar.fcos_suw.ini –
Окна и пиктограммы SetUpWindow.—
Приложение FCOS Desk Top (Каталог ..\FCOS\*.*).fpg.fca –
Запускаемый модуль рабочего стола.fpg.ini –
Данные об окнах и пиктограммах рабочего стола.fpg.ico –
Большие пиктограммы рабочего стола.—
Приложение Fwcs Virtual Reality (Каталог ..\FCOS\*.*).fvr.fca –
Запускаемый модуль приложения.fvr.ini –
Данные об окнах и пиктограммах приложения.fvr.ico –
Средние пиктограммы для меню приложения.fvr.hlp –
Текстовый файл подсказки.fvr.fvr –
Пример сценария для рендеринга.vrl.hlp –
Справочник по Virtual Reality Language.—
Приложение Fwcs Miner Game (Каталог ..\FCOS\*.*).fmg.fca –
Запускаемый модуль приложения.fmg.ini –
Данные об окнах и пиктограммах приложения.fmg.ico –
Средние пиктограммы для меню приложения.fmg_fiel.ico –
Графика блоков игрового поля.fmg.hlp –
Текстовый файл подсказки.—
Приложение Fwcs Tetris Game (Каталог ..\FCOS\*.*).ftg.fca –
Запускаемый модуль приложения.ftg.ini –
Данные об окнах и пиктограммах приложения.ftg.ico –
Средние пиктограммы для меню приложения.ftg.hlp –
Текстовый файл подсказки.ftg.rec –
Рекордное количество очков.—
Приложение Fwcs Population Game (Каталог ..\FCOS\*.*).fpg.fca –
Запускаемый модуль приложения.fpg.ini –
Данные об окнах и пиктограммах приложения.fpg.ico –
Средние пиктограммы для меню приложения.fpg.hlp –
Текстовый файл подсказки.—
Компиляторы приложений (Каталог ..\TASM\*.*).tasmx.exe –
Turbo Assembler v5.1.tlink.exe –
Turbo Linker v3.1.dpmiload.exe –
Загрузчик для tasmx и tlink.dpmimem.dll –
Динамическая библиотека для tasmx и tlink.—
Полная коллекция пиктограмм (*.TGA) (Каталог ..\PICTOGR\*.*).SML\*.* –
Маленькие пиктограммы.BIG\*.* –
Пиктограммы рабочего стола.FILE\*.* –
Работа с файлами.GAME\*.* –
Блоки игрового поля FMG.GRAPH\*.* –
Работа с графикой.MEDIA\*.* –
Мультимедиа (видео, звук).MENU\*.* –
Стандартное меню.SETUP\*.* –
Настройки.TASK\*.* –
Работа с задачами.—
Программы конвертации (FCOS, MS-DOS, Windows) (Каталог ..\CONVERT\*.*).bmptoico.exe –
Преобразователь графики BMP=>ICO.tgatoico.exe –
Преобразователь графики TGA=>ICO.icototga.exe –
Преобразователь графики ICO=>TGA.palitra.dat –
Системная палитра FCOS (256 цветов).bk_paper.bat –
Пакетный файл компиляции заставки.dostowin.exe –
Преобразователь текста MS-DOS=>Windows.wintodos.exe –
Преобразователь текста Windows=>MS-DOS.—
Сборощики пиктограмм (Каталог ..\ICOBUILD\*.*).FCOS_WIN\ –
Интерфейсные пиктограммы окна.wind_ico.bat –
Преобразование TGA=>ICO и вызов сборки.winbgico.cpp –
Сборка пиктограмм в один большой ICO.FCOS_FDT\ –
Пиктограммы рабочего стола.FCOS_DLT\ –
Пиктограммы DownLineTaskbar.FCOS_SUW\ –
Пиктограммы SetUpWindow.FCOS_FDT\ –
Пиктограммы рабочего стола.PICT_FVR\ –
Пиктограммы Fwcs Virtual Reality.PICT_FTG\ –
Пиктограммы Fwcs Tetris Game.PICT_FMG\ –
Пиктограммы и блоки игрового поля Fwcs Miner Game.PICT_FPG\ –
Пиктограммы Fwcs Population Game.—
Тексты компонентов ядра FCOS (Каталог ..\SUPPORT\*.*).mousecur.cpp –
Генератор указателей мыши.terminal.cpp –
Генератор текстового шрифта 8x12.decorat.cpp –
Генератор шрифта 8x12 для нижней строки.sicofile.cpp –
Генератор таблицы синусов и косинусов.bmptoico.cpp –
Текст преобразователя графики BMP=>ICO.tgatoico.cpp –
Текст преобразователя графики TGA=>ICO.icototga.cpp –
Текст преобразователя графики ICO=>TGA.dostowin.cpp –
Текст преобразователя текста MS-DOS=>Windows.wintodos.cpp –
Текст преобразователя текста Windows=>MS-DOS.palitra.asm –
Формирователь системной палитры FCOS.palicmpl.bat –
Пакетный файл компиляции палитры.dlt_ini.asm –
Формирователь окон и пикт. DownLineTaskbar.dlticmpl.bat –
Пакетный файл компиляции dlt_ini.asm.suw_ini.asm –
Формирователь окон и пикт. SetUpWindow.suwicmpl.bat –
Пакетный файл компиляции suw_ini.asm.—
Тексты ядра FCOS (Каталог ..\LISTFCOS\*.*).fcos.asm –
Основной файл для компиляции FCOS.fcoscnst.inc –
Константы EQU для FCOS и Applications.fcostruc.inc –
Описание структур FCOS и Applications.fcosmacr.inc –
Макросы для FCOS и Applications.fcosdata.inc –
Сегменты данных и стека.fcosdscr.inc –
Данные дескрипторов сегментов.fcosbase.inc –
Общие процедуры и инициализаторы.fcoskrnl.inc –
Обслуживание многозадачности и HSV.fcosintr.inc –
Обработка аппаратных прерываний.fcos_v86.inc –
Подпрограммы Виртуального Режима V86.fcosdbgr.inc –
Отладчик FCOS и Applications.fcosmemo.inc –
Работа с верхней памятью.fcosgraf.inc –
Процедуры работы с графикой.fcosfile.inc –
Работа с файлами (32 бит).fcoskeyb.inc –
Работа с клавиатурой.fcosmous.inc –
Процедуры работы с мышью.fcosmusc.inc –
Работа с PC-Speaker.fcosmath.inc –
Работа с математикой (coprocessor, vector, matrix, ...).fcoswnct.inc –
Распознавание и обработка областей окна.fcoswind.inc –
Процедуры работы с окнами.fcospict.inc –
Работа с пиктограммами.fcostext.inc –
Процедуры работы с текстом.fcos_dlt.inc –
Работа с DownLineTaskbar.fcossyst.inc –
Работа с System Window и его подокнами.fcosstuw.inc –
Работа с SetUpWindow и его подокнами.fcoscmpl.bat –
Пакетный файл компиляции ядра FCOS.fcoscmpl.pif –
Ярлык для пакетного файла компиляции ядра FCOS.—
Тексты преобразователей EXE=>FCA (Каталог ..\APPLIC\*.*).fcosappl.inc –
Общая часть – основные коды преобразователя.fdt_appl.asm –
FCOS Desk Top.fvr_appl.asm –
Fwcs Virtual Reality.ftg_appl.asm –
Fwcs Tetris Game.fmg_appl.asm –
Fwcs Miner Game.fpg_appl.asm –
Fwcs Population Game.—
Тексты приложения FDT (Каталог ..\LIST_FDT\*.*).fdt.asm –
Реализация FCOS интерфейса.fdt_ini.asm –
Заполнение структур окон и пиктограмм.fdt_cnst.inc –
Константы.fdtstruc.inc –
Описание структур.fdt_data.inc –
Сегменты данных и стека.fdt_code.inc –
Основные процедуры.fdt_cmpl.bat –
Пакетный файл компиляции приложения.fdt_cmpl.pif –
Ярлык для пакетного файла компиляции приложения.fdt_ini.asm –
Заполнение структур окон и пиктограмм.fdticmpl.bat –
Пакетный файл заполнения структур.—
Тексты приложения FVR (Каталог ..\LIST_FVR\*.*).fvr.asm –
Реализация FCOS интерфейса.fvr_cnst.inc –
Константы.fvrstruc.inc –
Описание структур.fvr_data.inc –
Сегменты данных и стека.fvr_code.inc –
Основные процедуры.fvr_tras.inc –
Трассировка лучей.fvr_pixl.inc –
Цвета и пиксели.fvr_cmpl.bat –
Пакетный файл компиляции приложения.fvr_cmpl.pif –
Ярлык для пакетного файла компиляции приложения.fvr_ini.asm –
Заполнение структур окон и пиктограмм.fvricmpl.bat –
Пакетный файл заполнения структур.—
Тексты приложения FTG (Каталог ..\LIST_FTG\*.*).ftg.asm –
Реализация FCOS интерфейса.ftg_cnst.inc –
Константы.ftgstruc.inc –
Описание структур.ftg_data.inc –
Сегменты данных и стека.ftg_code.inc –
Основные процедуры.ftg_cmpl.bat –
Пакетный файл компиляции приложения.ftg_cmpl.pif –
Ярлык для пакетного файла компиляции приложения.ftg_ini.asm –
Заполнение структур окон и пиктограмм.ftgicmpl.bat –
Пакетный файл заполнения структур.—
Тексты приложения FMG (Каталог ..\LIST_FMG\*.*).fmg.asm –
Реализация FCOS интерфейса.fmg_cnst.inc –
Константы.fmgstruc.inc –
Описание структур.fmg_data.inc –
Сегменты данных и стека.fmg_code.inc –
Основные процедуры.fmg_cmpl.bat –
Пакетный файл компиляции приложения.fmg_cmpl.pif –
Ярлык для пакетного файла компиляции приложения.fmg_ini.asm –
Заполнение структур окон и пиктограмм.fmgicmpl.bat –
Пакетный файл заполнения структур.—
Тексты приложения FPG (Каталог ..\LIST_FPG\*.*).fpg.asm –
Реализация FCOS интерфейса.fpg_cnst.inc –
Константы.fpgstruc.inc –
Описание структур.fpg_data.inc –
Сегменты данных и стека.fpg_code.inc –
Основные процедуры.fpg_cmpl.bat –
Пакетный файл компиляции приложения.fpg_cmpl.pif –
Ярлык для пакетного файла компиляции приложения.fpg_ini.asm –
Заполнение структур окон и пиктограмм.fpgicmpl.bat –
Пакетный файл заполнения структур.
1.2. Устройство
книги.
1.2.1.
Общая информация.Книга составлена так, чтобы и пользователю, и программисту было легко найти интересующую его информацию. Материал разбит на части, главы и пункты, которые обозначаются соответственно одной, двумя и тремя цифрами.
1.2.2.
Краткое содержание книги.Первая часть представляет собой обзор терминов и понятий, используемых в FCOS; описаны основные алгоритмы работы системы; перечислены и прокомментированы переменные и константы FCOS (в составе которых — синонимы функций HSV, которые приводятся с кратким описанием соответствующих функций). В этой части так же имеется информация о комплекте поставки FCOS, аппаратные и программные требования.
Во второй части производится подробный анализ процедур FCOS с построчными и поблочными комментариями. Уделяется особое внимание описанию аргументов процедур, а так же взаимодействию процедур между собой. Кроме функций ядра описываются и вспомогательные процедуры (на ассемблере и C++).
В третьей части комментируется процесс создания приложения
FCOS на примере “Fwcs Virtual Reality”. Здесь же подробно рассмотрены методы подготовки файлов инициализации и других данных задачи. FVR была выбрана для рассмотрения, т.к. эта система задействует практически все ресурсы FCOS, поэтому, изучив организацию FVR, программист сможет самостоятельно создавать свои приложения, используя все возможности FCOS.В четвёртой части
описывается построение драйверов гиперсупервизора, виртуальных и физических устройств. Более подробно раскрываются алгоритмы взаимодействия компонентов трёхуровневой системы драйверов. В этой же части расписаны вспомогательные программы, необходимые для создания FCOS, приложений, драйверов, пиктограмм, указателей, а так же осуществляющие конвертацию данных из форматов MS-DOS и WINDOWS в форматы FCOS.Пятая часть – руководство пользователя по работе в системе FCOS. Рассматривается оконный интерфейс с точки зрения пользователя. Приводятся полезные приёмы работы в среде FCOS.
1.2.3.
Метод анализа данных и процедур.Начиная с главы
1.4. , будут подробно рассматриваться все текстовые модули ядра FCOS (они перечислены в предыдующей главе, п.1.1.7.). Читателю будет предложен листинг этих модулей. Каждый информационный объект (модуль, процедура, команда) снабжается подробными комментариями.При рассмотрении функций особое внимание обращается на входные и выходные данные, а так же даются рекомендации по оптимальному использованию функций HSV.