devnieL
12/20/2011 - 9:13 PM

Trabajo final de ASM.

Trabajo final de ASM.

TAMTOT EQU 8192

.model small
.386p
.stack 500h
.data

	modovideo db ?
	vram dw ?
	video_buffer dd 0a000h
	
	xVal dw ?
	yVal dw ?
	
	megaman_mensaje db "Hola devniel !$"
	
	
	mensaje1 db "Trabajo final de Microprocesadores $";
	mensaje2 db "y Controladores de Perifericos$"
	mensaje3 db "Integrantes : $"
	mensaje4 db "  Daniel Flores $"
	mensaje5 db "  Alberto Avalos $"
	
	color_fondo db 0

	pj_ancho dw 25
	pj_alto dw 30
	pj_posX dw ?
	pj_posY dw ?
	pj_finalX dw ?
	pj_finalY dw ?
	
	BufSeg dw ?
	
	_offset dw ?
	
	; 28 x 32
	devniel db 255,255,255,255,255,255,255,255,255,255,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,18,18,18,19,19,19,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,255,18,19,18,66,18,19,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,18,18,18,18,66,19,66,18,19,18,18,18,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,255,255,18,66,17,66,66,19,18,18,255,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,255,19,18,66,66,66,66,18,19,255,255,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,255,18,255,66,18,18,18,66,18,255,255,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,255,255,255,255,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,255,255,191,191,32,66,32,121,121,255,255,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,191,191,191,121,18,32,18,121,121,121,121,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,121,121,121,121,121,32,121,121,121,121,121,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,121,121,121,121,121,121,55,121,121,121,121,121,121,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,121,121,121,144,144,144,121,32,121,144,144,144,121,121,121,255,255,255,255,255,255,255,255,255
			db 255,255,255,121,121,121,191,191,191,144,144,32,144,144,191,191,191,191,121,121,255,255,255,255,255,255,255,255
			db 255,255,255,121,121,144,255,255,191,144,144,144,144,144,118,255,255,191,191,121,255,255,255,255,255,255,255,255
			db 255,255,121,121,144,255,255,255,191,144,144,144,144,118,191,255,255,255,191,121,121,255,255,255,255,255,255,255
			db 255,121,121,144,255,255,255,255,144,144,144,144,144,118,191,255,255,255,255,191,121,121,255,255,255,255,255,255
			db 255,121,121,144,255,255,255,255,144,144,144,144,118,118,191,255,255,255,255,191,121,121,255,255,255,255,255,255
			db 66,66,118,255,255,255,255,118,144,144,144,144,118,190,191,191,255,255,255,255,191,66,66,255,255,255,255,255
			db 66,66,255,255,255,255,255,118,118,118,118,118,118,190,191,191,255,255,255,255,255,66,66,255,255,255,255,255
			db 255,255,255,255,255,255,255,19,19,19,19,118,118,190,191,191,191,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,255,19,19,19,18,18,19,19,18,18,255,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,255,19,19,19,18,18,255,19,19,19,18,18,255,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,255,19,20,19,18,18,255,255,255,20,19,20,18,18,255,255,255,255,255,255,255,255,255,255
			db 255,255,255,255,20,19,20,19,18,255,255,255,255,255,19,19,19,18,18,255,255,255,255,255,255,255,255,255
			db 255,255,255,19,20,20,19,18,18,255,255,255,255,255,19,19,20,19,18,18,255,255,255,255,255,255,255,255
			db 255,255,255,19,20,19,18,18,255,255,255,255,255,255,255,20,19,20,19,18,255,255,255,255,255,255,255,255
			db 255,255,20,20,20,18,18,255,255,255,255,255,255,255,255,255,20,19,20,18,18,255,255,255,255,255,255,255
			db 255,255,19,20,19,18,255,255,255,255,255,255,255,255,255,255,255,20,19,20,18,255,255,255,255,255,255,255
			db 255,19,20,19,18,18,255,255,255,255,255,255,255,255,255,255,255,19,20,19,19,18,255,255,255,255,255,255
			db 40,4,4,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255,19,19,4,4,40,255,255,255,255,255
			db 40,40,40,40,40,24,24,24,24,24,24,24,24,255,255,255,255,255,19,40,40,40,40,24,24,24,24,24

			
	devniel2 db 255,255,255,255,255,255,255,255,255,255,255,255,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,18,255,19,19,255,255,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,18,255,19,18,18,18,18,255,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,18,18,19,19,19,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,18,18,18,19,18,66,18,19,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,18,18,66,17,66,18,19,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,18,18,66,17,66,17,66,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,18,255,18,66,66,66,66,66,19,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,66,18,18,18,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,191,191,32,66,32,121,121,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,191,191,191,121,18,32,18,121,121,121,121,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,121,121,121,121,121,32,121,121,121,121,121,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,121,121,121,121,121,121,55,121,121,121,121,121,121,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,121,121,121,144,144,144,121,32,121,144,144,144,121,121,121,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,121,121,191,191,191,144,144,32,144,144,191,191,191,191,121,121,255,255,255,255,255,255,255,255,255
db 255,255,255,121,121,144,255,255,191,144,144,144,144,144,118,255,255,191,191,121,255,255,255,255,255,255,255,255,255
db 255,255,121,121,144,255,255,255,144,144,144,144,144,118,191,255,255,255,191,121,121,255,255,255,255,255,255,255,255
db 255,121,121,144,255,255,255,255,144,144,144,144,118,118,191,255,255,255,255,191,121,121,255,255,255,255,255,255,255
db 255,121,121,144,255,255,255,118,144,144,144,144,118,190,191,191,255,255,255,191,121,121,255,255,255,255,255,255,255
db 66,121,118,255,255,255,255,118,118,118,118,118,118,190,191,191,255,255,255,255,191,121,66,255,255,255,255,255,255
db 66,66,255,255,255,255,118,118,19,19,19,118,118,190,191,191,191,255,255,255,255,66,66,255,255,255,255,255,255
db 255,255,255,255,255,255,19,19,19,18,18,255,191,191,191,191,191,191,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,19,20,19,18,18,255,255,255,20,19,20,18,18,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,20,19,20,19,18,255,255,255,255,255,19,19,19,18,18,255,255,255,255,255,255,255,255,255,255
db 255,255,255,19,20,20,19,18,18,255,255,255,255,255,19,19,20,19,18,18,255,255,255,255,255,255,255,255,255
db 255,255,255,19,20,19,18,18,255,255,255,255,255,255,255,20,19,20,19,18,255,255,255,255,255,255,255,255,255
db 255,255,20,20,20,18,18,255,255,255,255,255,255,255,255,255,20,19,20,18,18,255,255,255,255,255,255,255,255
db 255,255,19,20,19,18,255,255,255,255,255,255,255,255,255,255,255,20,19,20,18,255,255,255,255,255,255,255,255
db 255,19,20,19,18,18,255,255,255,255,255,255,255,255,255,255,255,19,20,19,19,18,255,255,255,255,255,255,255
db 40,4,4,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255,19,19,4,4,40,255,255,255,255,255,255
db 40,40,40,40,40,24,24,24,24,24,24,24,24,24,24,24,255,255,19,40,40,40,40,24,24,24,24,24,24

devniel_caminando_derecha1 db 255,255,255,255,255,17,17,255,255,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,17,17,17,17,17,18,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,17,17,19,19,19,18,18,17,255,255,255,255,255,255,255,255,255,255,255,255
db 17,17,17,17,17,17,19,19,19,66,66,18,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,17,19,17,18,18,66,19,66,18,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,17,17,17,66,18,66,19,66,66,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,17,17,66,66,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,255,17,66,66,66,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,255,121,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,191,121,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,191,121,121,55,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,191,121,121,121,17,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,191,144,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,121,144,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,121,144,121,121,144,191,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,121,191,121,121,144,191,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,121,121,191,121,121,144,121,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,121,121,191,191,121,121,144,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,121,121,121,191,191,121,121,144,66,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,121,191,191,191,191,191,144,66,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,121,191,18,19,19,19,121,66,66,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,121,18,19,19,20,20,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,19,19,20,19,18,20,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,18,19,20,20,19,18,20,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,18,19,20,19,18,20,19,19,18,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,18,19,19,19,18,255,18,20,19,18,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,18,19,20,19,18,255,18,20,20,18,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,18,19,19,18,255,255,18,20,20,19,18,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,20,20,20,18,255,255,18,20,20,19,18,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,20,40,40,255,255,255,18,18,4,4,4,4,255,255,255,255,255,255,255,255,255
db 255,255,255,4,4,40,40,40,24,24,24,4,40,40,40,40,24,24,24,24,24,24,24,24,24

