Tag Archives: ensamblador msx

Programando NewPong. Parte 3

21 Abr

Bueno, pues continuando con el anterior artículo sobre NewPong (https://comunidadmsx.com/2014/03/21/programando-newpong-parte-2/) ya por fin tengo una versión mínimamente funcional para poder subirla y que la podáis probar del juego NewPong (v.0.1) en ensamblador.

NewPong 0.1a

 

NewPong 0.1b

En esta versión podéis:

  •  Jugar con las opciones del menu principal “2 -> Jugador vs Jugador. V” (movimiento sólo en vertical de la raqueta) y “3 -> Jugador vs Jugador. V+H” (movimiento en vertical y horizontal de la raqueta en tu medio campo).
  • Pulsa ESC cuando estés jugando si quieres volver al menu principal.
  • Gana el jugador que marca 9 tantos al contrario.
  • El jugador 1 (izquierda de la pantalla) se controla con los cursores o joystick 1 indistintamente y el jugador 2 (derecha de la pantalla) con el joystick 2.
  • En las siguientes versiones implementaré jugar con dos raquetas cada jugador: una en vertical haciendo de portero y otra que pueda jugar en tu medio campo. También intentaré implementar jugar contra el ordenador… ya veremos que “inteligencia” le consigo simular al MSX… que espero que pueda ganarme… 🙂

Recordar que es una versión beta muy primaria que busca ir aprendiendo y practicando entre todos en el mundo del ensamblador de nuestro MSX, por lo tanto todos los errores que veáis y mejoras que se os ocurran serán bien recibidas.

Por otro lado, al final del artículo, ajunto los ficheros:

  • NPong100.rom. Que es un fichero ejecutable en emulador o directamente en un MSX real.
  • NPong100.asm. Fichero fuente que directamente se carga con el ensamblador cruzado asMSX.
  • NPong100.txt. Es el fichero anterior pero en texto plano para poder echarle un vistazo sin necesidad del ensamblador cruzado.

Como ya comenté en el anterior artículo de programación del NewPong, es una versión basada en el Pong de Eduardo Robsy Petrus y Jon Cortazar Abraido a quien agradezco su trabajo educativo y sobre todo por compartirlo. La idea es, tal y como comenté , la de empezar a trastear con el ensamblador.

Podéis coger el fichero adjunto y empezar por teclear, por ejemplo la rutina de dibujar el campo de juego o la del movimiento de la pelota y conforme la vayáis entendiendo y modificando pues ir avanzando en la programación, con lo cual de forma natural y poco a poco iréis dando forma a vuestro juego y con ello ir aprendiendo mientras practicáis.

Pues con esto espero haberos animado un poco más a ir creando cosillas en ensamblador para nuestros queridos MSX y que así siga vivo su software.

Por favor, comentar todo lo que os ocurra sobre el listado y así entre todos aprenderemos más rápidamente.

Cuando tenga una nueva versión la subiré para seguir compartiendo y aprendiendo.

Descargas

NPong100.rom

NPong100.asm

NPong100.txt

Si algún fichero, por ejemplo el Npong100.txt, en lugar de bajar se abre en otra ventana, utilizar el botón derecho sobre el nombre y la opción de Guardar Enlace/Fichero…

 

Anuncios

Programando NewPong. Parte 2

21 Mar

Hola a todos… Ya hacía tiempo que no escribía por aquí… pero eso no quiere decir que haya abandonado mi MSX… más bien al contrario como ahora os contaré.

NewPong_EnsambladorComo muchos sabéis para mi el MSX está muy ligado a la programación y después de muchos años volví a empezar el programa NewPong (tenéis varios artículos en el Blog sobre este tema) en MSX Basic, pero igual que hace casi treinta años me volví a dar cuenta de la poca velocidad del MSX Basic para realizar este juego… y de nuevo me dije “Tengo que intentarlo con ensamblador”, es decir, la historia se repite tres décadas después 🙂 , pero por diversos motivos y sobre todo yo creo que por el “miedo escénico” a meternos de lleno en este lenguaje de bajo nivel después de tantos años,  nunca veía la forma de empezar.

Pero finalmente, me dije y ¿ por qué no empezar como hace 30 años con el MSX Basic y con el MSX Assembler?, es decir, a base de mirar código e ir haciendo pruebas e ir entendiendo el código y entonces volver a mirar documentación… en fin el proceso que muchos ya seguimos en nuestra época juvenil… y dicho y hecho!!!!!

Me cogí el juego que quería hacer, NewPong (pero ahora en ensamblador) y gracias toda la información sobre ensamblador que hay disponible en la web de KAROSHI, que es de agradecer y con en ensamblador cruzado asMSX (ya hablé sobre este tema en el Blog en el artículo https://comunidadmsx.com/2013/04/12/iniciarnos-en-ensamblador-en-nuestro-msx/) y los ejemplos encontrados en ambos, pues me centré en el Pong de Eduardo Robsy Petrus y Jon Cortazar Abraido (agradecer a ambos su trabajo y esfuerzo y sobre todo por compartirlo con todos los amantes del MSX) y bueno con cambios por aquí y adaptaciones por allá al final estoy haciendo mi propio Pong con varios modos de juego añadidos y también quiero programar jugar contra el ordenador.

Lo que quiero decir es que la mejor forma de empezar a programar en ensamblador es vencer el momento inicial o momento cero y empezar a hacer cosas y sobre todo buscar un juego sencillo que os apetezca a hacer y empezar por él mirando todo el código y documentación que hay disponible en la red.

De momento he dibujado mi propio campo de juego, muevo las raquetas (tanto en sentido vertical , como otro modo de juego en el que la muevo por todo el campo de juego), muevo la pelota, la reboto contra las paredes y las raquetas… ahora estoy investigando en el sonido y después comprobaré cuándo es gol y actualizaré el marcador…. etc, etc..

Ya se que no parece mucho, pero para mi es un logro que vivo como el primer día hace casi treinta años cuando hacía esto en mi MSX y ¡¡¡ esto no tiene precio !!! Como veis estoy muy contento con el tema y os animo a muchos de vosotros que estáis pensando en ello a EMPEZAR CON EL ENSAMBLADOR de nuestro MSX, pues es la forma se seguir enriqueciendo la comunidad con nuevas creaciones que al principio serán muy sencillas pero que poco a poco irán siendo más complejas…

En breve, cuando tenga algo más “funcional” lo iré subiendo tanto el código como el .rom, para que lo vayáis probando y comentando y entre todos aprendamos más rápido.

Antes de finalizar el artículo quisiera dar las GRACIAS con mayúsculas y de forma sincera a todos los que apoyáis el MSX y sobre todo a nivel de programación en ensamblador compartiendo información y generando documentación  y código disponible para toda la comunidad de MSX. Gracias a vosotros nuestro sistema no sólo sigue vivo sino que además CRECE y EVOLUCIONA. ¡¡¡ GRACIAS !!!

Ala!!! que ya casi es fin de semana y no tenéis excusa para empezar con vuestro MSX y el ensamblador, claro está… entre partida y partida… jajajajajaja

MSX Codigo Maquina. Programación práctica

12 Jun

Hola de nuevo,

En esta ocasión traigo a modo de recopilatorio uno de los libros más interesantes y útiles para iniciarse en el código máquina del MSX,  sobre todo porque empieza desde cero hasta adquirir un buen nivel y además con ejemplos prácticos.

MSX-codigo-maquinaEn mi juventud, cuando hacía mis primeros pinitos con el lenguaje ensamblador, este era un libro que iba buscando pero que finalmente nunca pude conseguir, aunque si que recuerdo de escribir a mano en una libreta muchas de las rutinas interesantes del mismo, en una ocasión que me lo dejaron un fin de semana.

Esta libreta si la conservo y me ha dado mucha alegría cuando por fin he podido ver nuevamente el libro original, tantos años después.

Un libro muy recomendable para nuestros primeros pasos en el lenguaje ensamblador… Ahora sólo falta disponer de tiempo para hacer nuestras primeras prácticas 🙂

A continuación pongo los links para su descarga en formato pdf.

MSX Codigo Maquina – Steve Webb.part1

MSX Codigo Maquina – Steve Webb.part2

MSX Codigo Maquina – Steve Webb.part3

MSX Codigo Maquina – Steve Webb.part4

MSX Codigo Maquina – Steve Webb.part5

Libro Lenguaje Máquina para MSX

15 Abr

Hace unos días recibí el libro Lenguaje Máquina para MSX, que fue uno de los que más utilicé en mi época juvenil y, si no recuerdo mal,  fue el primer libro de ensamblador que tuve.

lenguaje-maquina-para-msx

Es un buen libro, para empezar y entender el lenguaje ensamblador, concretamente para el sistema MSX.

Es bueno para empezar sin tener conocimento sobre el lenguaje máquina y nos puede ayudar a adquirir un nivel razonable en la programación en ensamblador y siguiendo los ejemplos que iremos poniendo en el blog, pues poco a poco, a ver donde llegamos entre todos…

Recomiendo su lectura e ir practicando,  juntamente a la realización del curso de Pepe Vila del artículo anterior.

A continuación pongo los links para su descarga

Descargar Lenguaje Maquina para MSX.part1

Descargar Lenguaje Maquina para MSX.part2

Descargar Lenguaje Maquina para MSX.part3

Descargar Lenguaje Maquina para MSX.part4

Iniciarnos en Ensamblador en nuestro MSX

12 Abr

Hola, nuevamente.

Hacía tiempo que no escribía un artículo, pero he estado mirando el estado actual del tema del ensamblador para MSX, que después de tantos años lo tenía más que olvidado. Además rebuscando por casa de mis padres conseguí recuperar algunos apuntes y partes de proyectos de mi época juvenil al respecto (ya iremos trabajando sobre ellos)…

ensamblador-msx

Si tienes interés en iniciarte en ensamblador para tu MSX, pues ya somos dos, y como siempre la marcha en grupo es más gratificante y amena y además seguiremos manteniendo viva nuestra comunidad MSX.

Creo, y admito todo comentario al respecto, que actualmente disponemos de dos opciones para hacerlo:

1) Coger nuestro MSX y un ensamblador nativo (Gen, Zen, RSC2,Compas…) he puesto un link de descarga al final del artículo con todos ellos y coger unos buenos libros al respecto (subiré algunos que circulan por la red en el siguiente artículo) y tal y como hicimos hace años empezar con ello… (eso sí, ahora con la ayuda de internet…).

2) Elegir una opción de compilación cruzada, que consiste básicamente en programar en un pc mediante un cómodo editor de textos e ir probando los resultados en un emulador de MSX. Obviamente esta segunda opción aunque pierde un poco de “pureza” frente a la primera es infinitamente más cómoda y rápida. Los resultados debemos ir probándolos cada cierto tiempo en nuestro MSX, pues como es obvio un emulador es un emulador y cuando trabajamos con rutinas de código máquina pues no necesariamente se tiene que comportar fielmente al original (aunque lo hará bastante bien).

Para esta segunda opción un buen pack y manual para iniciarnos es el de Pepe Vila (zilogZ80) que está en la web de Karoshi. Podeis descargar el pack de la dirección siguiente Pack-MSX para los tutoriales.

En mi caso veo más cómodo la segunda opción y es la que he elegido.

Pues, lo primero descargar el pack, instalarlo, configurarlo y empezamos…

A continuación os dejo un pack con alguno de los ensambladores nativos para MSX.

Descargar Nativos MSX1 Parte 1

Descargar Nativos MSX1 Parte 2

Descargar Nativos MSX1 Parte 3

Descargar Nativos MSX1 Parte 4