|
Начало » Блог создания немизиды
Сегодня я добавил ядерную функцию немизиды, пожалуй, одну из основных ;) : запуск програм. Теперь под немизиду можно писать программы =)!!! Для того что бы запустить программу нужно просто написать ее название, пока, что только большими буквами :)... позже что-то подумаеш. Поскольку файловая система FAT12 записывать файлы можно из-под выни. Кстати скоро выйдет версия 0.0.1 :)!!! Она небудет супер-пупер осью :D, но уже будет работать более-менее сносно, и вней можно будет что-то делать ;). Еще сегодня был усовершенствован загрузчик немизиды, теперь ядру необязательно быть первым в файловаой системе :). Список функций немизиды я через пару дней выложу. Хочю заметить, что кодить под немизиду намного проще чем под Дос ;). Я делаю все для того, что бы упростить жизнь кодэру =).
|
Ура!!!!!!! Наконецто я раздуплился в чем была проблема... почему не запускался sh3ll на живом компе и вмваре, дело в том, что секстора начинаются с 1, а дорожки и головки с 0, борщю на это пох :), для него не имеет значения с чего начинаются сектора с 0 или с 1... это породило здоровенную багу ;)! когда мне нужно было обратится к 18-ому сектору, 1-ой головки, 0-й дорожки, я обращался к 0-му сектору, 0-ой говолвки, 1-ой дорожки...(весь прикол в том, что дорожки размещаются на дискете(и не только ;)) таким образом: 0-ая дорожка, 0-ая головка; 0-ая дорожка, 1-ая говлока;1-ая дорожка, 0-ая головка; 1 -ая дорожка, 1-ая головка... и т.д.) да наломали дров изобретатели борща... самое интересное, что в версии 2.3 эта бага еще есть!!! я до этого пользовался версией 2.2.1. Вот так, и с этой проблемой справились =)!!!
|
В общем понял я в чем прикол был... не получалось прочитать с дискеты... забавно... борщ читал... вмварь и реальный комп нет... Раздуплился крпаль с защищенным режимом проца =). Теперь немизида будет не 16-ти разрядной, однозадачной, а 32-битной многозадачной =). Только одно плохо, седня узнал, прерывания биоса мне будут не доступны... придется ипатся с портами ввода/вывода... а это геморойно... ладно пох, буду приводить в нормальный вид немизиду, точнее загрузчик програм. В нем щас основаная проблема...
|
Охренеть!!!! Седня запустил немизиду под вмварью... шел не запустился... капец, чо за гониво, он должен был загрузится!!!! в борще загружается... и все в умате пашет... "ну пох..." - подумал я, откопал дискетку, которая в пилы валялась в коробке с дисками, записал на нее образ дискетки, но это было после того, как я записал тоже на сд-рв, загрузился вмварью НИХРЕНА толкового, ни с дискеты, ни с диска... облом в общем :(... потом я решил загрузить комп с дискеты, а потом с диска... РЕЗУЛЬТАТ ТОТ ЖЕ: командный интерпретатор не запускается, сразу после загрузки происходит перезагрузка компа, а на моем компе даже нема вывода сообщений загрузчика и оси :(... буду искать выход...
|
Седня замутил удобную смену цвета текста и фона в консоли... как всегда ядерная фунция... зато теперь себе ненадо рвать жопу и писать юзерское приложение для того, что-бы изменить эти цвета. Смена производится как в виндовой консоли: команда c0ns0le и два параметра, без пробела между ними( c0ns0le 02 - это чорный фон, зеленые буквы(дэфолт :)). Проипался над этим... до хрена в общем часа 2 или больше... хотя это фигня... просто мутится(я так думал ;)). Для начала добавил 2 переменные(угадай для чего :)). Потом написал прерывание для того, что бы оно изменяло (подконтрольно - это основное ;)) те переменные. Щас сижу и думаю: странное у меня ядро выходит... все крутится вокруг консоли... ну ничо... пригодится ;)...
|
Наконецто =)!!! В нашем шеле есть поддержка команды d1r. Уже можно просматривать сожержимое каталога ;). Конечно, это было как всегда геморойно :D, но ни чо прорвемся ;). Были бешеные траблы с выводом, формированием вывода(нужно добавлять перенос на новую строку :)), потом со стэком... из-за одного гона, выводились не переносы на новую строку, а... еще добавлялось левая фигня... это было из-за того, что я забыл ноль поставить после 2-ух переносов :D... Нашол новую "неточность": при нажатии на стрелочки: "вправо","влево","вниз","вверх"; они отображаются :)... надо будет исправить... d1r работает через функции ядра findfirst, которая находит файл, номер которого передается через ecx... кстати, очень неудачно она ищет ;)... это я седня написал тоже, плодовитый день седня, столько сделал :).
|
Капец! Столько траблов с этим бэкспейсом!!! Вчера думал: все в умате, уже пашет :). Так нет же. Если мы напишем сначала:"sdjflsjdjfs;ldjfs;ldjf", а потом все сотрем и напишем команду оболочки "h3lp", к примеру, нужный нам h3lp не выползет... ползет обнадеживающее сообщение "command not found o_O" ... да... охренеть... совсем не то, что мне нужно было... в чем же траблы, думал я чесал репу, и все это в тот момент, когда я реализовывал команду d1r :)... В общем, выкупил я в чем прикол... я не выводил символ бэкспэйса, затирал на экране предыдущий символ... НО я не удалял его из масива :D!!! То есть у меня масив продолжал расти, в нем небыло бэкспэйсов, но из введенных были ВСЕ символы :D... да... кодинг оси не такая простая работа, как казалось ;), но ничо справимся =).
|
И так как всем нам известно современные компьютеры управляютса не менее современными клавиатурами и естественно каждая уважающая себя клавиатура имеет кнопочку Space(прим. 3n3m1: не факт ;)) именуемую в простонародье "Пробелом". Создатель нашей новой оськи знаком с современными компьютерами, более того, он изучил клавиатуру и не смог проигнорировать вспоминаемую выше кнопку. Таким образом до недавнего времени она была наделена функцией стирания символов(прим. 3n3m1: незнаю с чего ты это взял... не была o_O). Но решив что это весьма не маленькой кнопке можно передать другие, более "важные" функции. Ведущий програмист(прим. 3n3m1: и единственный ;)) проэкта "Немезида" решил назначить существующую функцию другой клавише, а именно Backspace, в результате чего она стирала первый символ в строке... всегда(прим. 3n3m1: да было такое :D)! Но и это оказываетса можно одолеть. И так главным событием сегодняшнего дня можно считать назначение кнопки Backspace её новой функции, а именно, стир
...
Читать дальше »
| |
|
Календарь |
« Ноябрь 2024 » | Пн | Вт | Ср | Чт | Пт | Сб | Вс | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
|
|