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

Page 2/4
1 | | 3 | 4

By MsxKun

Paladin (920)

MsxKun's picture

04-04-2015, 23:00

3.

Una vez te acostumbras te preguntas porque no habrias aprendido ASM antes. Lastima de años que desaproveche Sad

By AxelStone

Prophet (2690)

AxelStone's picture

05-04-2015, 12:04

Joer cada vez me estais convenciendo más, veo muchas voces a favor del ASM...

By MsxKun

Paladin (920)

MsxKun's picture

05-04-2015, 14:02

AxelStone wrote:

Joer cada vez me estais convenciendo más, veo muchas voces a favor del ASM...

Big smile Vamos a ver, es que... su única desventaja es que probablemente si no lo conoces, te toca aprenderlo (como todo en esta vida) y no se parece a nada de lo que seguramente conozcas, con lo cual asusta un poco. Pero una vez te pones es un vicio y te encuentras conque puedes hacer cosas que ni sabias que se pudieran hacer y te sientes poderoso BA-team

Luego si, estará la fase de que cuando ya sabes y has hecho bastante cosa todo el código te parecerá igual y te puede apetecer programar en otro lenguaje. A mí me pasa, pero entonces piensas en que no vas a tener el absoluto control de nada y te da muuucho palo. Igual qe cuando hago algo para PC (Python o PureBasic) básicamente conversores para el MSX y tal.... Si, funcionan, pero me siento vendido y como en pelotas Running Naked in a Field of Flowers al no saber qué hace el código en cada frame y al no poder modificarlo para que lo que hace de una manera X, internamente, lo haga de otra que me convenga más según el caso.

Ójala pudiera tener el control de todo al programar en PC como lo tengo en MSX. Pero las máquinas de hoy dia ya no son abarcables de esa manera, una pena. Aprovecha que el MSX sí lo es Smile

By AxelStone

Prophet (2690)

AxelStone's picture

05-04-2015, 15:29

Está claro que el ASM es el poder en tus manos. De todos modos creo que voy a hacer una parada en el Pascal, a costa de perder un tiempo, ya que he visto que tiene librerías para dar y regalar con todo lo necesario para acceder a los recursos de la máquina. Sí, como dices pierdes un poco el control, pero cuando tienes tiempo limitado a veces se agradecen los lenguajes de alto nivel.

En todo caso el Basic lo tengo casi sentenciado, lo estoy viendo excesivamente limitado.

By AxelStone

Prophet (2690)

AxelStone's picture

18-08-2015, 22:19

Pues nada definitivamente abandono el Basic. Como lenguaje de aprendizaje me ha gustado, pero le veo 2 limitaciones que son terribles:

  1. ¡La limitación de memoria del turbo bloque! Impide desarrollar adecuadamente tu idea.
  2. El código un poco espaguetti, ya que no se presta a un código estructurado. El Nestor Preter arregla en parte esto, pero sigue sin llegar al nivel de un C/Pascal, amén de que tiene bugs (lo intenté usar en mi proyecto y falló).

Me da pena porque supone un paréntesis en el juego que había iniciado, pero prefiero dejarlo ahora que seguir profundizando en él. Finalmente apostaré por un lenguaje compilado (C/Pascal), me gustan mucho, así que espero empezar pronto con él.

@MsxKun En verdad no creo que haya sido una pérdida de tiempo para nadie, te permite aprender muchas cosas del MSX Wink . Además hay compañeros que lo siguen usando y parece que no llevan mal camino.

By Manel46

Champion (431)

Manel46's picture

19-08-2015, 18:16

No conozco C ni Pascal, i no puedo opinar sobre ellos.
Pero con el asm, !Tienes el poder en tus manos! Pasada la fase de aprendizaje es muy motivante.

By Manel46

Champion (431)

Manel46's picture

19-08-2015, 21:40

By anonymous

incognito ergo sum (109)

anonymous's picture

19-08-2015, 22:15

Hola Manel46,

¿Empezaste teniendo una base en otro lenguaje o tal cual sin conocimiento alguno de programación aprendiste con ese libto?

By Manel46

Champion (431)

Manel46's picture

19-08-2015, 22:32

Hola Valkyr.
Empecé con el basic. Y viendo artículos en las revistas de la época, pensé que lo interesante estaba en el código máquina.
Aprendí con este libro y con el "MSX Lenguaje Máquina" de Dullin - Strassenburg. También debe ser posible descargarlo, por algún lado.
Usaba mi MSX de primera generación con el ensamblador GEN, desensamblador MON, en cinta. Así hice mis primeras rutinas.

By osises

Master (214)

osises's picture

20-08-2015, 09:10

Hola:

Yo también hice mis pinitos con el GEN y el MON, pero nunca profundicé demasiado en ASM. Soy de la opinión de utilizar un lengaje de alto nivel y cuando sea necesario intercalar ASM. Quizás lo más práctico sea programar en C, ya que dentro del mismo código se puede añadir ASM sin tener que invocar programas externos.

Es cierto lo del Basic. Mismamente la versión incluída en la ROM estándar es bastante completa para hacer cosas interesantes, salvo ciertas cosillas que no se implementaron pero que pueden ser resueltas sin problemas. Pero como se trata de un lenguaje interpretado y no compilado, pierde por ahí toda la velocidad de ejecución y en definitiva potencia. Con Turbo Basic se corrigieron ciertos aspectos, pero la limitación de memoria es un gran inconveniente.

La solución tendría que haber venido de la mano de los desarrolladores de hardware. La implementación del R800 en los TurboR vino tarde y mal. La solución ideal hubiera sido, puestos a desarrollar un nuevo procesador, crear uno que pudiera direccionar más memoria simultaneamente, algo así como 20 bits en el bus de datos. No habría importado seguir conservando el bus de datos de 8 bits, ya que con el abaratamiento de la memoria se podría haber dotado aquellas máquinas con bastante más RAM y así no tendríamos problemas con Turbo Basic, mapeadores de memoria, etc.

Al día de hoy hemos visto como ha aparecido varios desarrollos de equipos nuevos, ocm y otros, pero nadie se ha preocupado en implementar un procesador que sea capaz de mantener 100% compatibilidad con uno original pero que aumente el ancho del bus de direcciones. Sería realmente útil para ampliar verdaderamente la plataforma y así sacar mucho más partido a programas como Turbo Basic (aunque en ese caso haya que crear una nueva versión o parchear las actuales).

Estoy de acuerdo que con ASM se tiene un control total sobre el equipo, además de la máxima velocidad posible, de manera que hay ciertos procesos que no se pueden hacer de otra manera. El inconveniente es que para dominarlo hace falta más tiempo y dedicación, pues no es fácil de entrada.

En los PC, para los que gusten del Basic, teníamos Qbasic (o QuickBasic) de Microsoft, que no estaba mal y era muy fácil de programar. Hoy en día se sigue desarrollando una moderna versión de este con soporte para 64 bits e integrado bastante en plataformas Windows. Se trata de QB64, que es bastante potente y muy bien adaptado a los tiempos modernos, con una velocidad de ejecución muy elevada; tanto que no se echa en falta ASM o C. Pero hay otros poyectos con otros dialectos del Basic por ahí que también son bastante interesantes, incluso de otros lenguajes. Ojalá en MSX hubieramos tenido cosas parecidas.

Page 2/4
1 | | 3 | 4