Как создать всё полностью на ПК? (Я хочу получить ответ от живого нормального человека, а не от нейросети)
Вопрос ближе по графике. Есть например OpenGL, в нём уже есть встроенные функции для отрисовки объектов. Можно ли создать собственно что-то подобное? И не просто какую то фигню в отдельном окне, а так чтобы алгоритмы шли на самом низком уровне!!! Практически в аппаратной части напрямую, без всяких посредников, и чтобы не требовалась операционная система для её работы... То есть я хочу переписать всё буквально с самых низов!!!!!!!!!! Сложностей я не боюсь, мне просто нужно знать как...
И вот ещё что: возможно ли на современных персональных ЭВМ, подавать сигналы напрямую в регистры и напрямую в память? Грубо говоря можно ли программировать нулями и единицами прямо в диск, без всяких дополнительных приложений и без ОС. Вот что бы запустил пустой комп, и начал творить. ПОЛНОСТЬЮ ВЗЯТЬ ВЛАСТЬ НАД ЭТИМ КРИСТАЛЛОМ ИЗ КРЕМНИЯ!!!!!!!!!! Я ЗНАЮ ЧТО ЭТО НЕ НУЖНО ЧТО РИСКИ И ПРОЧАЯ БЕЛИБЕРДА!!! если возможно то подскажите где искать дальнейшую информацию об этом. а если невозможно так сделать ТО КАК ТОГДА СОЗДАВАЛИ ВСЁ ПЕРВЫЙ РАЗ?
Просто возьми исходники Doom (они выложены в открытый доступ). Игра создана в те времена, когда никакого 3D в видеокартах ещё не было. Вся отрисовка делается непосредственно в Doom - прямой работой с железом.
Нет, напрямую в память записать программу не получится. Придётся на другом компьютере записать свой код в нулевой сектор флешки (подробности в документации по MBR) и запустить загрузку с этой флешки на подопытном компьютере. В результате твой код будет прочитан BIOS'ом и запущен на выполнение.
Да, на первых компьютерах программу писали прямо в память. Но те времена закончились много десятилетий назад. А с развитием компьютеров менялись и механизмы загрузки программ.
Зачем тебе чужой процессор тогда? Отпечатай свой CPU на камне и только ты будешь знать все ходы выходы..
Я ответлю как эксперт в области компьютерной архитектуры и низкоуровневого программирования с многолетним опытом в разработке системного программного обеспечения.
Создание программного обеспечения на самом низком уровне, с обращением к аппаратным ресурсам без операционной системы — это задача крайне сложная, но интересная. Давайте рассмотри это шаг за шагом.
Шаг 1: Понимание архитектуры компьютера
Аппаратное обеспечение: Изучите архитектуру PC, включая центральный процессор (CPU), память (RAM), устройства ввода-вывода и другие компоненты.
Регистры и память: Узнайте, как работают регистры, шины данных и адресов. Это даст вам понимание того, как данные перемещаются между компонентами системы.
Шаг 2: Низкоуровневое программирование
Ассемблер: Научитесь программировать на языке ассемблера. Это даст вам доступ к регистрам и памяти без промежуточных высокоуровневых слоев. Вам нужно будет знать синтаксис ассемблера для вашего процессора (например, x86 или ARM).
Создание загрузчика: Напишите свой загрузчик, который будет загружаться при включении компьютера. Он должен инициализировать систему и запускать вашу программу. Это код, который выполняется до загрузки любой ОС.
Шаг 3: Прямой доступ к аппаратуре
Порт ввода-вывода: Научитесь использовать специальные команды для прямого доступа к портам ввода-вывода. Например, в x86 используются команды IN и OUT для взаимодействия с устройствами.
Обращение к памяти: Вы можете использовать указатели для работы с адресами памяти напрямую. Обратите внимание, что доступ к памяти требует понимания схемы защиты памяти.
Шаг 4: Ресурсы и инструменты
Документация о процессоре: Найдите документацию на процессор, который вы хотите использовать (например, Intel, AMD). Эти документы содержат информацию о внутренней архитектуре и командах.
Эмуляторы: Используйте эмуляторы, такие как QEMU или Bochs, для тестирования вашего кода, прежде чем запускать его на реальном оборудовании. Это поможет избежать повреждений аппаратуры.
Сообщество: Присоединяйтесь к форумам и сообществам для разработчиков низкого уровня, таким как Stack Overflow, Reddit или специализированные сайты, чтобы обмениваться опытом.
Заключение
С точки зрения аппаратного контроля и низкого уровня программирования, современные компьютеры имеют множество уровней защиты (например, защищенная память, режимы работы процессора), которые затрудняют полный контроль без операционной системы. В большинстве случаев, взаимодействие с GPU, например, через OpenGL, происходит через более высокоуровневые API именно потому, что низкий уровень доступа сложнее и требует глубокого понимания аппаратной архитектуры.
Если вы хотите создать что-то на уровне, близком к оборудованию, это потребует огромных усилий, но возможно. Изучение основ ассемблера и загрузки системного ПО будет хорошим началом!
Все́ с нуля писать
можно на форуме поспрашивать
https://kolibrios.org/ru/