devniel_caminando_derecha2 db 255,255,255,17,17,255,255,17,17,255,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,17,17,17,18,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,17,19,19,19,18,18,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,19,19,19,66,66,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,17,19,17,18,18,66,19,66,18,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,19,19,17,66,18,66,19,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,17,66,66,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,66,66,66,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,255,121,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,191,121,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,191,121,121,55,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,191,121,121,121,17,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,191,144,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,121,144,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,121,121,144,191,121,144,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,144,144,144,191,121,121,121,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,144,121,144,191,191,121,121,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,144,121,144,144,191,191,121,66,66,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,144,121,121,144,144,191,191,66,66,255,255,255,255,255,255,255,255,255,255,255,255
db 255,66,66,255,121,191,191,191,144,191,191,191,255,255,255,255,255,255,255,255,255,255,255,255
db 255,66,66,121,191,18,19,19,18,121,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,20,19,19,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,20,19,20,18,20,20,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,20,20,20,20,18,20,20,18,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,20,20,20,18,255,18,20,20,18,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,20,19,20,18,255,255,18,20,20,20,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,20,19,20,18,255,255,255,18,20,20,20,18,255,255,255,255,255,255,255,255,255,255
db 255,18,20,19,18,255,255,255,255,18,20,20,20,18,40,40,255,255,255,255,255,255,255,255
db 18,20,18,18,18,255,255,255,255,255,18,18,18,40,40,40,255,255,255,255,255,255,255,255
db 18,20,40,40,40,255,255,255,255,255,255,18,4,40,40,255,255,255,255,255,255,255,255,255
db 40,4,4,40,40,40,24,24,24,24,24,24,40,40,24,24,24,24,24,24,24,24,24,24

devniel_caminando_derecha3 db 255,255,255,255,17,17,255,255,17,17,255,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,17,17,17,17,18,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,17,19,19,19,18,18,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,17,19,19,19,66,66,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,19,17,18,18,66,19,66,18,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,19,19,17,66,18,66,19,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,17,66,66,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,17,66,66,66,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,17,255,121,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,191,121,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,121,191,121,121,55,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,121,121,121,121,121,17,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,121,191,144,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,121,121,121,144,121,191,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,121,255,121,144,121,191,144,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,121,255,144,144,121,191,144,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,255,144,121,144,121,191,191,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,121,121,255,144,121,144,144,144,191,191,191,66,66,255,255,255,255,255,255,255,255,255,255,255
db 255,66,66,255,144,121,121,144,144,144,191,191,66,66,255,255,255,255,255,255,255,255,255,255,255
db 255,66,66,255,255,121,191,191,191,144,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,121,191,18,19,19,18,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,18,20,19,19,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,20,20,19,18,18,20,20,18,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,20,20,20,18,255,20,20,20,18,18,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,20,20,20,20,18,255,18,20,20,20,18,18,255,255,255,255,255,255,255,255,255,255
db 255,255,18,20,20,20,18,255,255,255,18,20,20,20,20,18,255,255,255,255,255,255,255,255,255
db 255,18,20,20,20,18,255,255,255,255,255,18,20,20,20,18,40,40,255,255,255,255,255,255,255
db 18,20,20,20,20,18,255,255,255,255,255,255,18,20,18,40,40,40,255,255,255,255,255,255,255
db 40,20,20,20,18,255,255,255,255,255,255,255,255,18,40,40,40,255,255,255,255,255,255,255,255
db 40,40,20,20,20,255,255,255,255,255,255,255,255,40,40,40,255,255,255,255,255,255,255,255,255
db 255,40,4,4,4,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24

devniel_caminando_derecha4 db 255,255,17,17,255,255,17,17,255,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,17,17,17,17,18,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,19,19,19,18,18,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,17,19,19,19,66,66,18,18,255,255,255,255,255,255,255,255,255,255,255,255
db 17,17,19,17,18,18,66,19,66,18,17,255,255,255,255,255,255,255,255,255,255,255
db 255,19,19,17,66,18,66,19,66,66,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,66,66,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,66,66,66,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,255,121,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,191,121,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,191,121,121,55,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,191,121,121,121,17,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,191,144,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,144,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,144,121,121,144,191,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,191,121,121,144,191,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,191,191,121,144,121,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,121,191,121,121,144,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,121,191,191,121,121,144,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,121,121,191,121,121,144,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,191,18,19,191,191,66,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,18,18,20,20,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,19,20,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,18,20,20,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,19,20,19,18,20,19,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,19,19,18,18,20,20,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,18,18,20,19,18,18,20,20,18,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,19,19,18,255,18,20,20,20,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,20,20,18,255,255,18,20,20,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,40,40,40,18,255,18,18,4,4,4,255,255,255,255,255,255,255,255,255,255
db 255,40,40,40,40,40,24,4,4,40,40,40,255,24,24,24,24,24,24,24,24,24

devniel_caminando_derecha5 db 255,255,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,255,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,17,17,17,17,18,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255
db 17,255,17,17,19,19,19,18,18,17,17,17,255,255,255,255,255,255,255,255,255,255
db 255,17,17,19,19,19,66,66,18,18,255,17,255,255,255,255,255,255,255,255,255,255
db 17,17,19,17,18,18,66,66,66,18,17,255,255,255,255,255,255,255,255,255,255,255
db 255,19,19,17,66,18,66,18,66,66,255,255,255,255,255,255,255,255,255,255,255,255
db 17,255,17,17,66,66,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,17,17,66,66,66,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,255,121,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,191,121,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,191,121,121,55,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,191,121,121,121,17,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,191,144,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,191,121,191,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,191,121,191,144,191,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,191,121,191,144,191,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,191,121,191,144,121,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,191,121,121,121,121,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,191,191,121,121,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,121,191,191,121,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,191,18,66,66,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,18,20,66,66,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,20,20,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,19,20,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,19,20,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,19,19,18,18,20,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,19,18,18,18,20,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,19,18,255,20,20,20,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,18,20,20,18,255,20,20,20,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,18,20,20,4,40,18,18,4,4,4,255,255,255,255,255,255,255,255,255,255,255
db 255,4,4,4,40,40,4,4,4,40,4,255,255,24,24,24,24,24,24,24,24,24

devniel_caminando_derecha6 db 255,255,17,17,255,255,17,17,255,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,17,17,17,17,18,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,19,19,19,18,18,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,17,19,19,19,66,66,18,18,255,255,255,255,255,255,255,255,255,255,255,255
db 17,17,19,17,18,18,66,19,66,18,17,255,255,255,255,255,255,255,255,255,255,255
db 255,19,19,17,66,18,66,19,66,66,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,66,66,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,66,66,66,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,255,121,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,191,121,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,191,121,121,55,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,191,121,191,121,17,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,191,191,121,121,121,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,191,121,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,191,191,121,191,191,144,191,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,191,121,121,191,121,144,144,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,191,121,191,191,121,144,144,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,191,121,191,121,144,144,144,144,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,191,121,191,121,144,121,191,144,66,255,255,255,255,255,255,255,255,255,255,255
db 255,255,191,191,66,66,144,191,191,144,66,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,66,66,66,191,19,18,66,66,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,66,66,66,20,19,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,19,19,18,20,20,19,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,19,20,20,18,20,19,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,19,20,19,18,20,20,19,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,19,19,19,18,255,18,20,19,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,19,20,19,18,255,18,20,20,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,19,19,18,255,255,18,20,20,19,18,255,255,255,255,255,255,255,255,255,255
db 18,20,20,20,18,255,255,18,20,20,19,18,255,255,255,255,255,255,255,255,255,255
db 18,20,40,40,255,255,255,18,18,4,4,4,4,255,255,255,255,255,255,255,255,255
db 4,4,40,40,40,24,24,24,4,40,40,40,40,24,24,24,24,24,24,24,24,24

