• Domingo 22 de Diciembre de 2024, 13:43

Autor Tema:  Directdraw En Fasm  (Leído 2610 veces)

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Directdraw En Fasm
« en: Miércoles 31 de Enero de 2007, 22:00 »
0
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 !!
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Directdraw En Fasm
« Respuesta #1 en: Miércoles 31 de Enero de 2007, 23:41 »
0
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.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Directdraw En Fasm
« Respuesta #2 en: Jueves 1 de Febrero de 2007, 00:23 »
0
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:.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Directdraw En Fasm
« Respuesta #3 en: Jueves 1 de Febrero de 2007, 00:33 »
0
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:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Directdraw En Fasm
« Respuesta #4 en: Jueves 1 de Febrero de 2007, 00:34 »
0
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

Saludos

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Directdraw En Fasm
« Respuesta #5 en: Jueves 1 de Febrero de 2007, 00:45 »
0
Cita de: "pabloreda"
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.

Cita de: "pabloreda"
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++.

Cita de: "pabloreda"
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.

Cita de: "pabloreda"
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.

Cita de: "pabloreda"
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.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Directdraw En Fasm
« Respuesta #6 en: Jueves 1 de Febrero de 2007, 00:52 »
0
Cita de: "pabloreda"
pregunte en el foro de FASM..
http://board.flatassembler.net/forum.php?f=3
Y tambien lo sacaron  B)  SYSREDRAW era la culpable, aunque lo hizo off-line ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.