DCelso, vi el parche, y no se porque dije que se carga todo el codigo PSP (bueno, en algun que otro caso si...), quiero preguntarte algunas cosas que veo...
por que esto? que bugs encontraste que hiciste esto?
Index: core/bgdc/src/c_code.c
===================================================================
--- core/bgdc/src/c_code.c (revision 277)
+++ core/bgdc/src/c_code.c (working copy)
@@ -1718,6 +1718,7 @@
return res ;
}
compile_error( MSG_NUMBER_REQUIRED ) ;
+ res.type.chunk[0].type=0;
return res ;
}
else if ( token.code == identifier_bnot ) /* "BNOT" or "~" */
@@ -1741,6 +1742,7 @@
return res ;
}
compile_error( MSG_NUMBER_REQUIRED ) ;
+ res.type.chunk[0].type=0;
return res ;
}
y esto?
Index: core/bgdrtm/src/sysprocs.c
===================================================================
--- core/bgdrtm/src/sysprocs.c (revision 286)
+++ core/bgdrtm/src/sysprocs.c (working copy)
@@ -231,6 +231,10 @@
unsigned int n ;
DCB_VAR rvar ;
void * rdata = NULL ;
+
+ rvar.Type.BaseType[0]=0;
+ rvar.Type.Members=0;
+ rvar.Type.Count[0]=0;
token_ptr = varfixup->var ;
y este otro?
static int moddir_cd( INSTANCE * my, int * params )
{
+#ifndef TARGET_PSP
char * d = dir_current() ;
int r = string_new( d ) ;
string_use( r ) ;
if ( d ) free( d ) ;
return r ;
+#else
+ char current_dir[PATH_MAX];
+ getcwd(current_dir,PATH_MAX);
+ int r = string_new( current_dir ) ;
+ string_use( r ) ;
+ return r ;
+#endif
}
despues veo que cuando cargas los fpg haces un swap (cosa que deberia hacerse automaticamente con en la fileread... si no lo hace me da la impresion que el codigo de deteccion de byteorder no esta soportando PSP, quizas ese sea la madre de los problemas)... y luego cuando usas el fpg volves a hacer otro swap de bytes... lo mire muy por arriba, pero me parece que algo raro hay.