devniel_caminando_derecha7 db 255,255,255,255,255,17,17,255,255,17,17,255,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,17,17,17,17,18,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,17,17,19,19,19,18,18,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,17,19,19,19,66,66,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,17,19,17,18,18,66,19,66,18,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,19,19,17,66,18,66,19,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,17,17,66,66,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,66,66,66,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,255,121,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,191,121,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,121,191,121,121,55,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,121,121,121,121,121,17,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,121,121,121,191,144,121,121,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,121,121,121,144,121,191,144,55,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,121,121,121,144,121,191,144,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,121,255,144,144,121,191,144,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,255,255,121,144,121,191,191,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,121,121,255,144,121,144,144,144,191,191,191,66,66,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,66,66,255,144,121,121,144,144,144,191,191,66,66,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,66,66,255,121,121,191,191,191,144,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,121,18,18,20,20,18,18,144,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,18,18,20,20,18,18,20,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,18,20,20,20,18,18,20,20,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,20,20,20,18,255,18,18,20,20,18,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,20,20,20,18,18,255,255,18,18,20,20,18,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,18,20,20,20,18,255,255,255,255,18,18,20,20,18,18,255,255,255,255,255,255,255,255,255,255
db 18,18,20,20,20,18,255,255,255,255,255,255,18,18,20,20,18,4,4,255,255,255,255,255,255,255,255
db 4,20,20,20,18,18,255,255,255,255,255,255,255,18,18,18,4,4,4,255,255,255,255,255,255,255,255
db 4,4,20,18,18,255,255,255,255,255,255,255,255,255,18,4,4,4,255,255,255,255,255,255,255,255,255
db 255,4,4,18,255,255,255,255,255,255,255,255,255,255,4,4,4,255,255,255,255,255,255,255,255,255,255
db 255,255,4,4,24,24,24,24,24,24,24,24,24,255,255,24,24,24,24,24,24,24,24,24,24,24,24

devniel_disparo db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,66,66,255,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,66,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,66,66,255,255,40,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,66,66,66,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,191,191,55,66,55,2,2,255,255,255,18,18,18,18,18,18,255,255,255,255,255
db 255,255,255,255,255,255,255,191,191,191,2,255,55,255,121,121,2,2,255,20,20,20,20,20,18,255,255,255,255,255
db 255,255,255,255,255,255,191,2,2,2,2,121,55,119,121,121,121,2,255,255,18,20,20,255,255,255,255,255,255,255
db 255,255,255,255,255,255,191,2,121,121,121,121,55,18,18,18,18,18,18,18,18,20,20,20,20,20,20,20,20,18
db 255,255,255,255,255,255,191,2,121,121,191,18,18,18,20,20,20,20,20,20,20,20,20,255,255,20,18,18,18,18
db 255,255,255,255,255,255,255,191,121,121,191,191,18,20,18,18,18,18,18,121,2,255,18,255,255,18,40,255,255,255
db 255,255,255,255,255,255,255,191,191,121,121,191,121,20,18,191,255,255,255,121,121,2,121,121,121,18,255,255,255,255
db 255,255,255,255,255,255,255,255,191,191,121,121,191,66,66,191,255,255,255,255,121,121,121,121,255,18,255,255,255,255
db 255,255,255,255,255,255,255,255,2,121,191,191,191,66,66,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,2,121,121,121,121,20,18,191,191,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,2,2,191,191,191,121,18,18,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,2,191,191,191,20,191,191,191,2,255,191,191,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,8,20,8,255,255,255,191,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,8,20,20,19,255,255,255,255,20,19,19,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,8,20,20,19,255,255,255,255,255,255,20,19,19,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,8,20,20,19,255,255,255,255,255,255,255,20,20,255,19,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,20,20,19,255,255,255,255,255,255,255,255,255,20,19,19,19,255,255,255,255,255,255,255,255,255,255
db 255,255,255,8,20,19,255,255,255,255,255,255,255,255,255,255,255,20,19,19,255,255,255,255,255,255,255,255,255,255
db 255,255,255,8,20,19,255,255,255,255,255,255,255,255,255,255,255,255,20,19,255,255,255,255,255,255,255,255,255,255
db 255,255,255,20,19,255,255,255,255,255,255,255,255,255,255,255,255,255,20,20,19,255,255,255,255,255,255,255,255,255
db 112,112,112,112,255,255,255,255,255,255,255,255,255,255,255,255,255,255,20,20,19,112,112,112,255,255,255,255,255,255
db 112,112,112,112,112,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,112,112,112,112,255,255,255,255,255,255

megaman db 255,255,255,255,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,17,255,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,17,17,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,20,20,17,17,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,17,17,20,20,20,17,20,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,17,17,20,20,20,20,20,20,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,17,255,17,20,17,17,20,20,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 17,17,17,66,17,17,17,17,17,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 17,17,17,66,66,17,17,17,17,17,17,17,17,17,17,17,17,255,255,255,17,17,17,17,17,17,255,255,255,255
db 255,17,17,17,6,66,17,25,15,255,66,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,255
db 255,255,17,17,6,66,17,25,15,15,66,17,65,6,17,17,17,17,17,17,17,55,55,55,55,17,17,17,17,17
db 255,255,255,17,6,66,17,25,15,15,66,17,66,66,17,17,17,17,52,17,55,52,52,52,55,55,55,55,17,17
db 255,255,255,17,66,255,15,15,15,66,66,65,66,65,17,17,17,52,52,17,55,55,55,55,55,52,52,52,17,17
db 255,255,17,17,66,66,255,6,6,66,65,6,65,17,17,255,52,52,54,17,198,198,198,52,55,55,52,198,17,17
db 255,17,54,17,65,66,6,65,66,65,6,6,17,17,198,198,52,54,255,17,17,198,198,198,198,198,198,198,17,17
db 17,54,52,54,17,65,66,66,65,6,255,255,17,198,198,52,52,54,54,17,17,17,17,198,198,198,198,198,17,17
db 17,54,52,54,54,17,17,17,17,17,17,17,198,198,52,52,52,54,54,17,17,255,17,17,198,198,198,198,17,255
db 17,54,52,52,54,17,255,17,17,52,52,52,52,52,52,52,52,54,54,17,17,255,255,17,17,17,17,17,255,255
db 255,17,17,17,17,255,255,255,255,17,255,52,52,52,52,52,52,17,17,17,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,17,17,52,52,52,52,52,17,17,17,198,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,17,17,255,52,52,17,17,17,17,198,198,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,17,17,17,17,17,17,17,198,55,198,198,198,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,17,17,17,17,17,198,198,55,55,55,55,198,198,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,17,17,52,52,52,17,198,55,55,55,17,17,17,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,17,17,17,52,52,52,17,198,17,17,255,255,255,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,198,198,17,17,17,52,17,198,17,255,52,52,255,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,198,55,198,17,17,17,255,255,17,255,52,52,255,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,198,55,55,198,198,17,17,17,17,255,52,52,255,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,198,55,55,198,198,198,17,17,17,17,17,17,255,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,17,17,198,55,55,55,198,198,17,198,55,198,17,17,17,17,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,17,198,55,55,55,198,198,17,55,55,55,198,198,17,17,17,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,17,198,55,198,198,198,17,55,52,55,198,198,198,17,17,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,17,198,198,198,198,198,17,55,52,52,55,198,198,198,17,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,17,198,55,55,198,198,17,198,52,52,55,55,198,198,17,17,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,17,198,55,55,198,198,17,17,52,52,52,55,198,198,17,17,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,17,198,55,55,198,17,255,17,52,52,52,55,198,198,198,17,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,17,55,55,198,17,255,17,55,52,52,55,55,198,198,17,17,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,17,198,198,198,255,255,17,255,55,55,55,55,198,198,17,17,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,17,17,17,255,255,255,17,17,55,198,198,198,198,198,17,17,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,198,55,55,198,198,198,198,17,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,55,52,52,52,198,198,198,17,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,55,52,52,52,55,198,198,17,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,55,52,52,52,55,198,17,17,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,255,52,52,52,55,198,17,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,17,55,52,55,198,17,17,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,198,55,198,17,17,17,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,17,17,17,17,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,17,17,17,255,255,255,255,255,255,255,255,255

