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/