HispaMSX

Re: [hispamsx] Programa en C para MSX (hilo de www.msx.org)

2006-09-10 13:42:36
He probado esto:

        for( i2=pos_prim+1; *((int*)(&i2)) < pos_nick; i2++ )
        {
                LOGLN("Inside");
                
                
                //if( ((char*)0x8000)[i2] == 42 )
                //{
                        /*LOGLN("Branch a");*/
                        //putchar(42);
                //}
                // else
                // {
                        /*LOGLN("Branch b");*/
                // }
        }
También funciona. Ahora voy a quitar la parte comentada, que usa i2, pero me 
extrañaría que eso
hiciera que dejara de funcionar.


 --- Carlos de Santa-Ana Garcia <sdcdsg(_en_)yahoo(_punto_)es> escribió:

Carlos de Santa-Ana Garcia escribió:
Carlos de Santa-Ana Garcia escribió:
David Lucena escribió:
A la atención de Sd-Snatcher.

Soy Yakumo del www.msx.org. Bueno, allí tienes mi última contestación,
pero por si se continúa
podríamos discutirlo por aquí que es algo más accesible.

Te decía que no estoy seguro de que putchar esté en el stdio estándard
de C. Prueba con putc para
carácteres y puts para strings.

Un saludo.


   
  
Ya estaba yo pensando en venirnos aquí también, pero ya me ha compilado.

El programa arranca pero creo que aparece un viejo problema que ya
tratamos aquí, se inicia y:



*** Conection lost. Cause:


voy a ver los históricos que esto me suena.

Listo, he metido el z80.lib que me paso nestor y ya va bien, de momento
no he visto el famoso error de los enteros, voy a ver cuando salia.

En estos momento tengo el MSX en el IRC.

Un saludo.

Vaya, al final salio el BUG, y lo peor el truco que usaba para evitarlo 
ya no funciona (supongo que por la optimización), pero he encontrado 
otro, en vez de usar la variable en la comparación usar punteros:


                                strcpy(ctcpbuf,"NOTICE ");

                                i2=pos_prim+1;

                                
for(i2=pos_prim+1;(*(int*)&i2)<pos_nick;i2++)
                                {                                ^Aquí^
                                    tempchar[0]=((char*)0x8000)[i2];
                                    strcat(ctcpbuf,tempchar);

                                    puts("Enviar Version<--- \r\n\r\n");

                                }







                
______________________________________________ 
LLama Gratis a cualquier PC del Mundo. 
Llamadas a fijos y móviles desde 1 céntimo por minuto. 
http://es.voice.yahoo.com

<Anterior en la conversación] Conversación actual [Siguiente en la conversación>