megaman2 db 255,255,255,255,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,18,18,255,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,18,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,8,18,18,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,18,18,8,8,8,18,8,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,18,18,8,8,8,8,8,8,8,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255
db 255,18,8,18,8,18,18,8,8,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255
db 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,17,17,255,255,255,255,255,255,255,255,255
db 18,18,18,66,18,18,18,18,18,18,18,18,18,18,18,18,18,54,54,18,17,17,255,255,255,255,255,255
db 18,18,18,18,255,18,18,66,18,18,18,18,18,18,18,18,54,54,54,54,18,18,17,255,255,255,255,255
db 255,255,18,18,66,66,18,7,15,15,66,18,18,18,18,18,54,54,52,52,54,54,18,18,17,255,255,255
db 255,255,18,18,66,66,17,7,15,15,66,18,66,66,18,18,54,52,52,52,52,54,18,18,18,17,255,255
db 255,255,255,18,66,66,17,7,15,15,66,18,66,66,18,18,54,52,52,52,52,18,18,18,18,18,17,255
db 255,255,255,18,66,66,15,15,15,66,66,255,66,66,18,55,55,52,52,54,18,18,55,54,54,55,18,17
db 255,255,255,18,66,66,66,66,66,66,66,66,255,18,55,55,52,52,52,18,18,55,55,54,54,55,55,18
db 255,255,255,17,66,66,66,66,66,66,66,18,18,55,55,52,52,52,54,54,18,55,55,54,54,54,55,18
db 255,255,255,255,18,66,66,66,66,66,18,55,55,52,52,52,52,52,54,54,18,18,18,54,54,54,55,18
db 255,255,255,255,255,18,18,18,18,18,18,18,55,52,52,52,52,52,52,18,18,18,18,18,54,54,55,18
db 255,255,255,255,255,255,18,255,255,18,18,55,52,52,52,52,52,52,18,198,18,55,55,55,54,54,55,18
db 255,255,255,255,255,255,18,55,55,255,255,18,18,54,52,52,18,18,54,54,18,18,55,55,55,54,18,17
db 255,255,255,255,255,255,18,255,55,255,18,255,255,18,18,18,18,54,54,54,55,18,18,198,198,18,17,255
db 255,255,255,255,255,255,17,18,18,18,17,255,255,255,18,54,54,54,55,55,55,55,55,18,18,17,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,18,54,54,55,18,18,18,55,55,18,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,18,54,54,54,18,18,18,54,54,54,18,18,17,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,18,54,52,54,54,18,18,54,52,52,52,54,18,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,18,54,52,54,54,54,18,18,18,18,54,54,18,17,255,255,255,255
db 255,255,255,255,255,255,255,255,255,18,18,18,18,18,18,18,18,255,55,55,18,18,18,17,255,255,255,255
db 255,255,255,255,255,255,255,255,255,18,198,198,198,198,198,198,18,55,55,55,198,198,18,18,17,255,255,255
db 255,255,255,255,255,255,255,255,255,18,198,55,55,55,198,198,18,55,52,55,55,198,198,198,18,17,255,255
db 255,255,255,255,255,255,255,255,255,255,18,198,55,55,55,198,18,55,52,52,55,55,198,198,198,18,255,255
db 255,255,255,255,255,255,255,255,255,255,255,18,198,55,55,198,18,198,52,52,52,55,55,198,198,198,18,255
db 255,255,255,255,255,255,255,255,255,255,255,255,18,198,198,198,198,18,55,52,52,52,55,55,198,198,18,17
db 255,255,255,255,255,255,255,255,255,255,255,255,18,198,55,55,198,18,198,55,52,52,55,198,198,198,198,18
db 255,255,255,255,255,255,255,255,255,255,255,255,18,198,55,55,198,198,18,55,55,198,198,198,198,198,198,18
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,198,55,198,198,198,18,198,55,52,52,55,198,198,18
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,198,198,18,17,17,18,55,52,52,52,55,198,198,18
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,17,255,255,18,55,52,52,52,55,198,198,18
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,255,55,52,52,55,198,198,18
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,55,55,55,198,198,18,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,198,198,198,18,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,18,255,255,255

megaman3 db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,18,255,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,18,18,22,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,18,22,18,18,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,18,18,18,22,22,22,18,22,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,18,18,22,22,22,22,22,22,22,22,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,18,18,22,18,22,18,18,22,22,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,17,17,17,18,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,18,18,18,18,66,18,18,18,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,17,55,17,55,17,17,255,255,255,255
db 255,255,18,18,18,18,255,255,255,255,18,18,18,18,18,66,18,18,67,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,17,126,55,17,55,17,55,17,255,255,255
db 255,255,18,104,104,104,18,255,255,255,255,18,18,18,18,18,42,15,18,15,67,66,18,18,18,18,18,18,255,255,255,17,17,17,17,17,126,55,17,55,17,55,17,255,255,255
db 255,18,104,104,104,55,104,18,255,255,255,255,18,255,18,18,66,15,18,15,15,66,18,67,65,18,18,255,255,17,17,17,53,53,53,17,104,55,17,55,17,55,17,255,255,255
db 255,18,104,104,55,55,104,104,18,18,18,18,18,255,15,18,66,15,18,15,15,66,18,67,65,18,18,18,18,53,53,53,53,53,53,17,104,55,55,55,55,53,17,255,255,255
db 255,255,18,104,55,55,55,104,104,104,104,104,104,18,42,66,66,15,15,15,66,66,66,67,65,18,125,125,18,53,53,53,126,126,126,17,55,55,55,55,53,17,255,255,255,255
db 255,255,255,18,104,55,55,55,53,53,53,53,52,18,42,66,66,66,66,66,66,66,65,65,18,126,52,52,18,53,53,53,126,126,126,17,55,55,55,53,53,17,255,255,255,255
db 255,255,255,255,18,55,55,55,55,55,55,53,52,18,42,42,66,66,66,66,66,65,18,18,126,52,52,125,18,104,126,126,126,126,17,104,55,55,53,53,17,255,255,255,255,255
db 255,255,255,255,18,55,55,104,104,104,104,104,53,52,18,67,65,65,65,65,65,18,18,126,52,52,125,18,18,18,126,126,126,17,104,55,55,17,17,17,255,255,255,255,255,255
db 255,255,255,255,18,55,104,104,104,104,104,18,18,18,18,18,18,18,18,18,18,126,126,52,52,125,18,18,255,255,18,18,18,17,55,53,53,255,255,255,255,255,255,255,255,255
db 255,255,255,18,104,104,104,18,18,18,18,18,255,255,255,18,52,52,52,52,126,52,52,52,125,125,18,255,255,255,255,255,255,17,17,17,17,255,255,255,255,255,255,255,255,255
db 255,255,255,18,18,18,18,255,255,255,255,255,255,255,255,255,18,18,52,52,52,52,52,52,125,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,52,52,52,52,125,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,18,18,18,18,18,104,104,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,55,55,55,55,55,104,104,104,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,104,55,55,55,55,104,104,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,52,52,18,104,55,55,55,104,18,18,125,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,125,52,52,52,18,104,104,104,18,18,52,52,125,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,126,126,18,125,52,125,18,18,18,18,18,125,52,52,52,125,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,104,126,126,18,125,18,255,255,255,255,255,18,125,52,52,18,104,104,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,55,55,126,126,18,18,255,255,255,255,255,255,18,125,18,55,55,104,104,18,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,55,55,53,126,126,18,18,255,255,255,255,255,255,18,126,55,55,53,104,104,18,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,55,53,53,53,126,126,18,255,255,255,255,255,255,18,126,55,55,53,53,104,104,18,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,55,53,53,53,53,126,126,18,255,255,255,255,255,18,126,55,55,55,53,53,53,104,18,18,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,18,18,55,55,53,53,53,55,55,126,18,255,255,255,255,255,18,126,126,55,55,55,55,53,53,104,104,18,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,18,104,104,55,53,53,53,55,55,55,126,126,18,255,255,255,255,255,18,126,55,55,55,55,55,53,53,53,104,18,18,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,18,104,55,53,53,53,53,53,55,55,55,55,126,18,255,255,255,255,255,18,126,55,55,55,55,55,55,53,53,104,104,104,18,255,255,255
db 255,255,255,255,255,255,255,255,255,18,104,104,55,55,55,55,55,55,55,126,126,126,126,18,255,255,255,255,255,18,126,126,55,55,55,55,55,55,55,55,55,104,104,18,255,255
db 255,255,255,255,7,7,7,7,7,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,7,7,7,7,7,255,18,126,126,126,126,126,126,126,126,126,126,126,126,126,18,7
db 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,7

