The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Tetris-OS - операционная система для игры в тетрис, opennews (?), 21-Апр-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


84. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (122), 22-Апр-21, 02:12 
> Из бут-сектора дёрнуть int21h?
> Или не имея ещё стека, симулируя его на ROM играми с SP, проинитить чипсет, развернуть себя из ROM в ShadowRAM и работать с регистрами CRT и видеобуфером?

Что-то среднее. Если мы запустились, то память уже есть. А дальше инициализируем GDTR и уходим в защищённый режим.

Из защищённого режима прерывания так просто не подёргаешь. Поэтому там уже издаём звуки и пишем на экран прямой записью в порты и видеопамять.

PS: А зачем вообще симулировать стек? Пока у нас нет прерываний — зачем нам стек?

Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

94. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (93), 22-Апр-21, 09:46 
Кэп намекает что без стэка функцию вызывать несколько обломно.
Ответить | Правка | Наверх | Cообщить модератору

121. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (122), 23-Апр-21, 06:22 
> Кэп намекает что без стэка функцию вызывать несколько обломно.

Ну мы же на этапе инициализации. Можно и потерпеть немного, не вызывать пока никаких функций, всё написать inline-ом.

В крайнем случае делать jmp, а адрес возврата писать в один из регистров.

Ответить | Правка | Наверх | Cообщить модератору

126. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Random (??), 23-Апр-21, 09:57 
Регистры и без того пригодятся - у нас же ещё нет RAM.
А вот SP для этой цели используется.
Ответить | Правка | Наверх | Cообщить модератору

137. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (-), 24-Апр-21, 01:29 
> Ну мы же на этапе инициализации. Можно и потерпеть немного, не вызывать
> пока никаких функций, всё написать inline-ом.

Особенно прикольно на x86-32 каком, с полутора убогими регистрами, ага. Плоский код без функций и полтора регистра, которые некуда отложить. Все для вашего хардкора, так сказать.

> В крайнем случае делать jmp, а адрес возврата писать в один из регистров.

ARM так и делает :) только он аппаратно и регистров у него как-то поприятнее. И в как минимум cortex M они доперли flash[0] -> SP хардварно грузить. Так что он с места в карьер втапливает сразу на си после powerup, прикольно :D

Ответить | Правка | К родителю #121 | Наверх | Cообщить модератору

139. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (122), 24-Апр-21, 04:14 
>> Ну мы же на этапе инициализации. Можно и потерпеть немного, не вызывать пока никаких функций, всё написать inline-ом.
> Особенно прикольно на x86-32 каком, с полутора убогими регистрами, ага. Плоский код без функций и полтора регистра, которые некуда отложить.

А какая разница? Зачем много регистров? Нам же не биткоины считать.
Что такого сложного надо сделать для инициализации памяти?

> ARM так и делает :) только он аппаратно и регистров у него как-то поприятнее.

Ну да, в ARMах прямо в десятки раз больше регистров. И для инициализации памяти это очень важно... 🙂

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру