SoloCodigo
Programación General => ASM (Ensamblador) => Mensaje iniciado por: pabloreda en Miércoles 31 de Enero de 2007, 22:00
-
Hola
Estoy haciendo las funciones basicas para dibujar en pantalla.
El ejemplo que adjunto funciona, salvo que cuando salgo (con esc) tanto win98 como xp, manda un error.
Envio el codigo en asm y el exe
Lo que hice fue tomar el ejemplo que viene con FASM y modificarlo para escribir en memoria y que esta memoria se copie a la pantalla
El objetivo es lograr la mayor velocidad posible
Alguna ayuda o recomendacion es bienvenida
PD: quiero ser amigo de eternal idol !!
-
Bueno, le estoy dando una ojeada, despues de modificar un par de lineas al ddraw.inc lo pude ensamblar, mientras voy buscando un par de libritos que tengo por ahi sobre ddraw por si las moscas.
-
La verdad que depurar este tipo de cosas es una molestia infinita ... asi que decidi hacerlo en ventanita y no full screen.
El problema esta en SYSREDRAW, es llamada despues de que liberas todo en wmdestroy:.
-
Por cierto, una forma simple de solucionarlo es agregar esto en wmdestroy:
mov [DDSBack], 0
Y despues en SYSREDRAW:
cmp [DDSBack], 0
jz listo
;codigo
listo:
pop eax esi edi
ret
No se si sera lo ideal PERO funciona :lol:
-
gracias Eternal, lo que puedas hacer
todos los tutoriales de directx y eso usan C y lo necesito en asm
si te interesa me pasaron una libreria ILIX, pero como hace mas de lo que necesito y estas en MASM me complica un poco
si conoces otra forma de hacer lo mismo, tambien viene bien, aunque necesito si o si la memoria de video en RAM que despues la copie a VRAM
En breve empiezo con la misma interface para DexOS (So similar a la XboX) o un Super DOS (full 32 bits)
pregunte en el foro de FASM..
http://board.flatassembler.net/forum.php?f=3 (http://board.flatassembler.net/forum.php?f=3)
Saludos
-
gracias Eternal, lo que puedas hacer
Fuera de la polemica que ya sabemos quien busca y no pienso entrar, solo espero que te des cuenta de quien no te ayuda en lo mas minimo y quien ayuda siempre a cualquiera.
todos los tutoriales de directx y eso usan C y lo necesito en asm
Eso no es realmente muy problematico ya que una vez que le tomas la mano a los macros para COM y tenes las declaraciones es lo mismo usar asm que C o C++.
si te interesa me pasaron una libreria ILIX, pero como hace mas de lo que necesito y estas en MASM me complica un poco
No es que me interese o no pero no tengo mucho tiempo, entre el laburo y el estudio me quedo con las manos vacias.
si conoces otra forma de hacer lo mismo, tambien viene bien, aunque necesito si o si la memoria de video en RAM que despues la copie a VRAM
No es mi campo asi que no se, si se que es posible escribir directo a la memoria de la tarjeta de video desde modo Kernel ... hay que hacer un par de "hacks" con el DDraw ... bastante quilombo pero asi funciona el SoftIce por ejemplo.
En breve empiezo con la misma interface para DexOS (So similar a la XboX) o un Super DOS (full 32 bits)
Suerte con eso, yo te puedo ayudar con cosas puntuales, no con un proyecto. Si tenes problemas como estos de depuracion siempre estoy disponible, es algo que hago siempre aunque mayormente en modo Kernel B) Por cierto, esto lo saque con el WinDbg.
-
pregunte en el foro de FASM..
http://board.flatassembler.net/forum.php?f=3 (http://board.flatassembler.net/forum.php?f=3)
Y tambien lo sacaron B) SYSREDRAW era la culpable, aunque lo hizo off-line ...