Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Assembler _ Про графику

Автор: Игорь 25.10.2010 13:15

При перехода в граф. режим прграмма завершается c ошибкой. Это ,конечно, часто задаваемый вопрос ,но ответа на форуме я так и не нашёл. С чем это связано и что делать?


use16
org 100h
mov ax, 4F02h
mov bx, 0101h
int 10h
mov ax, 0003h
int 10h
mov ax,4c00h
int 21h


Автор: Archon 25.10.2010 13:28

Может быть операционная система Vista/7 или подобная? В них полноэкранные DOS-приложения запрещены.

Автор: Игорь 25.10.2010 14:11

Не, ХР. Я тут где-то вроде читал, что Windows ограничивает в чём-то DOS, только не помню где и в чем.

Автор: volvo 25.10.2010 14:27

Игорь, чем компилируешь этот код, можно узнать? TASM? FASM?

Автор: Игорь 25.10.2010 14:56

FASM

Автор: volvo 25.10.2010 16:44

Цитата
При перехода в граф. режим
Во-первых, где у тебя в программе переход в граф. режим? режим №03 - это текст, 80*25.

А во-вторых, даже COM-файлы из папки dos_fasm16925/examples выбрасывают ошибку вместо того, чтобы запуститься. Что-то неладно у FASM-а с этим форматом.

Автор: Игорь 25.10.2010 17:38

Я думал, что это будет VGA 640*480... Ну ладно, если дело в FASM, буду ждать когда автор испрвит.
А вообще в 16 битном режиме бывают проблемы с графикой (типа таких сообщений о недопустимой инстукции)?Тогда может просто попробовать другой тип файла? Если ты это и имел в виду, то пойду мучить вопросами своего наставника...

Автор: volvo 25.10.2010 18:06

Запускай под http://www.dosbox.com/download.php?main=1, все работает, и СOM-ы и Exe-шники. Только все-же сделай в программе исправления, с учетом того что 640*480 - это режимы 11h и 12h (первый - 2 цвета, второй - 16 цветов).

Автор: Игорь 28.10.2010 13:24

Извиняюсь, что не к месту, но как сделать чтобы DosBox менял, как бы сказать, своё разрешение, просто при некоторых режимах получается так, что пиксель "размазывается" по окошку

Автор: volvo 28.10.2010 13:44

У ДосБокса есть конфигурационый файл, в котором можно сделать все, что угодно (хоть прописать другое разрешение - ключи fullresolution/windowresolution, хоть заставить DosBox запускаться в полноэкранном режиме - ключ fullscreen). Подробное описание (правда по-английски) - здесь:
http://www.dosbox.com/wiki/Dosbox.conf