Karoshi MSX Community
05 de Julio de 2021, 08:23:17 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: 1 2 [3] 4
  Imprimir  
Autor Tema: Como programar ROMS en C  (Leído 25353 veces)
0 Usuarios y 1 Visitante están viendo este tema.
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #30 : 01 de Marzo de 2007, 09:33:27 pm »

Citar
Por favor, alguien me podría pasar por privado la herramienta "split", me he descargado los archivos de Adrea1979, pero no soy capaz de bajarme esta utilidad. Gracias al que me pueda ayudar.

UnxUtils

Citar
los archivos ASM que genera SDCC solo son compilables por el propio SDCC ?.

El problema del ensamblador del SDCC es que es un poco especial y no sigue demasiado al estandar clásico del TASM. La verdad, para meter ensamblador en C, evidentemente es lo que hay que usar; pero como sustituto de un ensamblador auténtico, ni de coña Wink

Respecto a los benchmarks, ahora mismo tienes en el MRC un intento de encontrar el compilador de C más efectivo. A ver si consiguen algo y pueden llegar a alguna conclusión útil.
En línea

Doom dee doom dee doom
jjfranco
Visitante
« Respuesta #31 : 01 de Marzo de 2007, 09:47:01 pm »

Gracias, por la descarga.

En relacion a la comparacion, solo me referia a algo sencillo en el que se compare pues elementos tipicos del C, como por ejemplo los bucles, las condiciones, etc, para ver si se pierde mucha velocidad, o si ocupa mucho más tamaño, etc, no me referia a algo serio, simplemente algo para matar la curiosidad. Claro que tendría que hacerlo quien domine los lenguajes. Pero bueno, solo era una idea, yo este año quiero probar con el C a ver que tal va la cosa, Nerlaska me tiene medio convencido.
En línea
ARTRAG
Visitante
« Respuesta #32 : 02 de Marzo de 2007, 12:31:21 am »



Respecto a los benchmarks, ahora mismo tienes en el MRC un intento de encontrar el compilador de C más efectivo. A ver si consiguen algo y pueden llegar a alguna conclusión útil.

Well, even if the code tested has been manipulated by me in order to link the Hitech libraries, It seems
that SDCC is faster than Hitech C v7.8 that, in turn is faster that Hitech CPM
If we stay to Microtech tests (but I want to verify) Ascii C 1.2 is even faster than SDCC

Moreover I need to test IAR and WinIde also, to see how they behave
En línea
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #33 : 02 de Marzo de 2007, 06:40:10 am »

Job's .. ni lo dudes .. usa SDCC .. te lo digo yo . .que el año pasado me pegue con 5 compiladores diferentes!!! porque estaba igual que tú .. o sea .. que leches uso? ahora ya conoces a alguien que te asegura es la mejor opcion .. yo en mi dia .. no tuve a esa persona aunque Avelino Herrera formo parte de la inspiracion Smiley
El SDCC es fácil de usar y funciona perfectamente con Windows y otros sistemas operativos.
El Assembler del SDCC es una maravilla y se integra divinamente en el código.
El SDCC te deja hacer mil y una martingalas para compilar
Además de que te permite generar información muy interesante para poder hacer cositas (como los MegaRoms)
Montar una ROM de 48Kb con el SDCC esta chupao!
Montar un MEGAROM con el SDCC esta chupao! siempre y cuando no uses código fuera de las primeras 32Kb
  Nota: Si alguien tiene curiosidad. El Monster Hunter si usa código fuera de los 32Kb primeros.

Que más quieres que te diga, tirate ciegamente al SDCC!!! vas a ganar y mucho en tus desarrollos MSX. Y si necesitas ayuda de algún tipo, enviame un email. Ya te lo dije!!



En línea

MSX4EVER2GETHER
www.nerlaska.com
andrear1979
Karoshi Newbie
*
Mensajes: 13



WWW Email
« Respuesta #34 : 02 de Marzo de 2007, 11:47:32 am »

  Mis excusas Jos'b for not including a valid "split" link, I'm gonna
add the suggested link to the tutorial. Some (maybe obvious,
maybe wrong: I don't pretend to be a C guru) personal opinions
about SDCC:

1) negative: as this is a general 8bit C compiler, you have to
add MSX-specific code by yourself. Very limiting if you would
(for example) build a standard COM file using MSX-DOS.

2) positive: very similar to gcc, easier to learn you are already familiar
with it (gcc it's often used in academic/educational structures).

3) very positive: as it's a cross compiler, you get high compilation
speed, and can also interface easier with software you can hardly
have on MSX: syntax-coloring IDEs, complex makefiles, documentation
systems, binary manipulation programs, graphics packages... net result
is faster developing time.

Bye friends,

                                                                                 Andrea
En línea

"... all toghether, good bad and mean, shall last forever in the Software Bin"
jjfranco
Visitante
« Respuesta #35 : 02 de Marzo de 2007, 12:06:15 pm »

No problems.
I think to create my own utility  Cheesy

Vamos que no creo que sea dificil hacer una pequeña utilidad para generar cualquier tipo de archivo msx, (rom o bin), a partir del ".ihx" sin tener que usar varios programas externos Smiley.

Para mí lo más positivo del C u otros lenguajes frente al ASM (y hablo en general) es la posibilidad de poder montar estructuras logicas (del tipo if ... then ...) de una forma muy muy sencilla y rapida.
En línea
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #36 : 02 de Marzo de 2007, 01:02:00 pm »

Job's . .de Ihx a bin .. necesitas un Hex2Bin .. vamos que ya hay un programa asi para Windows Visual Studio si lo quieres y con fuentes
Y si lo quieres en EXE ya compilado y operativo .. me lo dices que te lo paso.

