The OpenNET Project / Index page

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



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

Оглавление

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

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


44. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Random (??), 21-Апр-21, 13:22 
Из бут-сектора дёрнуть int21h?
Или не имея ещё стека, симулируя его на ROM играми с SP, проинитить чипсет, развернуть себя из ROM в ShadowRAM и работать с регистрами CRT и видеобуфером?
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

48. "Tetris-OS - операционная система для игры в тетрис"  +1 +/
Сообщение от Аноним (-), 21-Апр-21, 13:47 
Сейчас у процов кэши как SRAM катят на первое время вроде. Да и DRAM init нынче модно чуть ли не PSP firmware делать...

А "регистры CRT" - это кто? Если вы хотите все сами, нынче надо в скан шин уметь и найдя там видяху (молитесь чтобы pci bridge инитить не надо было) - сможете с ней поработать. Но если вы и там на vbios забить захотите, этот пепелац надо в нативный режим переключать эвон какого драйвера и пачку фирмварей требует...

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

49. "Tetris-OS - операционная система для игры в тетрис"  +1 +/
Сообщение от Random (??), 21-Апр-21, 14:16 
Как сейчас модно - уже не в курсе. BIOS'ы не дизасмил лет 15.
Когда смотрел - было модно вызывать подпрограммы, занося в SP адрес ROM, где лежал нужный "адрес возврата".
А найти из-под DOS на шине SM-Bus контроллер и перешить через него SPD на DIMM'ах когда-то умел на множестве южных мостов.
Было когда-то понятие "CRT-контроллер". И мониторы на CRT )

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

74. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (-), 21-Апр-21, 18:02 
х86 заметно изменился с момента актуальности той информации.

Там вроде зачастую вообще первым стартует ME/PSP. И в ряде случаев начальный старт частично при помощи других процов ажно. АМД с какого-то момента удумали DRAM подымать фирмварью сервисного проца (да, до того как DDR DRAM станет доступна нужно весьма специфичные процедуры сделать, включая "link training"). И да, это "счастье" работает side by side с системным процом и ему там вообще плевать что у вас за операционка.

> А найти из-под DOS на шине SM-Bus контроллер

Когда был актуален DOS, SM-Bus еше не было особо вроде?

> Было когда-то понятие "CRT-контроллер". И мониторы на CRT )

На IBM PC вроде бы отродясь были "VGA адаптер" (CGA, EGA, позже VESA). А вот прямо сейчас как "CRTC" в линухе понимают вполне конкретную железку конвертирующую VRAM => провод в реальном времени, "долбилку на экран". Эта железка, конечно, была и в VGA и проч, но это лишь часть видяхи. А монитор CRT так то и у меня был. Даже два.

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

77. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Random (??), 21-Апр-21, 18:39 
>> А найти из-под DOS на шине SM-Bus контроллер
> Когда был актуален DOS, SM-Bus еше не было особо вроде?

Собстно, да. DOS уже не был актуален. Но работать напрямую с железом оттуда было проще.
VIA 586а, 596a, 596b, 686a, 686b, Intel PIIX4
PC-100, PC-133
На моей P3-BF SM-Bus переключалась двумя битами между SPD, генератором, мониторингом и (вероятно, не проверял) разъёмом на матери.

>> Было когда-то понятие "CRT-контроллер". И мониторы на CRT )
> На IBM PC вроде бы отродясь были "VGA адаптер" (CGA, EGA, позже
> VESA).

MDA, Hercules, CGA
Позже EGA, ещё позже VGA и зоопарк sVGA

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

93. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (93), 22-Апр-21, 09:45 
Как интересно. А просто адреса на I2C шине (smbus по сути его диалект) им было не круто? Так то i2c сам по себе shared шина. Или эти биты сие и делали? А что до разъемов, как минимум в PCIE есть контакты SMBUS и JTAG. PCI - не помню, но вроде тоже.

> Позже EGA, ещё позже VGA и зоопарк sVGA

У тех еще как минимум всякие знакогенераторы и чего там еще. А так то у линуха характерный аппаратный блок так и называют в API - CRTC. Иногда как display controller. Суть одна, реалтайм железка гонящая VRAM в провод, формирующая протокол и времянки. В случае VGA это соответственно просто поток в DAC + hsync/vsync.

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

103. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Random (??), 22-Апр-21, 10:40 
> Как интересно. А просто адреса на I2C шине (smbus по сути его
> диалект) им было не круто? Так то i2c сам по себе
> shared шина. Или эти биты сие и делали? А что до
> разъемов, как минимум в PCIE есть контакты SMBUS и JTAG. PCI
> - не помню, но вроде тоже.

Я так понимаю, хотели оставить пользователю доступ только к мониторингу, скрыв SPD и генератор.
Переключалось через какие-то GPIO чипсета. Кстати, вероятно, из-за этого коммутатора у меня была проблема с одним DIMM'ом Nanya - на моей матери работать не хотел, не виделось SPD, на других - прекрасно. Когда поставил ему другой чип SPD и прошил те же данные, прекрасно заработал и жил в том компе до упора.

Там между PCI-слотами маленький разъёмчик есть, как SMB заявлен.


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

136. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (-), 24-Апр-21, 01:25 
> Я так понимаю, хотели оставить пользователю доступ только к мониторингу, скрыв SPD и генератор.

Не очень понятно в чем прикол SPD скрывать, а так можно было просто на разные шины развесить.

> Переключалось через какие-то GPIO чипсета. Кстати, вероятно, из-за этого коммутатора у
> меня была проблема с одним DIMM'ом Nanya - на моей матери
> работать не хотел, не виделось SPD, на других - прекрасно. Когда
> поставил ему другой чип SPD и прошил те же данные, прекрасно
> заработал и жил в том компе до упора.

Вообще x86 довольно чудесатые скотины. За что я их, будем честны, не люблю :). Все через зад сделано... (так, закидывая в i2c команду вон тому power manager-у).

> Там между PCI-слотами маленький разъёмчик есть, как SMB заявлен.

Может оно и есть. I2C довольно легко узнать, 2 пина с подтяжками к Vcc (плюс питания). Хотя какой смысл его юзеру вывешивать не очень понятно. Bus master'а туда наверное некорректно для перехвата шины, про него уже существующий не в курсе. А девайс и подавно - а кто его там найдет?

p.s. а в линухе забавно, ddc на каком-нибудь vga как i2c вполне себе...

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

108. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Random (??), 22-Апр-21, 11:24 
Один из первых CRTC - Intel 8275 / КР580ВГ75 :)
Ответить | Правка | К родителю #93 | Наверх | Cообщить модератору

86. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (87), 22-Апр-21, 08:35 
> Когда был актуален DOS, SM-Bus еше не было особо вроде?

Системная дискета Windows 98 загружала какие-то драйверы шин. Не помню какие именно, только помню что грузилось два или три драйвера, и фраза bus complete.

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

58. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Аноним (58), 21-Апр-21, 15:43 
И как ты из бута int 21h дернешь без загруженного и запущенного msdos? Именно она обрабатывала все прерывания начиная с 0x20.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

66. "Tetris-OS - операционная система для игры в тетрис"  +/
Сообщение от Random (??), 21-Апр-21, 16:36 
Тоже верно, вылетело из головы.
Знач, int10h
Ответить | Правка | Наверх | Cообщить модератору

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
Добавить, Поддержать, Вебмастеру