Duda: Memoria disponible variable en puntos que deberia ser fija

Started by FreeYourMind, September 26, 2011, 10:12:30 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

El write_int congela bennu, lo se porque tuve que cambiarlas a write, eso tampoco lo entiendo, hay tipos de variables que solo funcionan con write_int y otras con write...

SplinterGU

no congela, me canso de usarlos...

int a;

write_int(...  &a);

loop
a=lala();
frame;
end

eso no congela, pone el ejemplo que decis se congela.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

write_int(0, 200, 90, 0, memory_free());
write_int(0, 200, 100, 0, memory_free()/1024000);





write_int(0, 200, 90, 0, &memory_free());
write_int(0, 200, 100, 0, &(memory_free()/1024000));

ERROR: Can't get the address of an inmediate value





BoMbErLiNk

No hagas una llamada a una función usando write_int con &.
Write_int se actualiza solo, lo que debes pasarle es una variable, tal como ha puesto Splinter.

FreeYourMind

Wiz

  a = memory_free();
  b = memory_free()/1048576;
  write_int(0, 200, 90, 0, &a);
  write_int(0, 200, 100, 0, &b);


Output:

15069184
14

14938112
14

FreeYourMind

Quote from: SplinterGU on September 26, 2011, 06:47:37 PM
1 MB no es 1024000 es 1048576 = 1024*1024.

por otro lado, prueba hacer write_int y asignar los valores a esas variables int dentro del loop... no sea cosa que este en background el core del operativo con algun servicio o descargando algo...

otra cosa, estas con la consola conectada por cable? con driver de red? o la tienes sola, y pones y quitas la memoria?

por otro lado, antes y despues de arrancar el juego pon un


echo ---------------- >> log
cat /proc/uptime >> /log
ps -ef >> log
sync
juego...
ps -ef >> log
echo ---------------- >> log
sync


cada vez que reinicies la consola, copia el archivo de log y subilos aca.

a ver que da eso...



Test del ultimo prg en Wiz con:

echo ---------------- >> log
cat /proc/uptime >> /log1
ps -ef >> log
sync
#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime
echo 2 > /proc/cpu/alignment
bgdi TestMem.dcb
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu
ps -ef >> log
echo ---------------- >> log
sync

Output

14675968
13


log:

----------------
  PID  Uid     VmSize Stat Command
    1 root        532 S   init [3]   
    2 root            SW< [kthreadd]
    3 root            SW< [ksoftirqd/0]
    4 root            SW< [events/0]
    5 root            SW< [khelper]
   38 root            SW< [kblockd/0]
   42 root            SW< [kseriod]
   64 root            SW  [pdflush]
   65 root            SW  [pdflush]
   66 root            SW< [kswapd0]
   67 root            SW< [aio/0]
  199 root            SW< [mtdblockd]
  200 root            SW< [nftld]
  214 root            SW< [ubi_bgt0d]
  215 root            SW< [ubiblockd]
  222 root            SW< [kidle_timeout]
  230 root            SW< [kmmcd]
  242 root            SW< [ubifs_bgt0_0]
  267 root        456 S < /sbin/udevd --daemon
  613 root        880 S   -sh
  665 root            SW< [mmcqd]
  681 root            SW< [ubi_bgt1d]
  684 root            SW< [ubifs_bgt1_0]
  687 root            SW< [loop7]
  707 root        876 S   /bin/sh ./TestMem.gpe
  733 root        928 R   ps -ef


---------------------

14692352
14