megaman4 db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,255,255,255,255,255,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,18,255,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,22,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,22,18,18,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,18,22,22,22,18,22,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,22,22,22,22,22,22,22,22,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,18,18,22,18,22,18,18,22,22,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,17,17,17,18,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,18,18,18,18,66,18,18,18,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,255,255,17,55,17,55,17,17,255,255,255
db 255,255,255,18,18,18,18,255,255,255,255,18,18,18,18,18,66,18,18,67,18,18,18,18,18,18,18,18,18,255,255,255,255,255,255,255,17,126,55,17,55,17,55,17,255,255
db 255,255,255,18,104,104,104,18,255,255,255,255,18,18,18,18,18,42,15,18,15,67,66,18,18,18,18,18,18,255,255,255,17,17,17,17,17,126,55,17,55,17,55,17,255,255
db 255,255,18,104,104,104,55,104,18,255,255,255,255,18,255,15,18,66,15,18,15,15,66,18,67,65,18,18,255,255,17,17,17,53,53,53,17,104,55,17,55,17,55,17,255,255
db 255,255,18,104,104,55,55,104,104,18,18,18,18,18,255,15,18,66,15,18,15,15,66,18,67,65,18,18,18,18,53,53,53,53,53,53,17,104,55,55,55,55,53,17,255,255
db 255,255,255,18,104,55,55,55,104,104,104,104,104,104,18,42,66,66,15,15,15,66,66,66,67,65,18,125,125,18,53,53,53,126,126,126,17,55,55,55,55,53,17,255,255,255
db 255,255,255,255,18,104,55,55,55,53,53,53,53,52,18,42,66,66,66,66,66,66,66,65,65,18,126,52,52,18,53,53,53,126,126,126,17,55,55,55,53,53,17,255,255,255
db 255,255,255,255,255,18,55,55,55,55,55,55,53,52,18,42,15,15,15,15,66,66,65,18,18,126,52,52,125,18,104,126,126,126,126,17,104,55,55,53,53,17,255,255,255,255
db 255,255,255,255,255,18,55,55,104,104,104,104,104,53,52,18,40,40,40,40,65,65,18,18,126,52,52,125,18,18,18,126,126,126,17,104,55,55,17,17,17,255,255,255,255,255
db 255,255,255,255,255,18,55,104,104,104,104,104,18,18,18,18,18,18,18,18,18,18,126,126,52,52,125,18,18,255,255,18,18,18,17,55,53,53,255,255,255,255,255,255,255,255
db 255,255,255,255,18,104,104,104,18,18,18,18,18,255,255,255,18,52,52,52,52,126,52,52,52,125,125,18,255,255,255,255,255,255,17,17,17,17,255,255,255,255,255,255,255,255
db 255,255,255,255,18,18,18,18,255,255,255,255,255,255,255,255,255,18,18,52,52,52,52,52,52,125,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,52,52,52,52,125,18,18,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,18,18,18,18,18,104,104,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,55,55,55,55,55,104,104,104,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,52,18,18,104,55,55,55,55,104,104,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,125,52,52,52,18,104,104,104,18,18,52,52,125,18,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,18,126,126,18,125,52,125,18,18,18,18,18,125,52,52,52,125,18,18,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,104,126,126,18,125,18,255,255,255,255,255,18,125,52,52,18,104,104,18,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,55,55,126,126,18,18,255,255,255,255,255,255,18,125,18,55,55,104,104,18,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,55,55,53,126,126,18,18,255,255,255,255,255,255,18,126,55,55,53,104,104,18,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,104,55,53,53,53,126,126,18,255,255,255,255,255,255,18,126,55,55,53,53,104,104,18,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,18,18,55,53,53,53,53,126,126,18,255,255,255,255,255,18,126,55,55,55,53,53,53,104,18,18,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,18,18,55,55,53,53,53,55,55,126,18,255,255,255,255,255,18,126,126,55,55,55,55,53,53,104,104,18,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,24,24,18,104,104,55,53,53,53,55,55,55,126,126,18,255,255,255,255,255,18,126,55,55,55,55,55,53,53,53,104,18,18,255,255,255,255
db 255,255,255,255,255,255,255,24,24,24,18,104,55,53,53,53,53,53,55,55,55,55,126,18,24,24,24,24,24,18,126,55,55,55,55,55,55,53,53,104,104,104,18,24,24,255
db 255,255,255,255,255,255,24,24,24,18,104,104,55,55,55,55,55,55,55,126,126,126,126,18,24,24,24,24,24,18,126,126,55,55,55,55,55,55,55,55,55,104,104,18,24,24
db 255,255,255,255,24,24,24,24,24,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,24,24,24,24,24,24,18,126,126,126,126,126,126,126,126,126,126,126,126,126,18,24
db 7,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,18,18,18,18,18,18,18,18,18,18,18,18,18,18,24

;36 x 46
megaman_muerto db 255,255,255,255,255,255,255,255,255,255,255,255,255,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,17,17,17,17,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,17,8,8,17,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,17,17,17,17,8,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,17,17,17,8,8,8,8,8,8,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,17,8,17,17,8,8,8,8,8,8,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,17,8,8,17,17,17,17,8,8,8,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,112,255,255,255,255,17,17,17,17,65,65,65,65,17,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,112,255,255,255,255,17,17,255,65,17,17,17,65,65,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255
db 112,255,255,17,255,255,112,112,255,255,255,17,17,66,66,66,66,66,255,65,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255
db 112,112,112,17,17,255,255,112,255,255,17,17,17,17,17,17,17,17,66,255,17,17,65,17,17,17,17,17,255,255,255,255,255,255,255,255
db 17,17,112,112,112,112,112,112,255,255,17,66,17,17,17,17,17,17,66,66,65,65,65,17,17,17,17,255,255,255,255,255,255,255,255,255
db 17,127,127,127,112,112,112,112,255,17,17,66,17,17,255,255,255,17,66,65,65,65,17,17,17,255,255,255,255,255,255,255,255,255,255,255
db 17,127,54,127,127,112,112,112,112,112,17,66,17,17,255,255,17,17,255,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255
db 17,17,54,54,54,54,54,112,112,53,17,66,66,17,17,17,17,66,66,17,17,17,17,17,17,17,17,255,255,255,255,255,255,255,255,255
db 255,17,127,127,54,54,127,112,112,255,17,17,66,66,66,66,17,17,17,17,52,52,255,17,17,255,255,17,17,255,255,17,17,17,255,255
db 255,17,54,54,54,54,127,17,112,112,112,52,17,255,17,17,17,17,53,53,52,52,52,17,17,52,52,53,17,17,17,17,255,17,255,255
db 255,17,127,127,127,17,17,17,255,112,112,112,17,17,17,52,52,53,53,255,255,255,52,17,53,52,52,52,53,127,54,255,255,17,17,255
db 127,127,127,127,17,17,255,255,255,53,52,112,112,112,52,53,53,53,255,255,255,255,17,17,53,53,52,53,127,54,54,255,54,255,17,255
db 17,17,17,17,17,255,255,255,255,53,112,112,112,112,112,112,53,255,255,255,255,255,255,17,17,53,53,127,54,54,127,54,54,54,17,17
db 255,255,255,255,255,255,255,255,17,112,112,17,112,112,112,112,112,112,255,255,255,255,255,255,17,17,127,127,127,255,127,127,54,255,17,17
db 255,255,255,255,255,255,255,255,112,112,53,53,112,112,54,127,127,17,112,255,255,255,255,255,17,17,17,127,255,255,255,127,17,17,17,17
db 255,255,255,255,255,255,255,112,112,54,53,112,112,112,54,127,127,17,112,112,255,255,255,255,255,17,17,255,17,17,17,17,17,255,255,255
db 255,255,255,255,255,112,112,112,17,54,112,112,54,112,127,127,17,17,255,112,112,255,255,255,255,17,17,17,17,255,255,255,255,255,255,255
db 255,255,255,112,112,112,17,17,17,17,112,112,54,112,112,17,17,17,255,255,255,112,112,112,255,255,17,17,17,255,255,255,255,255,255,255
db 255,255,112,112,255,17,17,52,52,17,112,112,127,112,112,53,53,17,255,255,255,255,255,112,112,255,255,255,255,255,255,255,255,255,255,255
db 255,112,112,17,17,17,52,52,52,53,112,17,17,17,112,53,53,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,255,17,17,17,54,17,112,17,17,53,112,112,53,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,255,17,17,17,17,17,17,17,17,52,112,112,53,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,255,54,54,127,112,127,127,127,17,52,52,112,112,17,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,17,17,54,54,54,112,127,127,127,17,52,52,52,53,17,17,127,127,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,54,112,112,54,54,127,127,17,52,52,53,17,17,255,127,127,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,17,112,112,112,54,54,54,127,17,53,53,17,17,255,255,255,127,127,17,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,112,112,54,54,54,127,127,17,17,17,17,255,54,255,255,127,127,127,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,112,112,17,127,127,127,127,17,17,255,54,54,54,255,255,255,127,127,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,112,255,17,17,54,54,127,17,17,255,54,54,54,54,255,255,127,127,17,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,112,112,255,255,17,54,54,127,17,17,255,255,54,54,54,54,255,127,127,127,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,112,112,255,255,17,127,54,127,127,17,17,255,255,54,54,255,127,127,127,127,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,112,255,255,255,17,17,127,127,17,17,17,17,17,17,17,17,127,127,127,127,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,112,255,255,255,255,17,17,127,255,255,255,17,255,255,255,255,255,127,127,17,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,112,112,255,255,255,255,255,17,17,17,255,255,17,255,54,54,54,255,127,127,17,17,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,17,54,54,54,255,127,17,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,17,54,255,127,127,17,17,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,17,127,127,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,17,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255
db 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,17,17,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255


