SDCC

Door Tolemac

Expert (87)

afbeelding van Tolemac

11-04-2010, 20:00

Hola,

estoy realizando un pequeño desarrollo para probar las características del compilador cruzado SDCC. He conseguido realizar un pequeño programa que se ejecuta bajo MSX-DOS siguiendo las instrucciones que detalla Avelino Herrera Morales en su página:msx.atlantes.org/index_es.html#sdccmsxdos. También he encontrado la forma de realizar ROMs , también explicada en dicha página y en la página de Nerlaska: www.nerlaska.com/msx/.

A partir de aquí las preguntas:

1.- Es posible crear con SDCC un fichero binario que se pueda cargar mediante BLOAD?.
2.- Para acceder a una posición de memoria (lo mismo que PEEK en Basic), lo realizo de la siguiente forma:

printf("%x",*(char*)0x2D);

Esto es similar a PEEK(&H2D) en Basic?. Como se debería realizar el PEEK en SDCC?.

Lo que veo es que con SDCC el printf me devuelve cero, y no es posible ya que tengo un MSX2. Debería devolver 1. Lo estoy ejecutando desde MSX-DOS.

Saludos.

Aangemeld of registreer om reacties te plaatsen

Van anonymous

incognito ergo sum (109)

afbeelding van anonymous

12-04-2010, 09:41

Lo que veo es que con SDCC el printf me devuelve cero, y no es posible ya que tengo un MSX2. Debería devolver 1. Lo estoy ejecutando desde MSX-DOS.

No se hable más, ahí está el problema. En MSX-DOS en la página 0 visible por el Z80 no tienes la BIOS, sino RAM.

Van aorante

Resident (45)

afbeelding van aorante

13-04-2010, 19:19

Hola!
Yo creo que se puede crear sin ningun problema un bin para cargar desde basic, pero necesitarías incrustar al fichero resultante del hex2bin una cabecera como se hacen en las ROM.
En http://nocash.emubase.de/portar.htm#diskfileformats puedes encontrar la estructura de esta cabecera.
La dirección de ejecución seria la misma que la de inicio, la misma que indicas en el parámetro "code-loc" del compilador ejem: "--code-loc 0x8100" . La dirección final tendrías que calcularla en base al tamaño del bin + los 7 bytes de la cabecera. De todas formas estoy haciendo una aplicación para Windows para simplificar la compilación, tanto para hacer ROMs, como .COM y BINs lo que pasa es que todavía esta un poco verde.
Conectate a mi blog: http://psged.blogspot.com/
Voy contando mis experiencias con SDCC (he empezado hace poco), he puesto un ejemplo y cuando tenga la app la pondré para descargar.
Saludos!

Van Tolemac

Expert (87)

afbeelding van Tolemac

13-04-2010, 22:02

Muchas gracias por la información.

Aorante, lo que comentas en el blog es muy interesante y seguro que me servirá de ayuda. Yo también estoy empezando con SDCC. De momento haciendo pequeñas pruebas, recopilando información y resolviendo dudas. Mi intención es hacer un programa para recopilar a nivel de sistema toda la información de un MSX. Hay muchos programas disponibles, pero no e encontrado el código fuente de ninguno para investigar. Solución: hacer mi propio "Scanner de MSX". Ya iré comentando mis avances.

Cuando tengas la aplicación disponible ya nos avisarás. Has pensado en compilarla también para Linux?. Ya investigaré también al respecto. Uff!!!, una cosa más .....

Saludos.

Van aorante

Resident (45)

afbeelding van aorante

14-04-2010, 07:10

Las aplicaciones que estoy haciendo, utilizo Visual Basic.net y en un principio se deberían poder ejecutar en Linux, gracias al proyecto Mono:
http://www.mono-project.com/
Cuando lo publique, pondré los fuentes y podrás probarlo.