Karoshi MSX Community
06 de Julio de 2021, 04:54:09 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1] 2
  Imprimir  
Autor Tema: Nuevo en el ausunto  (Leído 8590 veces)
0 Usuarios y 1 Visitante están viendo este tema.
fireforge
Karoshi Newbie
*
Mensajes: 2


Cuackthermail


Email
« : 26 de Noviembre de 2007, 07:26:25 pm »

De tanto oir hablar de videojuegos msx a un "viejo" conocido me ha entrado el gusanillo a ver si puedo hacer alguna cosilla.
Que me recomendais para empezar a desarrollar? Yo vengo de programacion "intuitiva" como C y Visual Basic (y ahora le estoy dando al Java) asinque si me decis que tengo que empezar a hablarle a mi ordenador en 0 y 1 me vais a amargar la existencia.
Tambien me gustaria ver donde conseguir algunos manuales o algo asin. He visto por encima el tutorial de desarrollo para todos pero yo necesitaria un aprenda a programar videojuegos msx "for dummys"
Ya me comentareis algo... un pajarito me ha dicho que hay una ligera "peleilla" entre ensamblador y C... Si os digo la verdad y conociendo bastante el segundo me decanto por el 1º que tiene nombre de transformer Wink

SaludoTTTTTTTs

Fire
En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #1 : 26 de Noviembre de 2007, 08:17:02 pm »

Pues hombre, si ya eres programador, conoces C y te apetece experimentar con ensamblador como dices, ¡lo tienes a huevo!.
La programación del Z80 es muy sencilla, si no tienes ni idea te recomiendo leer alguna página como esta: Tutorial ensamblador Z80 para Spectrum, que aunque es para otra máquina presenta conceptos muy similares, además te enlaza con tutoriales (en inglés) tan prácticos como este.
Una vez que creas que entiendes el Z80, ya puedes probar a ensamblar algo, bien ajeno o bien que hayas hecho tu. Ensambladores los tienes a patadas, para no comerte mucho la cabeza puedes empezar con el asMSX, que ya te viene orientado al MSX y con sencillos ejemplos. La principal ventaja es que con el asMSX puedes generar archivos distribuibles ROM nativos del MSX y que podrás ejecutar con emuladores como el BlueMSX simplemente con un doble click. Para más detalles échale un vistazo rápido a la sintaxis del asMSX.
Yo te diría que empezaras con el clásico "Hola mundo", conseguir que funcione suele dar bastante confianza; así que una vez llegados al propio hardware de la máquina lo mejor es empezar por el VDP, en la Wikipedia tienes una lectura muy interesante aquí. Los primeros experimentos gráficos te recomiendo que los hagas desde el BASIC, así te romperás menos la cabeza (Hint:VPOKE es tu amigo).
La BIOS (o la API Wink) para acceder al hardware la tienes detallada en el MSX Red Book, ese y otros documentos los puedes encontrar por ejemplo en esta página : JJC Software. También es muy recomendable leerse los artículos del MSX Assembly page, encontrarás información en cantidad.
Y ya sabes, ante cualquier duda pregunta; pero recuerda, antes de preguntar ¡RTFM! Smiley



En línea

Doom dee doom dee doom
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #2 : 26 de Noviembre de 2007, 08:39:53 pm »

Hombre, pero si es el fire! Cheesy, bienvenido a estos foros del señor!, tenga usted a bien preguntar lo que quiera Wink

Además, queda pendiente esa sesión en persona para introducirte en los oscuros detalles del assembler!
(ahora es cuando viene el nerlaska y te intenta llevar a la secta del C)  Grin Grin Grin

Mi primera recomendacion: pillate un emulador y prueba juegos de MSX a manta! Ah, y de nuevo, bienvenido!
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #3 : 27 de Noviembre de 2007, 05:52:56 am »

MU HA HA HA HA ... el poder del C no tiene límites!! Smiley
Bueno, yo estoy especializado en la programación C para MSX, si necesitas saber o conocer algo pues comentamos. No problemo.
Esta claro que el Z80 esta chupao y que no tiene ningún problema .. salvo!! .. el de la comprensión y la comodidad de programación.
Donde una simple línea C te permite ver y hacer rapidamente: A = 5*(B+100) % 20 - C ...pues en Z80 y si encima hay castings pues igual te sale un churro.
Yo programo en C y Z80 (cuando digo Z80 me refiero al lenguaje ensamblador) y creo que la combinación es genial.
Pero no te pienso convencer de nada, estaría bien que te pasarás por la RU de Barna y te obsequiariamos entre todos con sabiduría a raudales Smiley

Sea como sea, bienvenido!
En línea

MSX4EVER2GETHER
www.nerlaska.com
ARTRAG
Visitante
« Respuesta #4 : 27 de Noviembre de 2007, 11:45:04 am »

I do agree, C + ASM is the best solution for large projects.

The C is for the main, the data structures, the dynamic allocation of the RAM, the overall game logic.
The asm is for the VDP I/O, the control of the interrupts, some time critical tasks.

Actually you can start in C coding and debugging the function,
after the debug you can open the ASM generated by the compiler (the .LST file in Hithec C)
and start from that to code your ASM version (manual optimization sometimes can do miracles,
moreover in this way the parameter exchange is already solved by the compiler ;-)

One tricky more aspect is the mapper management.
Some cross-compilers (Hithec C) allows you to use up to 1Mbyte of ROM for storing your code and data.
The trick is that Hithec C supprots Z180 that includes a MMU, so compiling for that processor and changing
the functions used to access its MMU you can use almost any MSX ROM mapper.
Using "large" model the compiler implements long jumps across segments, the linker fits data and functions
in order to minimize the bank swap.
Naturally in ASM you have far more flexibility, but automated management of segments is nice plus.

