Pensando seriamente en saltar a MSX-C / Pascal / ASM

Страница 1/4
| 2 | 3 | 4

By AxelStone

Prophet (3199)

Аватар пользователя AxelStone

02-03-2015, 15:01

Quién me ha visto quién me ve. Hasta hace poco estaba más que contento con Turbo Basic (la curva de aprendizaje es impresionante, en poco tiempo das pasos de gigante) peeeero para el pequeño proyecto que tengo entre manos acabo de toparme con un muro de bruces: la limitación de 10Kb del Turbo Bloque. Por Dios, 10Kb limita mucho la lógica de un juego... Si bien me gustaría seguir con Turbo Basic no dejo de reconocer que si este límite me impide seguir adelante, daré el salto a otro lenguaje. Alternativas que he visto hay para MSX:

1.- MSX-C
2.- Pascal
3.- ASM

A ver, busco un lenguaje de propósito general (lo que buscaba con Basic vamos). Esto es, ya sé que el ASM es lo ideal para acceder a los recursos de la máquina, pero solo me apetece estudiar un lenguaje y usarlo para cualquier género (arcade, RPG, estrategia...). Imagino que en ASM implementar la lógica de un juego de estrategia debe ser muy complejo.

Partiendo de ese hecho, ¿alguien puede exponerme los pros y contras de cada uno? Gracias.

P.D.: ojalá no tenga que recurrir a ninguno, pero de verdad que los 10Kb del Turbo Basic me tienen asfixiado Sad

Для того, чтобы оставить комментарий, необходимо регистрация или !login

By cybernoid

Rookie (19)

Аватар пользователя cybernoid

02-03-2015, 16:03

Hola,

Si yo tuviese que elegir ahora mismo un lenguaje de programación que no fuese Pascal, básicamente por que de pascal ni papa, ni tan tosco como Basic, ni tan oscuro (no se me ocurre ningún adjetivo mejor para definirlo) como ASM, me iría directamente a C con SDCC, trabajar directamente en el MSX en los tiempos que corren me parece una perdida de tiempo por eso pasaría del MSX-C, creo que es mucho mas cómodo trabajar en un entorno cruzado, en SDCC puedes programar en C y tirar de ASM embutido en funciones para tareas mas chungas.

Desgraciadamente otros problemas me comen ahora mismo el coco Sad me apena mucho ya que tengo algún proyecto con un compañero forero aparcado indefinidamente :| y no sabes cuanto lo lamento.

Saludos,

By adan.mastergshock

Master (246)

Аватар пользователя adan.mastergshock

02-03-2015, 17:14

Cada vez que os leo me surgen más dudas de cosas que no recuerdo.

¿Cuanta memoria disponemos en BASIC usando el TURBOBASIC?.

Lo pregunto por que te refieres a 10kb como limitación de un "turbo bloque", ¿A qué te refieres exactamente?.

By adan.mastergshock

Master (246)

Аватар пользователя adan.mastergshock

02-03-2015, 17:17

Jesús acaba de mejorar la rutina del scroll de EL PODER OSCURO, ganando en velocidad, aproximadamente un 10% más rapido.Solo la rutina ocupa unos 4kb.

By AxelStone

Prophet (3199)

Аватар пользователя AxelStone

02-03-2015, 19:07

adan.mastergshock wrote:

Jesús acaba de mejorar la rutina del scroll de EL PODER OSCURO, ganando en velocidad, aproximadamente un 10% más rapido.Solo la rutina ocupa unos 4kb.

Pues el límite del turbo bloque son 10Kb Sad . La verdad no entiendo esa limitación, se queda muy corto para trabajar. ¿Por qué no dejaron usar los 23Kb que permite el Basic? Es una lástima, porque iríamos más que sobrados, yo al menos.

By Guillian

Prophet (3529)

Аватар пользователя Guillian

03-03-2015, 10:00

Realmente no es que haya una limitación de 10K del turbo bloque, sino una limitación de la memoria libre en BASIC.

Cuando compilas un bloque, el código se genera seguido del programa en BASIC. Por lo tanto, esa memoria libre tienes que repartirla entre el programa en BASIC en sí, y el código generado al compilar un bloque.

By AxelStone

Prophet (3199)

Аватар пользователя AxelStone

03-03-2015, 10:08

Guillian wrote:

Realmente no es que haya una limitación de 10K del turbo bloque, sino una limitación de la memoria libre en BASIC.

Cuando compilas un bloque, el código se genera seguido del programa en BASIC. Por lo tanto, esa memoria libre tienes que repartirla entre el programa en BASIC en sí, y el código generado al compilar un bloque.

Amigo, ¿significa eso que si todo el programa en sí mismo es un Turbo Bloque dispones de los 23Kb? Es que está muy extendido el rumor del límite de 10Kb.

By Guillian

Prophet (3529)

Аватар пользователя Guillian

03-03-2015, 10:19

AxelStone wrote:

Amigo, ¿significa eso que si todo el programa en sí mismo es un Turbo Bloque dispones de los 23Kb? Es que está muy extendido el rumor del límite de 10Kb.

No por la razón que te he dicho antes. Si ocupas los 23K con el programa en BASIC no te queda sitio para compilar nada.
Del mismo modo que si haces un programa en BASIC puro de 20K luego no podrás hacer un turbo bloque ni de 1K.
Memoria libre en BASIC >= fuentes BASIC + código compilado + (variables y buffers)

By AxelStone

Prophet (3199)

Аватар пользователя AxelStone

03-03-2015, 10:23

Ah vale, te entiendo, entonces de ahí el rumor del límite en 10Kb. Supongo entonces que cuando pones PRINT FRE(0) y ves 14Kb puedes empezar a temblar, estás prácticamente sin memoria.

Joer entonces el Turbo Basic está realmente mal hecho, no me extraña que las compañías le dieran de lado, ¿cuántas veces se tiene que duplicar el código en memoria? Por un lado el espacio ocupado por el intérprete Basic, por otro el propio código Basic, por otro lado el código compilado... Así pasa que con 64Kb no tienes para nada.

Cada vez estoy más convencido de empezar con otro lenguaje, una lástima porque el Basic me parece muy asequible.

By NapalM

Master (234)

Аватар пользователя NapalM

03-03-2015, 12:25

Si no quieres enredarte con el ASM, en C hay librerias graficas y supongo que de sonido ya hechas para usarlas en un MSX que podrian facilitarte mucho la vida.
No deberia ser muy dificil encontrarlas... por ejemplo konamiman tiene algunas: http://www.konamiman.com/msx/msx-s.html#sdcc
O otra web... http://msx.atlantes.org/index_es.html
O esta otra, del creador de Monster Hunter (hecho en C) http://albertodehoyonebot.blogspot.com.es/p/how-to-create-ms...

By AxelStone

Prophet (3199)

Аватар пользователя AxelStone

03-03-2015, 12:34

Lo cierto es que me tira mucho más el C / Pascal que el ASM, soy un programador comodón Cool . Precisamente por los enlaces que me das da que pensar que el C tiene más soporte, a la hora de la verdad es lo más importante ya que si te quedas solo te atascas.

Gracias.

Страница 1/4
| 2 | 3 | 4