Abadia del Crimen MSX2 y Problemas con Diskettera

Page 1/2
| 2

Par HB-F9S

Champion (383)

Portrait de HB-F9S

27-10-2011, 22:17

Hola,
Estoy intendado cargar la Abadia del crimen de MSX2 en diskette, y cuando está apunto de cargar me dice que "out of memory in 110" El ordenador es un phillips 8245.
Otra duda, con algunos juegos, una vez cargados, sigue funcionando la diskettera, se puede parar de alguna manera? Por qué puede ser?
Muchas gracias!!

!login ou Inscrivez-vous pour poster

Par Paulbrk

Hero (611)

Portrait de Paulbrk

28-10-2011, 01:05

Creo que al reiniciar tienes que dejar pulsado control, eso libera un espacio de memoria que es lo que le falta al juego.

Tienes que dejar pulsado la tecla control desde que enciendes el ordenador hasta que se oye un pitido despues del logo de MSX2.

Par assembler

Champion (378)

Portrait de assembler

28-10-2011, 11:14

Para lo de la disquetera, había que modificar el cargador del juego para que el último bloque que carga lo haga sin el ,r
Luego se hace una pequeña espera para que se apague la luz, y ejecutar el bloque con defusr=&H[direcciondecarga]:a=usr(0)

Eso sí, tienes que buscar cual es la dirección de ejecución de ese fichero...

Par HB-F9S

Champion (383)

Portrait de HB-F9S

28-10-2011, 20:19

Hola Assember,
Cómo modifico el cargador del juego? Cuando entro en el diskette sólo hay archivos .saw, .bas, ABADIA.2..3..4..5..6 y un archivo LOADER
Qué es lo que tengo qué modificar?
Muchas gracias!

Par assembler

Champion (378)

Portrait de assembler

28-10-2011, 22:19

El .bas será el autoexec.
Para no tener problema, arranca el ordenador sin el disco, y una vez arrancado, mete el disco

Carga el loader con LOAD"LOADER"
La ultima linea debe ser un BLOAD"loquesea.6",R
Quita el ,R
Ahora viene lo mas complicado: tienes que localizar la direccion de ejecución del programa (ahí me pillas, no se como se hace en los ficheros de disco, pero no debe ser complicado)
Cuando la tengas, en un numero de linea posterior al bload al que le has quitado el ,r
Pones
100 For a=1 to 10000:NeXT
110 Defusr=&hxxxx:a=usr(0)
Los números de linea tienen que estar después de la del bload, y las XXXX las sustituyes por la direccion de ejecucion

Par odiseaMSX

Champion (419)

Portrait de odiseaMSX

29-10-2011, 21:34

Manten pulsadas tambien la tecla CTRL junto con la tecla STOP, y enciende el F9S sin soltar esas dos teclas hasta que te aparezca el BASIC. Esto te libera
la memoria que usa la agenda, además que no te la inicia esta agenda, saltará directamente al BASIC.

Par HB-F9S

Champion (383)

Portrait de HB-F9S

30-10-2011, 16:31

Muchas gracias!
Ya carga perfectamenta el juego!!

Par manolito74

Paladin (1007)

Portrait de manolito74

30-10-2011, 19:18

Hola:

Para saber la dirección de ejecución hay por ahí programillas que leen el bloque y te dan las 3 direcciones: inicio, final, ejecución.

En otro momento (no estoy en mi ordenador) a ver si busco un programilla de esos Basic y lo pongo por aquí. El que quiera también me puede mandar un mail a mi dirección de GMAIL josemanuel74 y se lo mando.

Saludetes. ;-)

Par HB-F9S

Champion (383)

Portrait de HB-F9S

31-10-2011, 10:09

Hola manolito74!
Mail enviado!
Gracias!

Par Guillian

Prophet (3230)

Portrait de Guillian

31-10-2011, 10:54

Por si a alguno le interesa:
- Parar la unidad de disco: defusr=&hfd9f:for i = 0 to 255: a=usr(0):next
- Ejecutar el último BLOAD cargado: defusr=peek(&hfcbf)+256*peek(&hfcc0):a=usr(0)

Par assembler

Champion (378)

Portrait de assembler

31-10-2011, 10:59

¿Que hay en la dirección 0xFD9F?

Page 1/2
| 2