Karoshi MSX Community

Desarrollo MSX => Desarrollo (Español/Spanish) => Mensaje iniciado por: Darth_Fistro en 07 de Febrero de 2006, 08:43:00 pm



Título: Necesito snippet para roms de 32kb
Publicado por: Darth_Fistro en 07 de Febrero de 2006, 08:43:00 pm
¡Hola!

Es que he sobrepasado los 16kbs y ahora no encuentro el snippet de Robsy para reconocer roms de 32kb.

El caso es que me pasa ahora algo muy raro. Cuando ejecuto el juego, y llevo unos 20 segundos jugando, se bloquea todo. Lo he revisado de arriba a abajo pero no encuentro que haya introducido nada raro. Especifiqué la rom como size 32. ¿Puede esto tener algo que ver?  :-[


Título: Re: Necesito snippet para roms de 32kb
Publicado por: Darth_Fistro en 07 de Febrero de 2006, 08:52:20 pm
Pues debe ser eso, porque cuando me dió el error, se pasaba de los 16 pillando la rutina del Caruso, que la tengo al final de la rom. Ahora he deshabilitado los calls al Caruso y la rom de 32 funciona perfectamente. Así que parece que el acceso a esos 16kb extra da problemas  :-\


Título: Re: Necesito snippet para roms de 32kb
Publicado por: pitpan en 07 de Febrero de 2006, 11:13:15 pm
Pues a ver si puede Jon sacarlo del site original, porque aquí no lo tengo. El problema es que la BIOS se da por satisfecha cuando localiza la primera página ROM, esto es, los primeros 16 KB. Por eso tienes que localizar la segunda página manualmente, y eso era lo que hacía el snippet, incluyendo un adecuado tratamiento de slots y subslots, por si se te ocurre lanzar tu juego en un expansor de slots.


Título: Re: Necesito snippet para roms de 32kb
Publicado por: jltursan en 07 de Febrero de 2006, 11:15:06 pm
Pues con el permiso de Robsy, aquí la tienes :

Código:
;------------------------------------------------
; Esta es la rutina para hacer funcionar ROMs
; de 32 KB sin problemas. Lo unico que tienes
; que hacer es asegurarte de usar las siguientes
; directivas del asMSX:
; .bios
; .page 1
; .rom
; Y ya esta. Espero que esto ayude!
; Edu R.
; 20 de Abril de 2005
;------------------------------------------------

;------------------------------------------------
LOCALIZAR_SEGUNDA_PAGINA:
; Rutina que localiza la segunda pagina de 16 KB
; de una ROM de 32 KB ubicada en 4000h
; -Basada en la rutina de Konami-
; Compatible con carga en RAM
; Compatible con expansores de slots
;------------------------------------------------
; Comprobacion de RAM/ROM
ld hl,4000h
ld b,[hl]
xor a
ld [hl],a
ld a,[hl]
or a
jr nz,@@ROM
; El programa esta en RAM - no buscar
ld [hl],b
ret
@@ROM:
di
; Slot primario
call RSLREG
rrca
rrca
and 03h
; Slot secundario
ld c,a
ld hl,0FCC1h
add a,l
ld l,a
ld a,[hl]
and 80h
or c
ld c,a
inc l
inc l
inc l
inc l
ld a,[hl]
; Definir el identificador de slot
and 0ch
or c
ld h,80h
; Habilitar permanentemente
call ENASLT
ei
ret
;------------------------------------------------


Título: Re: Necesito snippet para roms de 32kb
Publicado por: Darth_Fistro en 08 de Febrero de 2006, 03:26:31 pm
Mil gracias, ahora todo va como la seda  :-* :-* :-*