Programación General => ASM (Ensamblador) => Mensaje iniciado por: Dark_King en Sábado 16 de Diciembre de 2006, 19:06
Título: Problema Con El Camibio De Colores De La Paleta
Publicado por: Dark_King en Sábado 16 de Diciembre de 2006, 19:06
hola, yo soy otro de los que estamos diseñando un juegecico, pero tengo un problemilla al cambiar la paleta de colores del modo de video 13h, y no se en que me puedo haber equivocado, si alguien le puede echar un vistazo al codigo y darme alguna sugerencia lo agradeceria. ahm y ya puestos a pedir, por si alguien se siente caritativo, podriais decirme por que me muestra primero la segunda mitad de la imagen y despues la primera??
Código: Text
codigo segment 'code'
assume cs:codigo, ds:datos, ss:pila
main PROC
mov ax,datos
mov ds,ax
mov ah, 00h
mov al, 13h
int 10h
mov cx, 256
mov bx, offset paleta
buclepaleta:
mov dx, 3c8h
mov al, cl
out dx, al
mov dx, 3c9h
mov al, paleta [bx]
out dx, al
inc bx
mov al, paleta [bx]
out dx, al
inc bx
mov al, paleta [bx]
out dx, al
inc bx
loop buclepaleta
mov ax, 0A000h
mov es, ax
mov bx, offset Imagen
mov di, 0
mov cx, 320*200
Pintaimagen:
mov al, Imagen [bx]
mov es: [di], al
inc bx
inc di
loop Pintaimagen
fin:
mov ah, 01h
int 21h
mov ah, 00h
mov al, 2h
int 10h
mov ax, 4c00h
int 21h
main ENDP
codigo ends
END main
en el segmento de datos se encuentran los nuevos valores que hay que asignar a la paleta asi como el valor de cada pixel de la imagen. Dichos valores de la paleta y de la imagen se obtienen con el programa que adjunto, que transforma una imagen .bmp de 256 colores en un fichero .asm