Y con el SDCC puedes programar ROMS, COM y lo que te de la santa gana .. de la manera más fácil del mundo .. pero claro .. ya te aviso de que has de olvidar usar los msxcrt.o y cosas que hay por ahi .. Andrear ha empezado mal sus andaduras por estas tierras del SDCC Smiley

Has de empezar a pelo, desde 0 .. que es muy fácil y has de tener control máximo sobre el código generado .. que quiere decir .. que no uses sus multiplicaciones ni divisiones .. usa las tuyas .. para asegurarte que todo el código generado se crea donde tu quieres. Recomendación MAXIMA!
En línea

MSX4EVER2GETHER
www.nerlaska.com
andrear1979
Karoshi Newbie
*
Mensajes: 13



WWW Email
« Respuesta #37 : 02 de Marzo de 2007, 01:31:15 pm »

No problems.
I think to create my own utility Cheesy

Vamos que no creo que sea dificil hacer una pequeña utilidad para generar cualquier tipo de archivo msx, (rom o bin), a partir del ".ihx" sin tener que usar varios programas externos Smiley.

  Hi Jos'b, SDCC comes with the "makebin" utility, that creates the binary
file from .ihx files. Would you ever create your own utility, I think it's much
simpler to alter makebin's output instead than .ihx (even for doing ROM to
BLOADABLE changes).

  I also think that MSX user Boukichi already suggested or made his own
ihx->rom filter (don't remember more details, sorry); finally, may worth to
look at http://srecord.sourceforge.net (complex but very complete package).

  Bye everyone,

Andrea
En línea

"... all toghether, good bad and mean, shall last forever in the Software Bin"
jjfranco
Visitante
« Respuesta #38 : 02 de Marzo de 2007, 04:35:08 pm »

Thanks Andrea

Job's . .de Ihx a bin .. necesitas un Hex2Bin .. vamos que ya hay un programa asi para Windows Visual Studio si lo quieres y con fuentes
Y si lo quieres en EXE ya compilado y operativo .. me lo dices que te lo paso.
Pues si no tienes inconveniente pásamelo por privado, voy a compararlo con las utilidades que ha indicado Andrea

Has de empezar a pelo, desde 0 .. que es muy fácil y has de tener control máximo sobre el código generado .. que quiere decir .. que no uses sus multiplicaciones ni divisiones .. usa las tuyas .. para asegurarte que todo el código generado se crea donde tu quieres. Recomendación MAXIMA!
A eso no sé a que te refieres. ¿ Qué no use los operadores matematicos del C ? Me gustaría que me pusieras un ejemplo.
En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #39 : 02 de Marzo de 2007, 06:00:54 pm »

Citar
A eso no sé a que te refieres. ¿ Qué no use los operadores matematicos del C ?

En general, para el uso que se le va a dar, las implementaciones de estos operadores matemáticos son un poco aparatosas. Ya no es sólo que no es necesario hacer operaciones con coma fija; sino que ni siquiera necesitaremos posiblemente decimales. Si se quiere rascar al máximo posible la velocidad y el tamaño, lo mejor es implementarse rutinillas de multiplicación y división reducidas a tope. En cualquier caso eso es si no nos queda otro remedio, lo más recomendable es conseguir que todas las operaciones se hagan con potencias de 2, con eso podremos utilizar desplazamientos que es lo más rápido y compacto.
En línea

Doom dee doom dee doom
jjfranco
Visitante
« Respuesta #40 : 02 de Marzo de 2007, 07:39:12 pm »

Oye gracias por la aclaración, no tenía ni idea que esas operaciones fueran tan impertinentes en el codigo final. Pero aún así, sigo sin comprenderlo muy bien, y si usamos vaolres enteros (p.e un "short int" o "char", el resultado de multiplicar un byte por otro, no deberia inflar el codigo en exceso  Huh).

En línea
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #41 : 02 de Marzo de 2007, 07:49:32 pm »

Mas que por inflar es porque el SDCC a menos que sea una multiplicacion VARIABLE * CONSTANTE .. lo que suele hacer es llamar a una rutina interna mul8 o mul16 que te agrega en codigo .. y tu no tienes control de donde te mete estas rutinas .. entiendes?
Por eso te lo digo .. porque si no tienes en cuenta estas cosas y luego quieres tener control 100% sobre tú código .. pues vas a tener problemas.
Pero claro ... si quieres puedes usarlas .. están bien .. lo que te aumentara un poquitin el espacio que vayas a usar. Ya te digo .. si simplemente quieres tu rutina dentro de los 32Kb .. pues no pasa nada si las usas.
Por cierto .. fíjate siempre en el archivo .MAP que te genera el SDCC es muy importante. En él, vas a ver todas las cosas que se han generado en tu código, etiquetas, variables, funciones .. TODO .. verás que direcciones se han asignado y que funciones se han agregado que tu en principio no esperabas.
Va bien para saber si todo esta correcto, el código está en su sitio y la RAM en el suyo también, etc.
En línea

MSX4EVER2GETHER
www.nerlaska.com
jjfranco
Visitante
« Respuesta #42 : 02 de Marzo de 2007, 08:34:35 pm »

Bueno, pos ya he hecho mi primero bloqueo de msx en C Grin

Tendreis noticias mias, para bien o para mal, os lo aseguro.

En línea
jjfranco
Visitante
« Respuesta #43 : 02 de Marzo de 2007, 08:35:18 pm »

Ah por cierto Nerlaska, Thank you
En línea
jjfranco
Visitante
« Respuesta #44 : 02 de Marzo de 2007, 08:45:05 pm »

Lo que no encuentro es alguna referencia al ensamblador del SDCC un poquitin extensa Huh. Claro que a lo peor no existe.
En línea
Páginas: 1 2 [3] 4
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!