¿como carga una SD MAPPER una rom de 64k?

By Visualedu

Expert (78)

Visualedu's picture

25-07-2020, 19:54

Hola, resulta que el juego que he creado (Stupid Martians) funciona correctamente en los MSX reales que he probado hasta ahora, en las máquinas virtuales de openMSX y blueMSX que he probado, pero no lo hace en una SD MAPPER o una MEGAFLASHROM.
Me gustaría arreglarlo.

El juego lo tengo grabado en un cartucho (chip W27C512), cuando lo cargo en el SLOT 1 en mi MSX real (Mitsubihi ML-G1) el juego establece la página 0 en el slot 1 (no uso la bios) con lo que registro A8 es 11 01 01 01
Es decir que el z80 lee mi rom en las página 0,1 y 2 y en la página 3 la RAM. Correcto!!!! Smile

Sin embargo tengo gráficos almacenados en la página 3 de mi rom por lo que, cuando los necesito, modifico el registro A8 poniendo 01 01 01 01 (si el cartucho está en el slot 1) para recuperarlos. Una vez obtenidos los gráficos se reestablece la página 3.

Cuando cargo el juego en una SD MAPPER (en el slot 1), una vez que el juego ha establecido la página 0 en el slot 1 me encuentro que el registro A8 es 01 01 01 01.

No conozco como funciona una SD MAPPER pero cuando cargo el juego con sofarun me da la sensación que está cargando los primeros 48k y luego el ordenador utiliza la página 3 del slot donde está la SD MAPPER como ram (en vez de utilizar la ram propia del ordenador que en mi caso está en el slot 4).

O a lo mejor sí ha cargado las 64k pero, como usa la página 3 como ram, machaca todos los gráficos.

¿alguien se ha encontrado con este problema?

Login or register to post comments

By Guillian

Prophet (3529)

Guillian's picture

25-07-2020, 20:17

En el caso del MegaFlashROM SCC+ SD, el problema está en que no se selecciona correctamente el subslot de la ROM.
Si mal no recuerdo, el juego primero pone el registro #A8 a %01010101 (bien), pero luego pone el registro de subslot (#FFFF) a %01010100 (mal).
Como ves la página 0 tiene el subslot 0, y al saltar a ejecutar codígo a esa página se cuelga.

Otro error que ha reportado un usuario es que el juego solo le funciona si tras flashear el juego apaga el ordenador unos segundos. Esto tiene pinta de deberse a que no inicializa toda la RAM que usa.

Una forma sencilla de poner la RAM a 0 es:
LD HL,inicio
LD DE,inicio+1
LD BC,cantidad de bytes
LD (HL),0
LDIR

P.e.:
LD HL,#C000
LD DE,#C001
LD BC,#2FFF
LD (HL),L
LDIR

By Visualedu

Expert (78)

Visualedu's picture

26-07-2020, 18:22

¡¡¡Gracias por la información!!!.
Efectivamente no se establecía el subslot correcto para la página 0.

Creo que ahora debería funcionar. Como no tengo una MegaFlashROM SCC+ SD he agregado un expansor de slots en el openMSX.
Al probar la rom original en el slot expandido se queda frito. Tras el arreglo funciona, espero que también funcione en MegaFlashROM SCC+ SD.

Si alguien está aburrido, posee una MegaFlashROM y le apetece cacharrear con la MegaFlashROM SCC+ SD, paso un link con la rom modificada en la que se muestra información relativa a los slots y subslots. Indicad si os funciona por favor Smile

https://drive.google.com/file/d/15K4UbZU-DnrWhogBQN_0ojCcksN...

Ora cosa, también he agregado la funcionalidad de inicializar la memoria :)

By Guillian

Prophet (3529)

Guillian's picture

26-07-2020, 19:04

Lo acabo de probar en el MegaFlashROM SCC+ SD y funciona correctamente. Wink

By Visualedu

Expert (78)

Visualedu's picture

26-07-2020, 19:22

¡¡¡Que bien!!!
Prepararé una rom sin la información de debug para la MSXDEV Smile

By Visualedu

Expert (78)

Visualedu's picture

27-07-2020, 23:51

¡Ya se puede jugar a StupidMartians en una MegaFlashRom!

Se puede descargar una rom corregida aquí:
https://drive.google.com/file/d/15K4UbZU-DnrWhogBQN_0ojCcksN...

By Visualedu

Expert (78)

Visualedu's picture

31-07-2020, 19:04

Hola, he hecho un par de modificaciones en la gestión de los subslots del juego.

¿Podría alguien probar el juego en la MegaFlashRom? (y si tiene algún otro dispositivo de carga de roms también me vendría muy bien)

Rom normal:
https://drive.google.com/file/d/1gCiCH6haEcqQmf_X3he7KJVg6Ql...
Rom con información de debug:
https://drive.google.com/file/d/1cCci-cCzyJGUbDci2OcGOF1hRiJ...

By Guillian

Prophet (3529)

Guillian's picture

03-08-2020, 10:04

Visualedu wrote:

Hola, he hecho un par de modificaciones en la gestión de los subslots del juego.

¿Podría alguien probar el juego en la MegaFlashRom? (y si tiene algún otro dispositivo de carga de roms también me vendría muy bien)

Funciona bien en el MegaFlashROM SCC+ SD Wink

By Visualedu

Expert (78)

Visualedu's picture

05-08-2020, 00:31

Gracias! ????