Я пытаюсь понять, как виртуализация влияет на мою программу сборки x86.
Обычно я загружаю старый clunker pentium III и загружаю DOS с USB-ключа. Вместо этого я попытался настроить виртуальную коробку и работать таким образом. Кажется, что мои программы работают нормально, но цвета кажутся испорченными.
Это довольно простая программа, собранная под NASM, которая переключает режим видео в XGA 4105h и рисует несколько простых фигур в разных цветах.
Можно ли предположить, что проблема связана с тем фактом, что на самом деле видеорежим моей машины не действительно работает в режиме XGA, поэтому биты для цветов интерпретируются по-разному? (простите за незнание в объяснении, поскольку я мало знаю о том, как виртуализация работает на уровне ISA)
Как я могу обойти эту проблему? Я бы хотел продолжить заниматься программированием для x86, но мне нравится работать на мобильных устройствах.
РЕДАКТИРОВАТЬ: я вижу, что по крайней мере под Windows, при попытке выполнить 16-битный код, Windows работает в виртуализированной среде, которая не дает программе прямой доступ к видеокарте, а вместо этого дает доступ к «виртуальной карте». "который обычно не выходит за пределы VGA ...
Но поскольку я уже нахожусь в виртуальной среде, как это влияет на это? Я полностью обручен?