HispaMSX

RE: [hispamsx] Formato ROM + Interrupciones

2004-08-05 14:28:11
Se me olvidaba algún detalle:

Buenas. Alfonso ya te ha dado las pistas, pero sí, por ahi van los tiros.

>    org 4000h
>    DB      41h,42h
>    DW      start
>    DB      "MiprimeraROM"
>
>start       di
>    ld       HL,RUTIME       ; Cambio del interrup handler por RUTIME
>    ld       (38h+1),HL
>    ld       A,0C3h

Aquí estás mandando la instrucción JP RUNTIME
Para que te funcione, tienes que mandar 0CDh, es decir, CALL RUNTIME
Y por supuesto, en RUNTIME, hacer todas las cosas que hacer salvando antes los registros y recuperándolos después desde la pila. Y para volver al programa, bastará un RET normal y no un RETI.

Creo que con eso queda todo dicho!

>    ld       (38h),A
>         ei
>main    jp      main    ; No sale.

El código es impecable, pero estás tratando de escribir en la dirección
$0038, que en el momento en que se carga la ROM están mapeadas como BIOS y
no como RAM. Si ejecutaras un programa así desde BASIC tampoco te
funcionaría.

Como dice Alfonso, cambia esa dirección por uno de los punteros de
interrupción de la RAM alta de sistema. Puedes utilizar el hook de teclado,
por ejemplo, que suele ser lo más habitual. Con ese pequeño cambio, todo te
funcionará como la seda.

De todos modos, pasar de .COM (todo RAM) a .ROM (casi todo ROM), tiene sus
problemillas, sobre todo con la gestión de las variables. Tenlo en cuenta.

Un saludo,

Edu R.

_________________________________________________________________
La información más fresca desde diferentes puntos de vista en la Revista de
Prensa de MSN. http://es.newsbot.msn.com/



*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


    hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com

    http://es.docs.yahoo.com/info/utos.html



_________________________________________________________________
Acepta el reto MSN Premium: Correos más divertidos con fotos y textos increíbles en MSN Premium. Descárgalo y pruébalo 2 meses gratis. http://join.msn.com?XAPID=1697&DI=1055&HL=Footer_mailsenviados_correosmasdivertidos


<Anterior en la conversación] Conversación actual [Siguiente en la conversación>