megaman_posX  dw ?
megaman_posY dw ?
megaman_ancho dw ?
megaman_alto dw ?
megaman_finalX dw ?
megaman_finalY dw ?

megaman_sprite dw ?


	ladrillo db 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
	db 8,25,25,25,25,25,8,25,25,25,25,25,8,25,25,25,25,25,8,25,25,25,25,25
	db 8,25,25,25,25,25,8,25,25,25,25,25,8,25,25,25,25,25,8,25,25,25,25,25
	db 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
	db 25,25,25,8,25,25,25,25,25,8,25,25,25,25,25,8,25,25,25,25,25,8,25,25
	db 25,25,25,8,25,25,25,25,25,8,25,25,25,25,25,8,25,25,25,25,25,8,25,25
	db 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8
	
	bala db 1,1
	
	bala_posX dw ?
	bala_posY dw ?
	bala_ancho dw 2
	bala_alto dw 1
	bala_finalX dw ?
	bala_finalY dw ?
	bala_disparada dw 0
	
	.code
main proc
	mov ax,@data
	mov ds,ax
	
	mov sp,TAMTOT
	mov ah,4ah
	mov bx,2048
	int 21h
	
	call Reservar_Memoria

	; ======================== Modo Video
	mov ah,0fh
	int 10h
	mov modovideo,al
	
	mov ah,0
	mov al,13h
	int 10h
	
	mov dh,4
	mov dl,2
	call gotoxy
	
	lea dx,mensaje1
	mov ah,9
	int 21h
	
	mov dh,6
	mov dl,2
	call gotoxy
	
	lea dx,mensaje2
	mov ah,9
	int 21h
	
	mov dh,9
	mov dl,2
	call gotoxy
	
	lea dx,mensaje3
	mov ah,9
	int 21h
	
	mov dh,12
	mov dl,2
	call gotoxy
	
	lea dx,mensaje4
	mov ah,9
	int 21h
	
	mov dh,15
	mov dl,2
	call gotoxy
	
	lea dx,mensaje5
	mov ah,9
	int 21h
	
	mov ah,1
	int 21h
	
	PUSH     ES                           ; Guardamos ES
    MOV      AX, WORD PTR [BufSeg]
    MOV      ES, AX
	
	; ======================== Dibujar en Buffer
	
	call Limpiar_Pantalla
	
	call Pintar_Fondo
	
	mov pj_posX,10
	mov pj_posY,162
	
	mov pj_ancho,25
	mov pj_alto,31
	
	mov megaman_ancho,29
	mov megaman_alto,52
	
	mov megaman_posX,270
	mov megaman_posY,0
	
	
	
	sprite_rambo:
		in al,60h
		cmp al,01h ; Tecla Esc
			je salir
		; Mover izquierda <-
		cmp al,75	; 75 = codigo de flecha izquierda
			je rambo_izquierda 
		; Mover derecha ->
		cmp al, 77
			je rambo_derecha
		; Mover abajo
		cmp al,80
			je rambo_abajo
		; Mover arriba 
		cmp al,72
			je rambo_arriba 
		cmp al,39h
			je rambo_dispara
		jmp rambo_respirando
	jmp sprite_rambo
	
; =================================================== PERSONAJE RESPIRANDO
rambo_respirando:

	;mov cx,0
	cmp bala_disparada,0
	je no_mostrar_bala
		call Bala_Continuar	
	no_mostrar_bala:
	
	call Megaman_a_Buffer
	
	; ==================== Devniel [ Guardar en Buffer ]
		mov pj_ancho,28
		mov pj_alto,32
		lea bx,devniel
		mov dx,[BufSeg]
		call Sprite_a_Buffer
		
	; ==================== Volcar Buffer a Pantalla
		call Buffer_a_Pantalla
		
	; =================== Borrar y pintar fondo
		call Pintar_Fondo
		
	; =================== Devniel [ Guardar en Buffer ]
		mov pj_ancho,29
		mov pj_alto,32
		lea bx,devniel2
		mov dx,[BufSeg]
		call Sprite_a_Buffer
	
	; ====================== Megaman [ Guardar en Buffer ] 
		call Megaman_a_Buffer2
		
	; ======================= Bala 
		cmp bala_disparada,0
		je no_mostrar_bala2
			call Bala_Continuar	
		no_mostrar_bala2:
	; ====================== Volcar Buffer en Pantalla
		call Buffer_a_Pantalla
		
	; ====================== Limpiar fondo
		call Pintar_Fondo
	
	jmp sprite_rambo
	
; ===================================================	PERSONAJE DERECHA
	
rambo_derecha:

		cmp bala_disparada,0
			je no_mostrar_bala3
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala3:
		
		call Megaman_a_Buffer
		
		; ======================== Personaje
		mov pj_ancho,25
		mov pj_alto,32
		lea bx,devniel_caminando_derecha1
		mov dx,[BufSeg]
		
		call Sprite_a_Buffer
		
		cmp bala_disparada,0
			je no_mostrar_bala4
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala4:
			
		call Buffer_a_Pantalla
		call Pintar_Fondo
		
		add pj_posX,1
		
		call Megaman_a_Buffer2
		
		; Sprite rambo
		mov pj_ancho,24
		mov pj_alto,32
		lea bx,devniel_caminando_derecha2
		mov dx,[BufSeg]
		call Sprite_a_Buffer
		
		cmp bala_disparada,0
			je no_mostrar_bala5
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala5:
			
		call Buffer_a_Pantalla
		call Pintar_Fondo
		
		add pj_posX,1
		call Megaman_a_Buffer
		
		; Sprite rambo
		mov pj_ancho,25
		mov pj_alto,32
		lea bx,devniel_caminando_derecha3
		mov dx,[BufSeg]
		call Sprite_a_Buffer
		
		cmp bala_disparada,0
			je no_mostrar_bala6
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala6:
			
		call Buffer_a_Pantalla
		call Pintar_Fondo
		
		add pj_posX,1
		call Megaman_a_Buffer2
		
		; Sprite rambo
		mov pj_ancho,24
		mov pj_alto,32
		lea bx,devniel_caminando_derecha2
		mov dx,[BufSeg]
		call Sprite_a_Buffer
		
		cmp bala_disparada,0
			je no_mostrar_bala7
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala7:
			
		call Buffer_a_Pantalla
		call Pintar_Fondo
		
		add pj_posX,1
		call Megaman_a_Buffer
		
		; Sprite rambo
		mov pj_ancho,25
		mov pj_alto,32
		lea bx,devniel_caminando_derecha1
		mov dx,[BufSeg]
		call Sprite_a_Buffer
		
		cmp bala_disparada,0
			je no_mostrar_bala8
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala8:
			
		call Buffer_a_Pantalla
		call Pintar_Fondo
		
		add pj_posX,1
		call Megaman_a_Buffer2
		
		; Sprite rambo
		mov pj_ancho,22
		mov pj_alto,32
		lea bx,devniel_caminando_derecha4
		mov dx,[BufSeg]
		call Sprite_a_Buffer
		
		cmp bala_disparada,0
			je no_mostrar_bala9
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala9:
			
		call Buffer_a_Pantalla
		call Pintar_Fondo
		
		add pj_posX,1
		call Megaman_a_Buffer
		
		; Sprite rambo
		mov pj_ancho,22
		mov pj_alto,32
		lea bx,devniel_caminando_derecha5
		mov dx,[BufSeg]
		call Sprite_a_Buffer
		
		cmp bala_disparada,0
			je no_mostrar_bala10
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala10:
			
		call Buffer_a_Pantalla
		call Pintar_Fondo
		
		add pj_posX,1
		call Megaman_a_Buffer2
		
		; Sprite rambo
		mov pj_ancho,22
		mov pj_alto,32
		lea bx,devniel_caminando_derecha6
		mov dx,[BufSeg]
		call Sprite_a_Buffer
		
		cmp bala_disparada,0
			je no_mostrar_bala11
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala11:
			
		call Buffer_a_Pantalla
		call Pintar_Fondo
		
		add pj_posX,1
		call Megaman_a_Buffer
		
		; Sprite rambo
		mov pj_ancho,27
		mov pj_alto,32
		lea bx,devniel_caminando_derecha7
		mov dx,[BufSeg]
		call Sprite_a_Buffer
		
		cmp bala_disparada,0
			je no_mostrar_bala12
		call Bala_Continuar	; Copia en Buffer la bala
			no_mostrar_bala12:
			
		call Buffer_a_Pantalla
		call Pintar_Fondo
		
	jmp sprite_rambo

