jltursan
|
|
« Respuesta #30 : 01 de Marzo de 2007, 09:33:27 pm » |
|
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. UnxUtilslos 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 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
|
|
« 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 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
|
|
|
|
andrear1979
Karoshi Newbie
Mensajes: 13
|
|
« 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 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 . 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
|
|
« 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 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
|
|
|
|
andrear1979
Karoshi Newbie
Mensajes: 13
|
|
« Respuesta #37 : 02 de Marzo de 2007, 01:31:15 pm » |
|
No problems. I think to create my own utility 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 . 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
|
|
« Respuesta #39 : 02 de Marzo de 2007, 06:00:54 pm » |
|
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 ).
|
|
|
En línea
|
|
|
|
nerlaska
|
|
« 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
|
|
|
|
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 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 . Claro que a lo peor no existe.
|
|
|
En línea
|
|
|
|
|