Fabuloso.
Hace unas semanas comentaste que si tenias tiempo ibas a hacer algo de esto y ya creia que lo habias dejado.
Muchas gracias!! sigue asi, que de aqui a un tiempo estamos unos cuantos haciendo planes para hace algo... alguna conversion decente por ejemplo, ya que creo que todo esto tiene su raiz en el hilo sobre lo que se podria haber echo en snes y MD sin limite de memoria.
Es que hace unas semana estaban las fiestas.. fin de año...
Sobre una conversion, calculo que con mi nivel de programacion, podria hacer una conversion de un juego de cualquier plataforma similar a MD,
con mucha dedicacion y tiempo, pero podria hacerla sin mayores problemas, mas que el tiempo.
Tengo dedicacion, pero no tiempo. Pero si con los tutoriales puedo enseñar gran parte de lo que se, seguro que mucha gente se puede animar a intentar algo.
Sobre el limite de memoria, uno de los capitulos lo dedicare a compilar para MegaCD

asi q se acaban los limites...
Acabo de hacer lo mismo que el compañero de arriba: print, abrir comillas y escribir la palabra "ojete". Trece kb ocupa eso. Una vergüenza, si tenemos en cuenta que el Hang on de master system cabe en 32kb
El compilador necesita varios kb para poder guardar informacion propia, en ensamblador no pasa eso, ademas, piensa que las roms de megadrive estan comprimidas, mientras el codigo que tu compilas no esta comprimido.
Sega usaba un meotdo de compresion llamado Nemesis por ejemplo
http://info.sonicretro.org/Nemesis_compressionLos metodos de compresion mas utilizados en MD son el Kosinski, Nemesis, Enigma, y el Saxman
Con BasiEgaXorz tienes soporte por medio de librerias a Nemesis, Enigma, y Kosinski , pero me parece a mi que esto se va fuera del tutorial basico.....
Otra aclaracion,con solo escribir una letra, como explique en el tutorial, la megadrive tiene que guardar en la rom los primeros 256 tiles dedicados a texto... ya te comes un cuarto de la memoria de video y de espacio en la rom solo por cargar una letra....
Si quieres gastar poca memoria, deverias hacer las letras como tiles independientes, y cargarlos a mano, asi gastarias le minimo posible de memoria, pero aun asi, gastarias los primeros Kb del compilador
Mira te doy un ejemplo con un tile que corresponde al sprite del sonic
sonic:
DATALONG $00000000 ' Tile #0
DATALONG $00000011
DATALONG $00000000
DATALONG $00000000
DATALONG $00000001
DATALONG $00000011
DATALONG $00000112
DATALONG $00001222
Ahora usando un meotodo de compresion
sonic:
DATALONG $8x0 ' Tile #0
DATALONG $6x011
DATALONG $8x0
DATALONG $8x0
DATALONG $7x01
DATALONG $6x011
DATALONG $5x0112
DATALONG $4x01222
Claro que la funcion
loadtiles ya no funcionaria, pero podes crearte tu propia funcion en ensamblador, y agregarla al Basiegaorxz, y ahorrar memoria
No creo que tenga mucho sentido, porque primero hay q aprender a programar lo mas basico, antes de crear ese tipo de algoritmos, aunque si a alguien le interesa lo enseño, pero preferiria ir a lo mas basico.
Si mi mujer no quiere salir a cenar o nada similar
esta noche, cuelgo una segunda parte del tutorial, donde me voy a centrar en carga de binarios y sprites en memoria