вот готовый конфиг для загрузки с дискеты (если грузишься из образа - делай соотв. поправки) PS: файл имеет обычный текстовый формат
файл bochsrc.bxrc: megs: 512 floppya: 1_44=A: log: shmdos32.log просто создай файл с таким расширением и копай туда эти три строчки обычным блокнотом
По поводу стека. Естественно в ss нужно записать селектор сегмента данных. Указатель стека esp можно использовать тот же самый при условии, что значение кратно 4, а в старшем слове в RM было нулевое значение. Лично я во время инициализации и в RM, и в PM использую один и тот же стек. Bochs настраивается элементарно. В нем есть пример конфигурационного файла с достаточно подробными комментариями.
В grub компилировать конечный конфиг. файл не нужно. Скрипты используются для генерации конечного конфиг. файла, но его можно не генерировать, а написать вручную.
Real machine Ни и пусть на будущее все равно бочс не выделит ничего лишнего(в отличии от вмво). А вообще я просто взял конфиг моей ОС, там память нужна в частности для отладки GUI, декодирования больших жепегов, etc. Единственный, но очень большой минус бочс - это то, что он крайне медленно работает. Для начальной отладки маленького ядра скорость и не нужна. Да в общем-то и наплевать бы на скорость работы если бы не скорость чтения с диска, у меня ОС со всеми потрохами всего несколько сот килобайт - не дождешься пока загрузится, поэтому и приходится использовать вмво, хотя если уже обработка исключений отлажена, то в большинстве случаев можно и даже лучше отлаживаться из самой ОС ну например писать отдельные автономные функции вывода и переключать видео режим через порты в какой-нить стандартный.
grub использовать для написания своей ОС для интереса на мой взгляд как то странно т.к. он уже по сути содержит в себе мини-ядро, насколько мне известно уже и в PM сам переводит, тогда ядро запускаемой ОС становится далеко не полностью самостоятельным. Хотя конечно можно, да и придется всё поменять (GDT, IDT, etc...), но тогда зачем его использовать?
Слепки памяти труднее просматривать. Про grub согласен, хотя к примеру Линукс его использует без проблем. В принципе grub может грузить и модули реального режима, а также просто бутсекторы. Структурно grub 2 действительно сильно смахивает на ОС. Многие любительские ОС до него не дотягивают. Хотя он однозадачный.
ну я как бы делал таки настройки(всё остальное по умолчнанию): edit options -> Disk options -> boot options -> Boot drive #1 = disk (Hard) 32-bit OS Loader Hack: OS to Load: nullkernel pathname of OS: путь до файла-жесткого диска (у меня ОС сразу на жестком диске, всмысле в файле) pathname of I/O: хз, что это, но написал путь там где оська, только добавил еще под-папку... pathname of initrd: тоже хз, что это ну тоже указал в ту папку... далее вернулся назад и запустил эмуляцию, и ошибка в программе... вылетел что-то я не то указал наверное... подскажите, что я не то сделал З.Ы. мануалы читаю)
друзья! Я встроил одну очень полезную функцию... которая может выводить значения регистров на экран (рисовать их) могу сообщить какими значениями проинициализированы конкретные регистры
Hell_Knight Давайте. Потом научитесь дампы памяти выводить. Но зачем?) В том же qemu это опции эмулятора и он все сам выдает, по команде.