Ayuda con código ASM (ejecutar programa externo)

Door AxelStone

Prophet (2701)

afbeelding van AxelStone

01-03-2016, 15:04

Buenas señores, necesito ayuda de los gurús del ASM. Estoy probando Animecha y me gustaría poder integrarlo en mi código en C. Animecha proporciona 2 reproductores: para Basic y para DOS.

La idea sería usar el player de DOS, válido para invocarse desde C. He encontrado el fuente en ASM, el programa termina saliendo al DOS. La idea sería terminar invocando a otro programa externo (por ejemplo game.com) de modo que el flujo pueda continuar, algo tal que:

exec GAME.com (No conozco la sintaxis)

Los fuentes de DPLAY están aquí. Toda ayuda es bien recibida.

Gracias :)

Aangemeld of registreer om reacties te plaatsen

Van AxelStone

Prophet (2701)

afbeelding van AxelStone

02-03-2016, 22:14

Cambio la pregunta, ya sé como hacerlo pero no consigo compilar los fuentes. ¿Alguien es capaz de compilarlos? Es que ando pez de ASM y me da fatal error, he intentado abrir DPLAY.ASM con el TED y el AKID y en ambos me salen caracteres extraños. ¿Con qué editor debo abrirlo?

Gracias.

Van Victor

Champion (470)

afbeelding van Victor

02-03-2016, 22:31

Desde el PC se puede editar perfectamente con el Edit Plus 3.

Echale un ojo a esta página y descargate el Pack-MSX para los tutoriales. Ahí va incluido el Edit Plus 3.

Van AxelStone

Prophet (2701)

afbeelding van AxelStone

02-03-2016, 22:34

Si desde el PC no tengo problema, de hecho uso el EditPadPlus recomendado por Nestor que es compatible con ASCII y todo correcto. El problema es dentro del MSX, que ningún editor lo abre y como me da Fatal Error al compilar usando el M80 no sé si es problema del fuente o del compilador.

Van Victor

Champion (470)

afbeelding van Victor

06-03-2016, 19:13

Ya he conseguido compilarlo.

Con este compilador ONLINE que funciona genial:

zasm – z80 online assembler

Le unes el DRIVER.ASM dentro del DISPLAY.ASM y arreglas todos los fallos de mayusculas y minusculas que hay. La verdad es que las fuentes tienen muchos fallos sintácticos....

Ya tengo el fuente listo para compilar. Si quieres me mandas un correo y te lo remito. El mío está en mi perfil.

Un saludo!!

Van AxelStone

Prophet (2701)

afbeelding van AxelStone

07-03-2016, 19:03

Lo he conseguido con el sjasm, en efecto había errores sintácticos (me lo ha soplado un colega), es que de ASM ando pelado. Quería preguntar: me gustaría convertirlo en un .BIN para usar desde MSX-C, por lo que la dirección de memoria no puede ser la 100h (ejecutable de DOS), ¿sabes por un casual en qué dirección de memoria debe ponerse?

Van Victor

Champion (470)

afbeelding van Victor

07-03-2016, 20:16

Tendrás que integrarlo dentro de tu programa en C. Seguro que hay alguna forma de meterle código compilado. Mira a ver que dirección de memoria tienes libre para trabajar y cambia el org 100h por lo que creas conveniente.

Van AxelStone

Prophet (2701)

afbeelding van AxelStone

07-03-2016, 20:29

Se puede invocar, pero si el fuente compila con M80, y linkas las funciones en el proceso de compilado. Como este fuente compila en SJASM, el camino más fácil es usarlo como librería: se genera un .BIN y se hace BLOAD desde MSX-C, vamos al más puro estilo BASIC. He probado a compilarlo en otra dirección que no fuera la 100h y llamarlo desde MSX-C y no funciona, algo se me escapa. Si alguien tiene alguna idea se lo agradezco. Mientras seguiré probando cosas.

Van arnold_m

Master (173)

afbeelding van arnold_m

10-03-2016, 22:25

Eché un ojo a los fuentes de DPLAY y no creo que sea muy difícil adaptarlos para M80.
Como expliqué en el hilo inglés hay hay que añadir un retorno de carro (CR) antes de cada salto de línea (LF). En windows puedes hacerlo con Notepad++; utiliza las ordenes Edit -> EOL Conversions -> Convert to Windows.
Cuando M80 acepte los fuentes, puedes adaptarlos para las convenciones de invocar (calling conventions) utilizadas por MSX-C.