MiguelSky escribió:Dinoneno, estoy trasteando con él (como habrás visto en el foro de cpcwiki) pero me he dado cuenta de que no puedo averiguar el HIMEM desde la entrada de comandos, no me admite la orden PRINT HIMEM. ¿Cuál sería la sintaxis correcta? He leido que la variable sí está disponible. ¿Sólo podría usarla desde dentro del programa (por ejemplo crear una linea 10000 PRINT HIMEM y ejecutarla)?
Para CPC Basic HIMEM te da el último byte ocupado por el programa que estás ejecutando, incluyendo código y variables. Por eso sólo funciona dentro de un programa, cuando ya está compilado y se sabe el tamaño que tiene. En cada programa HIMEM te va a dar un valor distinto, dependiendo de lo que ocupe el programa.
Si lo necesitas para cargar código máquina a partir de HIMEM mejor tener el programa prácticamente finalizado para saber el valor de HIMEM. Eso sí, en cuanto hagas cualquier variación en el código el valor de HIMEM será diferente.
Si quieres saber el valor de HIMEM para cargar que no son código máquina, siempre puedes pokear a partir de HIMEM + 1 o cargar un fichero con LOAD "nombre", HIMEM+1.
Edito: He visto tu mensaje en CPCWiki. Ten en cuenta que el código generado por CPC Basic comienza desde &4000, pero también utiliza la memoria por debajo de &4000 como zona de trabajo interna. Si tienes RSX o código máquina ponlo a partir de &4000 más lo que ocupe el programa (podrías por ejemplo usar la salida Binary file y ver lo que ocupa en bytes).