Generar archivos .bin a partir de. bas

Por jorge.romero.9655

Master (147)

Imagen del jorge.romero.9655

17-04-2015, 11:27

Saludos comunidad.

Hoy estaba trasteando por la red y me he encontrado con este compilador de basic para Amstrad:

http://fremos.cheesetea.com/2014/05/18/compila-y-potencia-tu...

Aunque se ve que tiene sus fallos me ha llamado la atención ver que te genera directamente un .bin y que te deja aprovechar casi toda la memoria de Basic.

xbasic y nestorbasic solo te permiten crear bloques de unos 10kb, según entiendo, porque al hacer la "traduccion" en tiempo real, estas ocupando en memoria tanto el programa en basic como su homonimo compilado. Esto limita mucho lo que puedes hacer, por las limitaciones de memoria. No es lo mismo 10 que 41kb, aunque tengas velocidad, vas siempre justo de memoria.

A partir de aquí hablo desde el desconocimiento y con absoluto respeto al trabajazo que se han pegado nuestros compañeros.

Entiendo que lo realmente complicado es hacer la conversion de basic a código maquina ¿hay algún motivo de peso que impida generar el .bin después? ¿veis factible la posibilidad de implementar esa funcionalidad?

Por otra parte me gustaría saber como solventan estas limitaciones nuestros desarrolladores que trabajan en turbo basic. Yo directamente lo tengo en mente desde la etapa de diseño y lo soluciono en parte tirando de disco... pero no todo se puede solucionar asi. Ahora mismo se pueden hacer arcades bastantes cosas, pero se podrían hacer cosas muchísimo mejores sin esa limitación.

Login sesión o register para postear comentarios

Por jorge.romero.9655

Master (147)

Imagen del jorge.romero.9655

17-04-2015, 11:44

para que entendais un poco a donde quiero llegar... tengo ahora mismo un juego casi terminado en BASIC pelado que va bastante fluido. Quiero pasarlo a Turbo basic, pero la lógica del juego va por los 9 kb. Optimizando un poco mas creo que lo puedo dejar en ocho, pero aun tengo que añadir un par de detalles más. Para lo único que necesito Turbo basic es para optimizar el rendimiento en caso de meterle musica ingame. Si se pudieran generar los .bin como con el compilador de Amstrad aun tendria muchísima memoria disponible, lo que permitiría hacer juegos muchisimo mas complejos.

Por Warchild

Paragon (1280)

Imagen del Warchild

17-04-2015, 19:10

Con NéstorBasic lo que sí puedes tener son distintos programas en memoria y ejecutarlos traspasando las variables de uno a otro. Quizá esto te pueda ayudar a liberar algo de memoria para el código segmentando el programa en las partes que necesitas ejecutar en cada momento. Es decir, que cuando sólo necesitas el motor de juego, solo tendrás en memoria el motor pelado. Sin accesorios, presentaciones, definiciones, etc...

Yo también estuve pensando sobre esa limitación y la posibilidad de crear un .bin con el código generado por el Turbo Basic pero es algo que va más allá de lo que soy capaz. Y creo que no es fácil.

Puede que la solución más sencilla para ti sea crear pequeñas rutinas en ensamblador que liberen al basic de algunas tareas (y de bytes de código).

Y otra más: ¿Has usado NestorPreter? Consigue compactar el código Basic así que tambien te sirve para arañar algo de espacio.

Por jorge.romero.9655

Master (147)

Imagen del jorge.romero.9655

18-04-2015, 01:12

Yo creo que apretándome un poco me puede llegar a caber todo en los 10Kb. Ya sabes, quitando espacios, usando sintaxis mas cortas, uniendo lineas, quitando comentarios, optimizando código... el Nestorpreter lo tengo que probar en la versión final del código (si lo haces mientras programas te cuesta mas leerlo) pero no deja de darme un poco de rabia el hecho de que realmente esta uno dejando la mitad de la memoria sin usar. En fin, que se pueden hacer cosas chulas, pero es una limitación notable que se podría solventar si fuera posible generar esos .bin.