; ===================================================	PERSONAJE IZQUIERDA

rambo_izquierda:

	cmp bala_disparada,0
	je no_mostrar_bala13
		call Bala_Continuar	
	no_mostrar_bala13:
	
	sub pj_posX,1
	
	mov pj_ancho,28
	mov pj_alto,32
	lea bx,devniel
	call Dibujar_Sprite
	
	jmp	sprite_rambo

; ===================================================	PERSONAJE ABAJO

rambo_abajo:
	cmp bala_disparada,0
	je no_mostrar_bala14
		call Bala_Continuar	
	no_mostrar_bala14:
	
	add pj_posY,1
	jmp rambo_respirando
	
; ===================================================	PERSONAJE ARRIBA

rambo_arriba:
	cmp bala_disparada,0
	je no_mostrar_bala15
		call Bala_Continuar	
	no_mostrar_bala15:
	
	sub pj_posY,1
	jmp rambo_respirando
	
; =================================================== Personaje disparo
rambo_dispara:
	
	mov pj_ancho,30
	mov pj_alto,32
	lea bx,devniel_disparo
	mov dx,[BufSeg]
	call Sprite_a_Buffer
	; ==================== Volcar Buffer a Pantalla
	
	call Bala_a_Buffer
		
	call Megaman_a_Buffer
	
	call Buffer_a_Pantalla
	; =================== Borrar y pintar 
	call Pintar_Fondo

	jmp sprite_rambo
	

	mov ah,1
	int 21h
	
	pop es
	
	salir:
	mov al,modovideo
	mov ah,0
	int 10h
	
	call Liberar_Memoria
	
	mov ah,4ch
	int 21h
	
main endp


gotoxy proc
		push bx
		push ax
		mov bh,0
		mov ah,2
		int 10h
		pop ax
		pop bx
		ret
gotoxy endp

;=============================================================== Megaman a Buffer

Megaman_a_Buffer proc
		pusha
		; =================== Megaman [ Guardar en Buffer ]
		;mov ax,bala_posX
		;cmp megaman_posX,ax
		;jg megaman_muerto_1
		mov ax,megaman_posX
		cmp bala_posX,ax
		jg megaman_muerto_1
		
		cmp megaman_posY,160
		jge megaman_detenido
		add megaman_posY,5
		
		
		
		cmp megaman_posY,60
		jg megaman2_loop
		
		
		megaman1_loop:
			mov megaman_ancho,30
			mov megaman_alto,49
			lea bx,megaman
			jmp megaman1_normal
			
		megaman_detenido:
			mov megaman_ancho,46
			mov megaman_alto,38
			lea bx,megaman3
			jmp megaman1_normal
			
		megaman_muerto_1:
			mov megaman_ancho,36
			mov megaman_alto,46
			lea bx,megaman_muerto
			mov bala_disparada,0
			jmp megaman1_normal
			
		megaman2_loop:
			mov megaman_ancho,28
			mov megaman_alto,41
			lea bx,megaman2
			
		megaman1_normal:
		mov dx,[BufSeg]
		call Sprite_a_Buffer_Megaman
		popa
		ret
Megaman_a_Buffer endp

Megaman_a_Buffer2 proc
	pusha
	
	;mov ax,bala_posX
	;cmp megaman_posX,ax
	;jg megaman_muerto_2
		mov ax,megaman_posX
		cmp bala_posX,ax
		jg megaman_muerto_2
		
		cmp megaman_posY,160
		jge megaman2_detenido
		add megaman_posY,5
		
		cmp megaman_posY,60
		jg megaman2_loop2
		
		megaman1_loop2:
			mov megaman_ancho,30
			mov megaman_alto,49
			lea bx,megaman
			jmp megaman2_normal
			
		megaman2_detenido:
			mov megaman_ancho,46
			mov megaman_alto,38
			lea bx,megaman4
			mov dx,[BufSeg]
			jmp megaman2_normal
			
		megaman_muerto_2:
			mov megaman_ancho,36
			mov megaman_alto,46
			mov dx,[BufSeg]
			lea bx,megaman_muerto
			mov bala_disparada,0
			jmp megaman2_normal
			
		megaman2_loop2:
			mov megaman_ancho,28
			mov megaman_alto,41
			lea bx,megaman2
			
		megaman2_normal:
		mov dx,[BufSeg]
		call Sprite_a_Buffer_Megaman
	popa
	ret
Megaman_a_Buffer2 endp


Bala_a_Buffer proc
	;pusha
	
	mov bala_disparada,1
	
	mov ax,pj_posX
	add ax,32
	mov bala_posX,ax
	mov ax,pj_posY
	add ax,14
	mov bala_posY,ax
	mov dx,[BufSeg]
	call Sprite_a_Buffer_Bala
	
	;popa
	
	ret
Bala_a_Buffer endp

Bala_Continuar proc
	;pusha
	
	add bala_posX,5
	mov dx,[BufSeg]
	call Sprite_a_Buffer_Bala
	
	;popa
	ret
Bala_Continuar endp

;=============================================================== DIBUJAR Sprite_a_Buffer

Dibujar_Sprite proc
	pusha
	; Necesita en bx el dato del Sprite_a_Buffer
	; Necesita el ancho y alto del Sprite_a_Buffer
	; Ancho = pj_ancho
	; Alto = pj_alto
		call Sprite_a_Buffer
		call Buffer_a_Pantalla
		call Pintar_Fondo ; Fondo
		call sleep
	popa
	ret
Dibujar_Sprite endp

;=============================================================== RETRASO VERTICAL

VSync proc 
	pusha
    mov dx,03dah
    WaitNotVSync: ;wait to be out of vertical sync
    in al,dx
    and al,08h
    jnz WaitNotVSync
    WaitVSync: ;wait until vertical sync begins
    in al,dx
    and al,08h
    jz WaitVSync
	popa
    ret
VSync endp

;=============================================================== PINTAR FONDO

Pintar_Fondo proc
	pusha
	push es
	push ds
	push pj_posX
	push pj_posY
	
	; =========================================================== Pintar Fondo Negro
	
	mov xVal,0
	mov yVal,0
	
	mov ax,yVal
	mov cx,320
	mul cx
	add ax,xVal
	
	mov es,[BufSeg]
	mov di,ax
	
	mov al,0
	mov cx,64000
	p1:
		mov es:[di],al
		inc di
	loop p1	
	
	; ========================================================== Pintar vereda
	
	mov xVal,0
	mov yVal,190
	
	call Calcular_Offset
	
	mov es,[BufSeg]
	mov di,_offset
	
	mov al,22
	
	mov xVal,318
	mov yVal,190
	call Calcular_Offset
	mov cx,_offset
	
	pintar_loop:
		mov es:[di],al
		cmp di,cx
		jg vereda_oscuro
			mov al,22
			jmp vereda_pintar
		vereda_oscuro:
			mov al,29
		vereda_pintar:
		inc di
		cmp di,64000
		jl pintar_loop
		
		
	; ==================================================== Edificio 24x7
	; Comentado, produce retardo en el juego.
	
	;push pj_finalX
	;push pj_finalY
	
	;lea bx,ladrillo
	;mov dx,[BufSeg]
	;mov pj_posX,10
	;mov pj_posY,10
	;mov pj_alto,7
	;mov pj_ancho,24
	;call sprite
	;dibujar_edificio_paso1:
	;	mov pj_posX,10
	;dibujar_edificio:
	;	call sprite
	;	add pj_posX,24
	;	cmp pj_posX,70
	;	jl dibujar_edificio
	;	add pj_posY,6
	;	cmp pj_posY,190
	;	jl dibujar_edificio_paso1
	
	;pop pj_finalY
	;pop pj_finalX
	
	; ======================================================
		
	pop pj_posY
	pop pj_posX
	pop ds
	pop es
	popa
	ret
Pintar_Fondo endp

;============================================================== CALCULAR OFFSET DE SPRITE

Calcular_Offset proc
	pusha
	; En xVal : coordenada X
	; En yVal : coordenada Y	
		mov ax,yVal
		mov cx,320
		mul cx
		add ax,xVal
		
		; Offset en offset
		mov _offset,ax
	popa
	ret
Calcular_Offset endp

; ============================================================== LIMPIAR PANTALLA

