HispaMSX

RE: [hispamsx] Referente al concurso MSXdev'04

2004-04-10 17:36:23
Hola!

Buenas noticias lo de que la gente al menos se interese por el concurso. Como "padre de la criatura" me parece siempre bien. Ahora vamos a las dudas técnicas:

Cabecera de un ROM de 8 KB

byte 0: 'A'
byte 1: 'B' ---- Estos dos caracteres son la indicación de que se trata de una ROM para el MSX
byte 2-byte 3: DIRECCIÓN DE INICIO DEL PROGRAMA
byte 4-15: 00h Ponle ceros si estás programando una ROM en ensamblador puro y duro.

Por ejemplo, una cabecera válida sería la siguiente:

db 41h,42h
dw INICIO,0000h,0000h,0000h,0000h,0000h,0000h

INICIO:

nop
nop
nop

....


En tu ROM asumes que el inicio está en la posición 4010h, pero puede estar en otra cualquiera. Además, tu ROM puede empezar en 0000h (aunque te quedas entonces sin las rutinas de la BIOS), 4000h (lo más habitual) o 8000h.

Todo lo demás, como por ejemplo la "firma" indicando la referencia y todo eso, es mejor si lo pones más adelante, respeta el formato de los primeros 16 bytes de la ROM, porque la BIOS los utiliza y están reservados para distintas misiones.

De todos modos, puedes leer una explicación más detallada en MSX RED BOOK, que tienes en mi página: http://www.robsy.net/tredbook.txt

Ánimo y a programar bien!

Un saludo,

Edu R.



No es que me vaya a presentar (de momento), pero lo veo interesante, además, el TurboR me vendría de perlas jejeje. Todo dependerá de si consigo acabar el juego antes del plazo máximo de entrega :)

Pero tengo una duda, en las normas se dice que ha de ser en formato ROM de 8Kb, y que funcione en un MSX de primera generación de 16/16Kb.

Pero bien, hace como 10 años que no hago nada para el MSX, así que ando un poco perdido jejeje, así que aquí van mis dudas :)

He estado estudiando el formato de los primeros cartuchos Konami que sé que son 8kb, concretamente el Super Cobra y el Frogger. Y por lo que recuerdo de cuando era más jovencito y me hice en basic el dumpeador de cartuchos a formato .bin para cargar con BLOAD"CAS:", es que cada formato se identifica por una cabecera de bytes.

Así que lo que he hecho ha sido añadir lo siguiente en las 2 primeras líneas del programa ensamblador:

.byte 41h,42h,10h,40h,0,"R-001",0,"SOC<<" ; 4241= ROM Header, 4010= Main Routine, "R-001"= ROM Reference, "SOC<<"= Start Of Code
    .org 10h ;

Y como se supone que ha de ser una ROM de 8Kb máximo, he añadido esto al final del código:

    .org $1FFB
    .byte ">>EOC" ; End Of Code

Bien, de esta forma me queda una ROM de 8Kbs, y con los emuladores carga perfectamente. El problema me llega con el MSX real :)
Me explico:

En el "supuesto caso" que me de tiempo de acabar el juego, lo tendré que presentar en un diskette, así que he formateado uno a 360KB. He grabado en el los archivos
msxdos.sys, command.com, execrom.com, la rom del juego y el autoexec.bat

Y dentro del autoexec.bat la siguiente línea: execrom opoyaman ( Se titula así el juego jajajajajajaja O'Poya Man )

Pues bien, ni que decir tiene de que no me lo carga :(

He probado con ROMs de Konami y no ha habido ningún problema. Además creo que si mi ROM fuera de 16KB me iría bien (todavía no lo he probado).

Si este fuera el problema, ¿Podría por ejemplo hacer la ROM de 16KB, rellenando las direcciones de memoria de 2000h a 3FFFh con 0FFh? ¿Sería esto legal?

Aunque lo ideal sería encontrar una manera de cargar la ROM de 8KB, pero no se de ningún programa que lo haga :(

Resumiendo... ¿Lo estoy haciendo bien? ¿Son los bytes de cabecera correctos? ¿La ROM ha de ser de 8 o 16KB para que funcione? ¿Me tocará algún día la lotería?
¿Existe Dios? jajajajaja

Pues eso, perdonad por la plasta de mail jejejeje. Solo que si me quiero presentar al concurso, debo saber que formato ha de tener la ROM y como cargarla desde un MSX.

Venga, muchas gracias de antemano y cuidaos ;)

- David Romero AKA Devcon -


[Se han eliminado los trozos de este mensaje que no contenían texto]



*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
Web de lista: http://www.hispamsx.org
Enlaces a Yahoo! Grupos

Para visitar tu grupo en la web, accede a:
 http://es.groups.yahoo.com/group/hispamsx/

Para cancelar tu suscripción en este grupo, envía
un mensaje en blanco a:
 hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com

El uso que hagas de Yahoo! Grupos está sujeto a
las Condiciones del servicio de Yahoo!:
 http://es.docs.yahoo.com/info/utos.html


_________________________________________________________________
Déjanos tu CV y recibe ofertas de trabajo en tu buzón. Multiplica tus oportunidades con MSN Empleo. http://www.msn.es/Empleo/


<Anterior en la conversación] Conversación actual [Siguiente en la conversación>
  • RE: [hispamsx] Referente al concurso MSXdev'04, Eduardo Robsy Petrus <=