· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› BMP в DOS

Посл.отвђт Сообщенiе


Дата: Фев 24, 2004 11:56:00

Как отобразить bmp-шку в fullscreen в голом досе ?


Дата: Фев 24, 2004 13:00:12

конкретнее какое разрешение? 320x200 640x480 сколько цветов у рисунка:)


Дата: Фев 24, 2004 13:56:26

jeffer
Цветов 256, 640x480


Дата: Фев 24, 2004 14:19:20

если честно мне в ломы чтото делать:) я тебе ссылки дам
http://www.enlight.ru/demo/faq/smth.phtml?query=alg_pixels_vesa - это как печатать пикселы в hi resolution - там почитай как выбирать разрешение и как там вообще происходит всё это дело, я почитал разобрался

помоему бмп формат он перевёрнут так что если будет перевёрнуто изображение не шугайся, короче, пиши, если чё то я сделаю, программу а так пока сам думай, толку больше будет

это для 640х480

mov ax, 4F02h
mov bx, 101h
int 10h

mov ax, 4F05h
mov dx, [bank]
mov bx, 0
int 10h

mov ax,0a000h
mov es,ax

mov eax,[yy]
mov edx,640
mul edx
xor bx,bx
add eax,[xx]
mov edi,eax

more: cmp edi,65536
jc skbn
inc bx
sub edi,65536
jmp more

skbn: cmp [bank],bx
jz sk1

mov [bank],bx
mov ax, 4F05h
mov dx, bx
mov bx, 0
int 10h

sk1: mov al,[color]
stosb

нарисует точку, если что-то варишь в асме сам подгониш, тебе осталось только присоединить БМП считывать данные, ну и палитру наверное сможеш сделать, точно также как в 13h 320x200x256,

mov dx,03c8h
mov al,0
out dx,al
inc dx
mov cx,768
mov si,offset PALITRA ; начало палитры
pall: mov al,[si]
out dx,al
inc si
loop pall

ну уж сам собирай всё это в одно место и всё у тебя получится:) удачи


Дата: Мар 28, 2004 12:44:41

IMHO
mov bx, 0 лучше записать xor bx,bx - экономия один байт
равно как и это
pall: mov al,[si]
out dx,al
inc si
loop pall

лучше так
pall: lodsb
out dx,al
loop pall

а вот
mov al,[color]
stosb

В данном случае оригинально но в общем не универсально


Дата: Апр 14, 2004 11:55:02

2 SAME

лучше то лучше, это было сделано потому что в ХР у меня почемуто не выбирается дата сегмент когда я пишу так
.data
??? db ??

и когда идёт lodsb то он берёт данные из код сегмента делал датасегмент как кодсегмент таже ботва

тоже самое с
mov al,[color]
stosb
=====
movsb

тоже не хочет пахать и ваще это под дос и это было давно и не правда :)


Дата: Апр 14, 2004 12:00:42

упссс
mov al,[color]
stosb
==== не равно :)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.045