pitpan
|
|
« Respuesta #30 : 25 de Abril de 2008, 01:59:12 pm » |
|
Several people helped to do some C compiler comparison at MRC. IIRC both Artrag and JLTursan contributed, as well as many other MSXers. The original threads are these: (1) C compiler comparison(2) C compiler comparison - part twoAnyway, I doubt that any single C compiler will give the best solution whatsoever. Accepting this fact, we should look for the best overall solution or, perhaps, the one that provides higher flexibility. I'd like to make some tests regarding application development in C. I still think that assembler is the way for games (although that recent productions show that C is an option too), but maybe C compilers can provide an affordable development time for applications without compromissing performance. Any views regarding this?
|
|
|
En línea
|
|
|
|
jltursan
|
|
« Respuesta #31 : 25 de Abril de 2008, 02:26:32 pm » |
|
I doesn't really contributed too much, ARTRAG was the main tester. Most of the tests were speedwise, what about I'm really interested is in size optimizations (although with a good banking framework, the size is not so important of course). Por cierto, cuidado con el enlace que he publicado antes, te descargas el compilador; pero luego pide un código de registro...¡que no veo que te proporcionen por ningún lado! . No puede ser tan complicado, me debo estar liando con algo...
|
|
|
En línea
|
Doom dee doom dee doom
|
|
|
nerlaska
|
|
« Respuesta #32 : 25 de Abril de 2008, 04:56:15 pm » |
|
Hombre .. realmente en C se puede programar y bien .. cierto es que el SDCC no genera un código demasiado compacto/óptimo .. de hecho ninguna de las dos cosas .. pero no es tan importante la verdad. De hecho en un juego tienes el motor hecho en assembler inline .. el que he usado yo para los juegos que he montado tiene soporte Bitbuster, Pt3, Psg, Scc, Opll, Vdp y herramientas por doquier .. y se queda en menos de 8kb. Luego ya viene el núcleo de los juegos que eso si es C puro y duro y ahí si se notan los bytes. Pero bueno, teniendo soporte multibanco tampoco es un gran problema. Me alegra ver que se abre un nuevo hilo sobre el C y la gente piensa en el lado oscuro!!
|
|
|
En línea
|
|
|
|
Jos'b
|
|
« Respuesta #33 : 25 de Abril de 2008, 08:27:16 pm » |
|
HiTech have full asm support
You can both use this
#asm code here in asm #endasm
or this
asm("ld a,(_myvar)"); asm("xor a"); asm("ld (_myvar),a");
Gracias, para mi la mejor opción. Recuerdo que en su dia Airam hizo unas librerias para el HiTech, aunque creo que las hizo para el GFX9000, no estoy demasiado seguro. Sobre librerias graficas aqui tienes una que he encontrado: http://msx.jannone.org/Ahi por ahi otra de un japo, que si quieres, pues tu mismo ... Pues de momento me voy a quedar con la sugerencia de ARTRAG. Aunque ya me he descargado los archivos para echarle un vistazo. Por cierto he conseguido por fin compilar mis primeros programas. Básicamente fuentes que ya tenía hechas y, perfecto. Quizás salen demasiados mensajitos mientras compila para mi gusto, más que nada por que no sé de momento que quieren decir. Por último me gustaría que me recomendaras algún buen manual/tutorial o similar. Y por supuesto reiterar mi agradecimiento por tu información, has conseguido ampliar las posibilidades de mi MSX. Me alegra ver que se abre un nuevo hilo sobre el C y la gente piensa en el lado oscuro!! Yo también. Solo falta algún concurso opensource en C.
|
|
« Última modificación: 26 de Abril de 2008, 06:31:08 am por Jos'b »
|
En línea
|
|
|
|
Jos'b
|
|
« Respuesta #34 : 26 de Abril de 2008, 09:40:10 am » |
|
I still think that assembler is the way for games No te has planteado hacer alguna versión del AsMSX, aunque sea reducida, para MSX. Sería una buena opción para programar en ensamblador, indistintamente desde el PC o el MSX.
|
|
|
En línea
|
|
|
|
Jos'b
|
|
« Respuesta #35 : 26 de Abril de 2008, 07:06:33 pm » |
|
Por último me gustaría que me recomendaras algún buen manual/tutorial o similar. No hacerme mucho caso con este comentario. Todo lo que necesito (creo) está en la guia de usuario que viene comprimida en el archivo "z80doc.exe". Aunque admito consejos y detalle/s que haya/n que tener en cuenta, a la hora de programar con este compilador.
|
|
« Última modificación: 26 de Abril de 2008, 07:08:17 pm por Jos'b »
|
En línea
|
|
|
|
Jos'b
|
|
« Respuesta #36 : 27 de Abril de 2008, 11:42:30 am » |
|
Bueno pues continuo con mis problemas MSX y el C. He estado ensayando con este código, con ensamblador in-line. /* Fichero J_CLS.C Borra pantalla usando ensamblador "inline" */ #include <stdio.h>
void main(void); void cls(void);
void main(void) { cls(); }
void cls(void) { #asm xor a ld iy,65472 ld ix,195 call 29 #endasm } Y el compilador me da los siguiente errores, 1.- EOF in asm 2.- Undefined simbol: endasm De lo que deduzco, mirando el manual, que el problema "único" es que no reconoce la etiqueta "#endasm". Puesto que ambos errores están relacionados. He mirado el manual de arriba a abajo (por cierto hay partes del mismo que no existen), y no encuentro el por qué de esto. Tampoco veo en las opciones de compilación que haya que hacer nada especial para que el compilador reconozca las etiquetas #asm y #endasm. Si alguien me puede ayudar y decirme dónde me estoy equivocando. Se lo vuelvo a agradecer y prometo hacer un jueguecillo en C programado directamente en el MSX.
|
|
|
En línea
|
|
|
|
jltursan
|
|
« Respuesta #37 : 27 de Abril de 2008, 11:52:48 am » |
|
De Hitech no tengo ni idea; pero, ¿por qué no pruebas el método alternativo que comentó ARTRAG?
|
|
|
En línea
|
Doom dee doom dee doom
|
|
|
Jos'b
|
|
« Respuesta #38 : 27 de Abril de 2008, 04:29:13 pm » |
|
De Hitech no tengo ni idea; pero, ¿por qué no pruebas el método alternativo que comentó ARTRAG?
También lo he probado. Y el compilador no reconoce la instrucción asm(). De hecho en el manual no he conseguido encontrarla en la referencia a todas las funciones que soporta. Solamente hace una pequeña mención en un apartado que ni siquiera está titulado, y dice literalmente esto: There are two methods provided for in-line assembler code in C programs. The first allows several lines of This is assembler anywhere in a program. via the #asm and #endasm preprocessor directives. Any lines between these two directives will be copied straight through to the assem- bler file produced by the compiler. Alternatively you can use the asm("string"); construct anywhere a C statement is expected. The string will be copied through to the assembler file. Care should be taken with using in-line assembler since it may interact with compiler generated code.
Lo cierto es que me estaba atreyendo la idea de utilizar este C. Ya que el BDS es tan elemental que no te deja ni siquiera inicializar un array al declararlo. Así que de momento me gustaría agotar todas las vias posibles antes de desistir.
|
|
|
En línea
|
|
|
|
Jos'b
|
|
« Respuesta #39 : 27 de Abril de 2008, 06:53:35 pm » |
|
He estado probando el compilador bajo el MSX-DOS1 y compila bien. No emite ningún mensaje de error. (El resultado de ejecutar el .com es un bloqueo total, pero bueno lo importante para mí ahora son los mensajes de error).
¿ Tendrá algo que ver que lo este usando bajo MSX-DOS 2.2, FAT16 y SD en la tarjeta de de Padial ?
¿ Existe alguna alternativa que me permita usar el compilador sin renunciar a la configuración anterior ?
|
|
|
En línea
|
|
|
|
ARTRAG
Visitante
|
|
« Respuesta #40 : 27 de Abril de 2008, 07:01:53 pm » |
|
If anyone is interested in some ready to go examples to generate msx roms in HTC v7.8, I could try to share the code of some projects. I did a rom of 48K using the small memory model and a megarom of 512K using the SCC Konami mapper using the large memory model. I would attach them here, but the forum does not allow upload anymore. If anyone needs support in developing with the HTC I think I can help a bit, my experience at your service
|
|
|
En línea
|
|
|
|
k0ga
|
|
« Respuesta #41 : 27 de Abril de 2008, 07:59:25 pm » |
|
If anyone is interested in some ready to go examples to generate msx roms in HTC v7.8, I could try to share the code of some projects. I did a rom of 48K using the small memory model and a megarom of 512K using the SCC Konami mapper using the large memory model. I would attach them here, but the forum does not allow upload anymore. If anyone needs support in developing with the HTC I think I can help a bit, my experience at your service The first thing could be put 7.8 version in a site in which download it, because version from ht web ask for a code that I don't know where can be obtained. I have 7.5 version, and I don't know the diference with 7.8 version
|
|
|
En línea
|
|
|
|
ARTRAG
Visitante
|
|
« Respuesta #42 : 27 de Abril de 2008, 08:21:03 pm » |
|
do not worry v7.5 and v7.8 are almost the same if you need my samples send me an email, you can also use the address : ragozini at gmail you know the rest
|
|
|
En línea
|
|
|
|
jltursan
|
|
« Respuesta #43 : 27 de Abril de 2008, 10:04:37 pm » |
|
The first thing could be put 7.8 version in a site in which download it, because version from ht web ask for a code that I don't know where can be obtained. Indeed, seems that the 7.8 version can't be unlocked . From where can be downloaded the 7.5 version?
|
|
|
En línea
|
Doom dee doom dee doom
|
|
|
ARTRAG
Visitante
|
|
« Respuesta #44 : 27 de Abril de 2008, 10:55:40 pm » |
|
if you do not have any fear of viruses google for
"HI-TECH Z80 Compiler v7.50 Demo"
|
|
|
En línea
|
|
|
|
|