Где textmode видео буфер то, если это не в 0xB8000?

Надеюсь, этот пример поможет всем, кто работает над массивом объектов

var data_array = [{
                    "id": "0",
                    "store": "ABC"
                },{
                    "id":"1",
                    "store":"XYZ"
                }];
console.log(String(data_array[1]["id"]+data_array[1]["store"]));
.
21
задан Drew Shafer 22 July 2009 в 14:01
поделиться

2 ответа

А, если это экран BIOS, то все ставки отключены. Тот факт, что это BIOS на материнской плате со встроенной графикой, еще больше склоняется в пользу странности видео.

По всей вероятности, "классическая" функциональность VGA практически эмулируется. С внешней видеокартой это было бы невидимо для BIOS - он все равно видит видеокарту VGA. Но BIOS, жестко подключенный к видеокарте, не должен был бы настраивать поддельный слой VGA и старое школьное отображение 20-битного адресного пространства памяти только для того, чтобы вставить текст на экран.

Вместо этого BIOS может напрямую взаимодействовать с картой (через какой-то проприетарный режим) до тех пор, пока операционная система не будет фактически запущена, после чего она сама выполняет отображение памяти. Это имеет большое преимущество в том, что для карты с общей основной памятью вы не

14
ответ дан 29 November 2019 в 21:57
поделиться

Использовались карты CGA (адаптер цветной графики) и MDA (адаптер монохромного дисплея). разные регионы. Один (цветной) находится по адресу 0xB8000 ; но монохромный начинается с 0xB0000 . Помните, что на машине могут быть активны оба дисплея одновременно.

См. Карта памяти DOS (хотя там есть опечатка в смещении для CGA - должно быть 8000h, а не 0800h).

Что касается VGA ] (Video Graphics Array) идет, его память начинается ниже, на границе 640 КБ по адресу 0xA0000 и продолжается до 64 КБ, но может выходить за рамки, поскольку карта может иметь до 256 КБ. Пример кода для программирования VGA находится здесь . Но это не так просто, поскольку в нем есть несколько видеорежимов. Вы можете попробовать здесь для некоторой помощи.

Вы уверены, что у вас VGA, а не EGA, XGA или Super-VGA? Все они имеют немного разную семантику ... Но все же я уверен, что любой из них должен помещать текст либо в 0xB0000 , либо в 0xB8000 . Что происходит, когда вы набираете

MODE MONO

или

MODE CO80

- это влияет на отображение? Они будут переключаться из одного текстового режима адаптера в другой под DOS.

4
ответ дан 29 November 2019 в 21:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: