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

Page 4/4
1 | 2 | 3 |

By AxelStone

Prophet (3189)

AxelStone's picture

23-08-2015, 23:56

NapalM wrote:
Quote:

...me das da que pensar que el C tiene más soporte...

¡Norl! no... ni de coña, hay mucha mas información en ASM, lo del C lo decia por la comodidad a la hora de programar, pero como es mas "normal" hacerlo en ASM, hay mas información en ASM.

Sí pero me temo que en el mundo ASM hay bastante desorden, al final cada uno se busca la vida como puede. Pregunta si no en el foro por una rutina de captura de teclado, te darán muchas versiones...¡y resulta que eso se hace directamente desde la BIOS! El MSX-C tiene una función que lo hace asi efectivamente, llamada a la BIOS, y si miras gran parte de sus funciones interactúa con la BIOS que es como debe ser, ya que la BIOS es la capa homogénea que compatibiliza la norma MSX.

En ese sentido creo que el MSX-C está muy bien pensado, y genera un código de muy alta calidad que evita incompatibilidades en determinados equipos.

By osises

Master (250)

osises's picture

24-08-2015, 09:25

Hay que tener en cuenta que C se desarrolló para crear un estándar en la programación, que no tengo muy claro si lo consiguieron. Por eso, las funciones básicas de cualquier ordenador, las típicas de consola de entrada de datos por teclado y salida a pantalla, están bastante estandarizadas entre versiones. La estructura de programa es algo más cerrada que la de Basic u otros, aunque también hay múltiples variantes que permiten programar casi cualquier cosa.

Cuando me refería a las similitudes que tienen Basic, Pascal, C y otros quería decir a que todos ellos son de alto nivel. Por eso a la hora de programar, aunque cambien evidentemente las instrucciones, el funcionamiento lógico es bastante parecido y eso significa que a un programador, acostumbrado a uno concreto, le resulta fácil pasar a otro. Lo difícil en esos casos es pasar a ASM, con el que hay que pensar de otra manera. Es cierto que las versiones de Basic de la mayoría de micros de 8 bits es interpretada, pero también hay otras que son compiladas y algunas de ellas disponen de procedimientos más modernos (ejemplo de DO WHILE en lugar de FOR NEXT), aunque en general pecan de falta de velocidad de ejecución.

Programar en C en la plataforma MSX sería muy bueno, desde mi punto de vista, para aquellos que están acostumbrados a lenguajes de alto nivel y que no se atreven a programar completamente en ASM. Quizás se utilice poco en el sistema, pero creo que merece la pena explorar las posibilidades que ofrecen las distintas versiones. Puede que se consiga bastante mejor resultado, incluso que Turbo Basic, además de poder disponer de más memoria (algo que desconozco).

By AxelStone

Prophet (3189)

AxelStone's picture

24-08-2015, 12:02

osises wrote:

...

Me alegra tu interés por el MSX-C y el debate que estamos teniendo Wink . A ver te comento, siento insistir pero realmente Basic no entra en el mismo saco. Aunque todos sean de alto nivel (no del todo, C es de "medio nivel" pues tiene acceso directo al hardware como el ASM, pero eso es otra historia) digamos que se diferencian mucho, al menos en el MSX. Un simple ejemplo visual:

struct player {
  TINY x,y; /* coordenadas del jugador*/
  TINY life; /* Puntos de vida */
  char *sprite_pattern; /* Patrón del sprite a dibujar*/
  ...
};

Algo tan simple como esto no existe en Basic, y aporta una legibilidad al código tremenda. El salto de Basic a C/Pascal si es grande, cambia mucho la forma de trabajar, no así de C a Pascal y viceversa.

El MSX-C con sus MSC libraries la verdad es que resulta bastante potente, muy estándar y con grandes posibilidades. El ASM lo creas o no es también un lenguaje relativamente ordenado, más que el Basic incluso, ya que por ejemplo ¡tiene tipos estructurados! (lo cuál me parece increíble).