« Última modificación: 27 de Noviembre de 2007, 12:00:20 pm por ARTRAG » En línea
fireforge
Karoshi Newbie
*
Mensajes: 2


Cuackthermail


Email
« Respuesta #5 : 27 de Noviembre de 2007, 03:30:22 pm »

Que sepais que me dais mucho miedo pero a la vez mucha envidia  Cheesy
Voy a hacer casin a Jon y de momento me voy a dedicar a jugar un poco, porque... (y esto me da mucha vergüenza) soy bastante novato con MSX. Asinque (siempre por favor) ya me estais diciendo emuladores buenos (de esos que se tragan todo) y donde encontrar buenas roms (aunque me da que en este foro voy a encontrar unas cuantas)

GRACIAXXXX y SALU2222222

Fire

Pd: Estoy viendo codigo de ensamblador y me duele la cabeza solo de pensarlo. Creo que me voy a decantar por el lado oscuro de C (eso de poner IF (A<(B+5)) y entenderlo me gusta)
En línea
SapphiRe_MSX
Visitante
« Respuesta #6 : 27 de Noviembre de 2007, 03:47:30 pm »

¡Bienvenido!

Voy a hacer casin a Jon y de momento me voy a dedicar a jugar un poco, porque... (y esto me da mucha vergüenza) soy bastante novato con MSX. Asinque (siempre por favor) ya me estais diciendo emuladores buenos (de esos que se tragan todo)

Te aconsejo el BlueMSX y el OpenMSX.

Citar
Estoy viendo codigo de ensamblador y me duele la cabeza solo de pensarlo. Creo que me voy a decantar por el lado oscuro de C (eso de poner IF (A<(B+5)) y entenderlo me gusta)

No hay nada como un buen código en ensamblador bien comentado para saber lo que es programar Grin Grin Grin

Saludos
--
Sph.
En línea
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #7 : 27 de Noviembre de 2007, 04:03:04 pm »

Ala Sapphi .. jajajajaaj .. el ensamblador es oscuridad Smiley .. tiene su morbo y tal pero ... es oscuridad Smiley
Ya hablaremos en la Ru .. voy a tener que hacer flexiones y abdominales y entrenar al saco .. seguro que acabáis linchandome jajajaj
En línea

MSX4EVER2GETHER
www.nerlaska.com
SapphiRe_MSX
Visitante
« Respuesta #8 : 27 de Noviembre de 2007, 04:13:07 pm »

Ala Sapphi .. jajajajaaj .. el ensamblador es oscuridad Smiley .. tiene su morbo y tal pero ... es oscuridad Smiley

Ya sabes que yo el C lo odio visceralmente, así que para mí en MSX no hay nada como el ensamblador. Ojalá pudiera programar en Haskell, pero no creo que el pobre z80 pueda con tanto... Grin Grin Grin
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #9 : 28 de Noviembre de 2007, 08:33:59 am »

Pues prueba a hacer un intérprete de Haskell para MSX. Bonito proyecto de desarrollo...

En cuanto al miedo que produce el ensamblador, creo que no es para tanto. Es menos legible que el C, estoy de acuerdo. Pero es mucho más legible que otros lenguajes habituales de desarrollo, como el propio BrainFuck. Por cierto, que existe un compilador de BrainFuck para MSX que genera un código bastante optimizado y ejecutables para MSX-DOS - CP/M.

Para mi, el C es bastante más legible que el BASIC. Y lo que es peor: aunque no lo haya usado nunca para MSX, me encanta el ensamblador, que es un lenguaje fuertemente tipado y permite hacer una programación estructurada y elegante (más que el C).
En línea
utopian
Karoshi Newbie
*
Mensajes: 42


« Respuesta #10 : 28 de Noviembre de 2007, 08:35:53 am »

Para reducir la "barrera de entrada", el C es buena idea, porque puedes ver resultados pronto sin tener que hacer maravillas para conseguir una operación matemática más o menos compleja. Luego es un buen momento para aprender ASM, y así ir optimizando... hasta que quieres optimizarlo todo y entonces te puedes pasar al ASM puro (yo aún no he llegado a esa fase Wink).
En línea
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #11 : 29 de Noviembre de 2007, 10:04:42 am »

lo de la elegancia del C .. depende de quien programe .. el C puede ser muy elegante o lo más cochino.
En línea

MSX4EVER2GETHER
www.nerlaska.com
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #12 : 29 de Noviembre de 2007, 01:16:22 pm »

A ver cómo consigues hacer un NOP en C sin incluir ensamblador embebido Smiley

Todo el mundo sabe que no se puede programar nada si no tienes una instrucción tan potente como NOP a tu disposición... Grin
En línea
kabish
Karoshi Maniac
****
Mensajes: 470


caspaflims@hotmail.com
« Respuesta #13 : 29 de Noviembre de 2007, 01:36:07 pm »

A ver cómo consigues hacer un NOP en C sin incluir ensamblador embebido Smiley

Todo el mundo sabe que no se puede programar nada si no tienes una instrucción tan potente como NOP a tu disposición... Grin

.. pues el basic no la tiene. Wink
En línea
SapphiRe_MSX
Visitante
« Respuesta #14 : 29 de Noviembre de 2007, 01:51:30 pm »

A ver cómo consigues hacer un NOP en C sin incluir ensamblador embebido Smiley

Todo el mundo sabe que no se puede programar nada si no tienes una instrucción tan potente como NOP a tu disposición... Grin

.. pues el basic no la tiene. Wink

REM... que no hace nada, pero ocupa memoria y tiempo del intérprete de BASIC, igualito que NOP Grin
En línea
Páginas: [1] 2
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!