----------------
  PID  Uid     VmSize Stat Command
    1 root        532 S   init [3]   
    2 root            SW< [kthreadd]
    3 root            SW< [ksoftirqd/0]
    4 root            SW< [events/0]
    5 root            SW< [khelper]
   38 root            SW< [kblockd/0]
   42 root            SW< [kseriod]
   64 root            SW  [pdflush]
   65 root            SW  [pdflush]
   66 root            SW< [kswapd0]
   67 root            SW< [aio/0]
  199 root            SW< [mtdblockd]
  200 root            SW< [nftld]
  214 root            SW< [ubi_bgt0d]
  215 root            SW< [ubiblockd]
  222 root            SW< [kidle_timeout]
  230 root            SW< [kmmcd]
  242 root            SW< [ubifs_bgt0_0]
  267 root        456 S < /sbin/udevd --daemon
  614 root        880 S   -sh
  668 root            SW< [mmcqd]
  682 root            SW< [ubi_bgt1d]
  687 root            SW< [ubifs_bgt1_0]
  690 root            SW< [loop7]
  710 root        876 S   /bin/sh ./TestMem.gpe
  738 root        928 R   ps -ef






SplinterGU

bue... pues no...

a ver...

primera pregunta... cuando se queda en el loop, los valores en pantalla se mueven o permanecen estaticos? si se mueven, lo hacen para arriba o para abajo o ambos sentidos?

script


#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime
echo 2 > /proc/cpu/alignment
echo - uptime --------------- >> log
cat /proc/uptime >> log
echo - ps -ef (1)--------------- >> log
ps -ef >> log
sync
echo - bgdi TestMem --------------- >> log
bgdi TestMem.dcb >> log
echo - ps -ef (2)--------------- >> log
ps -ef >> log
echo - fin --------------- >> log
sync
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu


prg

import "mod_time"
import "mod_string"
import "mod_mem";
import "mod_say";
private
m;
BEGIN
  m = memory_free();
  say( "mem_free() -> " + m + " [ " + format(m / (1024.0*1024.0),2) + " MB ]" );
END


proba esto, y en cada corrida guarda el archivo log y subilos aca, no los copies, atachalos.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Sigues con tu say... pero en wiz y caanoo como ves tu el say ?

SplinterGU

no necesitas ver nada, tienes que adjuntar los archivos log aqui...

hazte un curso de unix urgente... ya te lo dije varias veces, pero te encaprichas en no hacerlo... te ayudaria muchisimo de formas que no te imaginas a resolver los problemas...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

aca tenes un link de un curso cortito, basico y bastante claro...

http://www.todoprogramas.com/manuales/ficheros/2009/10.3555.1460.pdf

aca hay otro para complementar el anterior... es mas reducido, pero toca algunos temas/detalles que el otro no... (por si solo le falta para ser basico)

http://www.todoprogramas.com/manuales/ficheros/2008/12.9177.6781.pdf

otro mas completo, pero ya son 70 y pico de paginas

http://www.todoprogramas.com/manuales/ficheros/2008/12.3466.8445.pdf

espero no ofender con estas sugerencias, pero te aseguro que te ayudara a entender mucho de lo que preguntas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Macho si ahora curro sobre Linux, es una question de tiempo.
Luego te hago la prueba cuando llegue a casa.

SplinterGU

entonces estos cursos te vienen bien... los 2 ultimos tocan tambien sobre compilacion en C.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

Gracias, pero antes que eso tengo miles de lineas de codigo con comentarios en chino que leer xD

Rein (K´)ah Al-Ghul

Quote from: SplinterGU on September 27, 2011, 12:40:06 PM
aca tenes un link de un curso cortito, basico y bastante claro...

http://www.todoprogramas.com/manuales/ficheros/2009/10.3555.1460.pdf

aca hay otro para complementar el anterior... es mas reducido, pero toca algunos temas/detalles que el otro no... (por si solo le falta para ser basico)

http://www.todoprogramas.com/manuales/ficheros/2008/12.9177.6781.pdf

otro mas completo, pero ya son 70 y pico de paginas

http://www.todoprogramas.com/manuales/ficheros/2008/12.3466.8445.pdf

espero no ofender con estas sugerencias, pero te aseguro que te ayudara a entender mucho de lo que preguntas.
Grax por esto, no solo son utiles a free

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2