Respecto a MSX-C vs Turbo Basic, te aseguro que no tienen nada que ver, justamente por eso abandoné Turbo Basic, está lleno de limitaciones (el uso de memoria es la peor) y genera un código bastante spaguetti, no es muy legible, amén de un comportamiento extraño (el ciclo de dibujo por ejemplo funciona a la inversa que el ASM lo que obliga a otra estrategia para paralelizar proceso + dibujo). ¿Un ejemplo de juego viable en C y no en Basic? cualquier RPG / aventura de mínima complejidad.

Dicho esto ojo, no quiero desanimar NI MUCHO MENOS a nuestros compañeros que trabajan en Turbo Basic, que estoy seguro nos darán muchas alegrías.

By osises

Master (250)

osises's picture

24-08-2015, 14:37

Tienes razón. Pero C es taaaan flexible que lo puedes usar como quieras, a alto nivel muy similar a como hace Basic (con sus limitaciones/ventajas, claro) o más a bajo nivel, con la posibilidad de intercalar incluso ASM. Lo que más me gusta es poder desarrollar librerias para su propio uso, lo que hace que sea casi imposible no poder implementar algo en este lenguaje.

Sigo creyendo que merece la pena intentar usarlo en MSX. Por eso, cuando termine mis proyectos en PC (algunas utilidades para MSX), voy a echarle un vistazo a lo que hay en MSX. Espero poder hacer algo interesante con ello.

By AxelStone

Prophet (3189)

AxelStone's picture

24-08-2015, 14:54

osises wrote:

Tienes razón. Pero C es taaaan flexible que lo puedes usar como quieras, a alto nivel muy similar a como hace Basic (con sus limitaciones/ventajas, claro) o más a bajo nivel, con la posibilidad de intercalar incluso ASM. Lo que más me gusta es poder desarrollar librerias para su propio uso, lo que hace que sea casi imposible no poder implementar algo en este lenguaje.

Sigo creyendo que merece la pena intentar usarlo en MSX. Por eso, cuando termine mis proyectos en PC (algunas utilidades para MSX), voy a echarle un vistazo a lo que hay en MSX. Espero poder hacer algo interesante con ello.

Serás bienvenido, creo que hay una comunidad creciente en torno al MSX-C. Yo lo poco que pueda ir averiguando lo compartiré en los foros Wink

By pepitor128

Master (156)

pepitor128's picture

24-08-2015, 16:17

By AxelStone

Prophet (3189)

AxelStone's picture

24-08-2015, 18:11

pepitor128 wrote:

Por si sirve de algo:
http://msx.hansotten.com/index.php?page=msx-c

La conocía, es parada obligatoria, pero gracias por el aporte ;) . A ver quiero dejar claro una cosa, que nadie se lleve a engaño, la progresión que puedes tener en MSX-C va a ser más lenta que por ejemplo en Turbo Basic, así que el que decida tomar este camino que sea paciente, ya que le puede compensar la elección.

By e_sedes

Expert (112)

e_sedes's picture

25-08-2015, 23:35

Yo personalmente disfruto con el ASM. Me gusta que tengas todo el control de donde se sitúa cada uno de los bytes que escribes, sea código o datos o lo que sea, y eso es importante en un sistema pequeño como el MSX.

By AxelStone

Prophet (3189)

AxelStone's picture

26-08-2015, 07:52

e_sedes wrote:

Yo personalmente disfruto con el ASM. Me gusta que tengas todo el control de donde se sitúa cada uno de los bytes que escribes, sea código o datos o lo que sea, y eso es importante en un sistema pequeño como el MSX.

Calla canalla que al final me convenceís LOL! . No hombre, el salto desde Basic lo pensé muy detenidamente, barajé los 3 grandes lenguajes (C, Pascal, ASM), al final me decanté por C por un motivo sencillo: su versatilidad. Buscaba un lenguaje que me permitiera hacer tan pronto un plataformas como una aventura gráfica.

Page 4/4
1 | 2 | 3 |