Dec 09, 2022 10:16
Короче, сел я и думаю, надо бы что-то сделать. И запустил WindowsXP в виртуальной машине, начал писать код. Написал кода так, чтобы он смог с бутсектора запускать программу размером не более чем 32Кб. Это сделано специально для понта и в принципе, ничего более не означает. Суть такая, что после бут-сектора есть определенная область памяти на 1Мб, и там вот, начиная со второго сектора, находится 32Кб программы-стартера, которая просто ничего не делает особенного, ну разве что только запускает дальше код.
У меня есть одна дурацкая идея. Сделать программу, которая работает в защищенном режиме, но в этой программе есть режим эмуляции процессора x86! Как тебе такое, Илон Маск? Причем, можно даже сделать так, чтобы из под дешевого нетбука, который поддерживает только инструкции i386, запускались еще и программы, которые могут работать с x86-64. Норм? Не думаю. Почему? Потому что не смогу сделать это.
Но что я хочу тогда сделать? Да есть у меня одна реально давняя проблема, начиная с лет 16-17 я начал создавать разные программы, которые пытались работать в защищенном режиме, но ничего у меня никак до конца не доделано постоянно и вот, зная себя, что я никогда ничего не доделаю, я просто начал снова делать новую итерацию программ в защищенном режиме.
Как и обычно, разрешение экрана будет банально, 640 x 480, как и всегда. Причем еще и 16 цветов, чтобы жизнь была веселее. Что в этом системе вообще будет? Да ничего такого. Я просто хочу сделать имитацию графического режима пользователя, да и все. Ну, мышка будет, конечно же, в bochs все будет запускаться. Может и на нетбуке проверю. Будет ли поддержка дисков? Очень стрёмный вопрос. Не знаю я, как они работают, более современные диски. Писать на чем буду -- как и всегда, на ассемблере. Я всё никак эту эпопею с ассемблером никак не завершу, на самом то деле. Нравится мне на нем писать, хоть и жутко трудно это делать.
Еще вот сегодня я подумал сделать на верилоге код, чтобы выдавался экран 640x400 на 1440x900 дисплее. Просто, там точки размытые, а тут, если напишу, точки будут довольно-таки четкие. Что я хочу сделать? Просто, текстовый дисплей, не более того. Точки будут 2x2, то есть 1280 x 800. Именно так. В общем, получается, что будет некий бордер. Зато пиксели будут четкими! Есть еще вариант такой, масштабировать на экран так, чтобы через каждый 8-й пиксель было удвоение. То есть, 1440 / 1280 = 1.125, а также 900 / 800 = 1.125. Это, конечно, круто, да, только будет заметно это удвоение пикселей и будет неприятно смотреться, на самом деле. Знакоместо займет 9 по ширине и 18 по высоте. Жесть полная, я скажу так, хоть и не лишено смысла.
Разработка,
Дневник