La creación de un archivo rom es muy sencilla, tan solo que cumplir la especificación, para ejecutarla solo necesitamos pinchar en el botón Cart A y elegir el archivo que previamente hemos creado con sjasm:
Recuerda que, si haces algún cambio, tendrás que cerrar el emulador para que sjasm pueda sobreescribir el archivo .rom y tendrás que volver a abrirlo, ahora copia y pega este código:
output "programa.rom"; acuerdate de poner los espacios delante de output
org #4000
;Cabecera
db "AB"
word INICIO
word 0,0,0,0,0,0
INICIO:
ld hl,mensaje ; almacena en los registros h y l del z80 la referencia a la memoria
call Print ; Llama al método Print
jr $ ; Bucle infinito, siempre se pone así, el $ es la referencia de la memoria en la que estás, :)
Print:
ld a,(hl) ; Lee el 1 byte de la dirección de la memoria indicada y lo almacena en el registro a del z80.
and a ; Actualiza la bandera z del registro F del z80 y la pone en 0 si no hay valor, and a también actualiza el flag c, p, v y s.
ret z ; Devuelve el cotrol al Main si la bandera z del registro F del z80 es 0
call #00A2 ; Llama a la subrutina 0042h de la Bios la cual imprime el caracter almacenado en el registro a del z80
inc hl ; incrementa el puntero de los registros hl para que señale al siguiente byte
jr Print ; Llama al métdo print para que lo vuelva a ejecutar
mensaje:
db "Hola soy MSX, claro, pijo!! ",0 ; Crea una dirección en la memoria con la etiqueta mensaje, el cero indica el fin del texto
relleno_de_bytes:
ds #8000-$ ;desde 4000 hasta 8000 rellena los bytes con datos
;ds #6000-$ ;para una ROM de 8KB
