зацените бессонную ночь проектик при компиляции фасмом генерирует загружаемый образ с фат12 и включенными сущ. файлами. поддиректории не генерятся, все макс. упрощено, но может оказаться полезным. успехов! _710631536__boot_fat.5.zip
Очень хорошо для штамповки под CD-ROM. А вот, когда выспишься добавишь возможность в корне иметь свою директорию? Это к тому, что у меня существует, например, унифицированный подход и однозначность в загрузке, плюс различение версий "оси" по расширению каталога. Выглядит так. A:\ATOMOS.000\xxx.xxx или C:\ATOMOS.000\xxx.xxx xxxxx.001\xxx.xxx xxxxx.002\xxx.xxx ......... Загрузчик может грузить ближайший в корне каталог от начала, таким образом можно селектировать... ну пусть не версии УЖЕ оси, а её билдов, черновиков, смотреть поведение, различия... Плюс еще тут и в том, что если используется мультибут на машине, то вообще песня выбора без мороки с бутами, постоянными образами. Короче пожелание добавить в корне папочку, хотябы без вложений, для "полной цивилизации диска", а то ведь все в корень сливать негуманно как то
не... не добавлю я ведь просто игрался но эта идейка у меня давно сидела. хотя добавить можно, но это нужно с начала разобраться - мож, там и не сложно вообще. с другой стороны в таком образе легко менять некоторые параметры, типа, уменьшить число входов в корневом каталоге, за счет чего увеличить пространство, а можно и... много чего - развивать есть куда. просто у меня нет опыта в разработке таких вещей, чтобы обещать это сделать, тем более быстро
Ничего сложного вообщем то нет и кто писал или пишет для железа, рыл и роет структуры FATа, штудирует диски, тот и сам добавит, просто "игра" перейдет в действительную полезняшку для OCдевщиков, особенно начинающих, наверное. Да и потом это некая почва пытливым, кто начитавшись доки, сам с помощью этого "шаблона", так сказать виртуально создает образы дисков самым наглядным образом, видит, что, где и куда... Хард-медицина, под новым углом зрения! От имени ОСдева, большое спасибо, за новизну! > Успехов!
так, с бугами разобрался, теперь не только выглядит, но и под впс читается. (ох уж и зараза эта фат12!) 756067665__boot_fat.8.zip
Вот пара загрузочных секторов, которые ищут файл с заданным именем в корневых каталогах всех FAT32 дисков. В начале проверяются устройства на первом(1F0) канале, затем на втором(170). Cначала master потом slave. Логические диски просматриваются в том порядке, в котором они описаны в таблице разделов. Если запись ссылается на расширенный раздел, то вначале обрабатываются все диски, находящиеся в нём. boot16 перемещается в первые 4К памяти и может загрузить образ до 636К размером. Возможен его запуск из ДОСа(прерывания только нужно сразу же запретить). boot никуда не перемещается, но работает в защищенном режиме, поэтому может загрузить файл любого размера. 1367406962__pmboot32.zip
Исправил пару багов. При передаче управления в eax адрес процедуры read_cluster, а в ebx номер первого кластера корневого каталога. Для запуска скопировать kernel.bin(выводит первые 125 имён из корневого каталога) в корневой каталог любого FAT32 диска, а bootpm.bin добавить в boot.ini.
Теперь загрузочный сектор поддерживает поиск файла в каталоге первого уровня. Читает информацию с винта через порты. На больших винтах, в случае если искомый файл не будет обнаружен в первых 128Гб, скорее всего повиснет. Если кто желает посмотреть как он работает, распакуйте содержимое в каталог \bootdemo на любой FAT32 диск, и добавьте ссылку на файл boot.bin в boot.ini. Boot.bin должен найти файл kernel.bin а он должен вывести содержимое каталога, из которого его загрузили. (вся работа производится в защищенном режиме) PS: принимаются предложения по оптимизации 8) _276003418__bootdemo.zip
fasm может не только создавать образы дискет, но так же извлекать из них файлы: unpack.bat e disk.img 1189450881__unpack.bat