Limpiar_Pantalla proc
	; ==================== Buffer 1
	
    cld
	xor di,di
	xor ax,ax
	mov ax,0
	mov cx,32000
	rep stosw
	ret
Limpiar_Pantalla  endp

; =============================================================== LIBERAR MEMORIA

Liberar_Memoria proc
	push es
	mov ax,[BufSeg]
	mov es,ax
	mov ah,49h
	int 21h
	pop es
	ret
Liberar_Memoria endp

;================================================ RESERVAR MEMORIA

Reservar_Memoria proc
	; Reserva memoria para los bufferes
	mov ah,48h
	mov bx,4000
	int 21h
	mov [BufSeg],ax ; Guardamos el segmento del bloque	
	ret
Reservar_Memoria endp

;================================================ BUFFER A PANTALLA

Buffer_a_Pantalla PROC
    ; Propósito : Copia 64 Kb desde
    ; Entrada   : MAX_BLOQUE, BufSeg
    ; Salida    :
    ; Destruye  : AX, CX, SI, DI
    PUSH      DS
    PUSH      ES

    MOV       AX, 0a000h
    MOV       ES, AX
    MOV       AX, WORD PTR [BufSeg]
    MOV       DS, AX
    XOR       SI, SI
    XOR       DI, DI
    MOV       CX, 64000  

	call VSync
		
	CLD
    REP       MOVSB
    POP       ES
    POP       DS
    RET
Buffer_a_Pantalla ENDP

; ============================================== PINTAR Sprite_a_Buffer EN BUFFER

Sprite_a_Buffer proc
		pusha
		; procedure --------------- sprite_personajemario
		; Esto afuera --> mov cuadrado_inicioX,100
		; Esto afuera --> mov cuadrado_inicioY,100
		; En BX el personaje
		; En DX el BUFFER
		;lea bx,rambo
		push es
		mov es,dx		
					
		; Calcular final X
		mov cx,pj_posX
		add cx,pj_ancho
		mov pj_finalX,cx
		
		; Calcular final Y
		mov cx,pj_posY
		add cx,pj_alto
		mov pj_finalY,cx
		
		; Empezar a pintar píxeles
		
		mov cx,pj_posX
		mov dx,pj_posY
		mov si,0
		paso2: mov cx,pj_posX
		paso1:
			cmp al,color_fondo
			je borrar
			mov al,[bx+si]
			cmp al,255
			je no_pintar
				mov al,[bx+si] ; Color
				jmp pintar
			borrar:
				mov al,color_fondo
			pintar:
			;mov ah,0ch
			;int 10h
			; Ahora directo al segmento
			; Calcular offSet
				; OffSet ; CX = X , DX = Y
				push dx
				push ax
				push cx
					mov ax,dx
					mov cx,320
					mul cx
				pop cx
					add ax,cx ; Offset = AX
					mov di,ax ; Pintar
					pop ax ; Recuperamos el color
					mov es:[di],al
				pop dx
			no_pintar:
			inc cx
			inc si
			cmp cx,pj_finalX
			jl paso1
			inc dx
			cmp dx,pj_finalY
			jl paso2
			
		pop es
		popa
		ret
	Sprite_a_Buffer endp
	
; ============================================== PINTAR Sprite_a_Buffer_Megaman EN BUFFER

Sprite_a_Buffer_Megaman proc
		pusha
		; procedure --------------- sprite_personajemario
		; Esto afuera --> mov cuadrado_inicioX,100
		; Esto afuera --> mov cuadrado_inicioY,100
		; En BX el personaje
		; En DX el BUFFER
		;lea bx,rambo
		push es
		mov es,dx		
					
		; Calcular final X
		mov cx,megaman_posX
		add cx,megaman_ancho
		mov megaman_finalX,cx
		
		; Calcular final Y
		mov cx,megaman_posY
		add cx,megaman_alto
		mov megaman_finalY,cx
		
		; Empezar a pintar píxeles
		
		mov cx,megaman_posX
		mov dx,megaman_posY
		mov si,0
		paso_megaman2: mov cx,megaman_posX
		paso_megaman1:
			cmp al,color_fondo
			je borrar_megaman
			mov al,[bx+si]
			cmp al,255
			je no_pintar_megaman
				mov al,[bx+si] ; Color
				jmp pintar_megaman
			borrar_megaman:
				mov al,color_fondo
			pintar_megaman:
			;mov ah,0ch
			;int 10h
			; Ahora directo al segmento
			; Calcular offSet
				; OffSet ; CX = X , DX = Y
				push dx
				push ax
				push cx
					mov ax,dx
					mov cx,320
					mul cx
				pop cx
					add ax,cx ; Offset = AX
					mov di,ax ; Pintar
					pop ax ; Recuperamos el color
					mov es:[di],al
				pop dx
			no_pintar_megaman:
			inc cx
			inc si
			cmp cx,megaman_finalX
			jl paso_megaman1
			inc dx
			cmp dx,megaman_finalY
			jl paso_megaman2
			
		pop es
		popa
		ret
	Sprite_a_Buffer_Megaman endp
	
; ============================================== PINTAR Sprite_a_Buffer_Megaman EN BUFFER

Sprite_a_Buffer_Bala proc
		pusha
		; procedure --------------- sprite_personajemario
		; Esto afuera --> mov cuadrado_inicioX,100
		; Esto afuera --> mov cuadrado_inicioY,100
		; En BX el personaje
		; En DX el BUFFER
		;lea bx,rambo
		push es
		mov es,dx		
					
		; Calcular final X
		mov cx,bala_posX
		mov dx,bala_posY
		
			; Calcular offSet
				; OffSet ; CX = X , DX = Y
				push ax
				push cx
					mov ax,dx
					mov cx,320
					mul cx
					pop cx
					add ax,cx ; Offset = AX
					mov di,ax ; Pintar ; Offset en DI
					pop ax ; Recuperamos el color
					
					mov cx,2
					mov al,7
						mov es:[di],al
						inc di
						
		pop es
		popa
		ret
Sprite_a_Buffer_Bala endp
	
; ============================================== PINTAR MEgaman

sprite_megaman proc
		pusha
		; procedure --------------- sprite_personajemario
		; Esto afuera --> mov cuadrado_inicioX,100
		; Esto afuera --> mov cuadrado_inicioY,100
		; En BX el personaje
		; En DX el BUFFER
		;lea bx,rambo
		push es
		mov es,dx		
					
		; Calcular final X
		mov cx,megaman_posX
		add cx,megaman_ancho
		mov megaman_finalX,cx
		
		; Calcular final Y
		mov cx,megaman_posY
		add cx,megaman_alto
		mov megaman_finalY,cx
		
		; Empezar a pintar píxeles
		
		mov cx,megaman_posX
		mov dx,megaman_posY
		mov si,0
		ppaso2: mov cx,megaman_posX
		ppaso1:
			cmp al,color_fondo
			je bborrar
			mov al,[bx+si]
			cmp al,255
			je nno_pintar
				mov al,[bx+si] ; Color
				jmp ppintar
			bborrar:
				mov al,color_fondo
			ppintar:
			;mov ah,0ch
			;int 10h
			; Ahora directo al segmento
			; Calcular offSet
				; OffSet ; CX = X , DX = Y
				push dx
				push ax
				push cx
					mov ax,dx
					mov cx,320
					mul cx
				pop cx
					add ax,cx ; Offset = AX
					mov di,ax ; Pintar
					pop ax ; Recuperamos el color
					mov es:[di],al
				pop dx
			nno_pintar:
			inc cx
			inc si
			cmp cx,megaman_finalX
			jl ppaso1
			inc dx
			cmp dx,megaman_finalY
			jl ppaso2
			
		pop es
		popa
		ret
	sprite_megaman endp

;================================================ SLEEP UTIL
 
sleep_util proc
		 push cx
		 mov cx,3000
	 L3: nop
		 nop
		 nop
		 nop
		 nop
		 nop
		 nop
		 nop
		 nop
		 nop
		 nop
		 loop L3
		 pop cx
		 ret
sleep_util endp

;================================================ SLEEP

sleep proc
		 push cx
		 mov cx,10
	  L5:call sleep_util
		 loop L5
		 pop cx
		 ret
sleep endp

;================================================

rectangulo proc
		pusha
		; INICIO (CX,DX)
		; FINAL (SI,BX)
		mov ah,0ch
		
	r2: mov cx,0
	r1: int 10h
		inc cx
		cmp cx,si
		jl r1
		inc dx
		cmp dx,bx
		jl r2
			
		popa
		ret	
rectangulo endp

end main