Около 15 лет назад я развлекался и раздражал своего учителя CS, написав плохой код, который будет напрямую изменять текст на мониторе. Это было легко осуществлено путем доступа к видеопамяти на 0xB8000 на совместимых с VGA совместимых ПК.
Ускоренный переход к сегодняшнему дню, я решил попробовать свой старый трюк через порт отладки, который дает мне доступ к чтению физической памяти. К моему удовлетворению, он по-прежнему работал на первой платформе, на которой я ее пробовал. Затем, уныло, я обнаружил, что он не работает во многих других системах. Кажется, что системы, на которых он не работает, имеют графику UMA (разделяемая память).
Итак, вопрос для всех вас, писателей BIOS, парней ОС низкого уровня и гуру видеодрайверов - если я в обычном цветовом текстовом формате 80x25 на ПК-совместимой системе с общей графической памятью в реальном режиме и содержимое 0xb8000 - 0xB8FFF все 0xFF вместо того, чтобы давать мне то, что на экране, куда шел экранный буфер?