Karoshi MSX Community
05 de Julio de 2021, 07:12:55 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1] 2 3 ... 5
  Imprimir  
Autor Tema: Uso de la disquetera desde un juego en ROM  (Leído 28860 veces)
0 Usuarios y 1 Visitante están viendo este tema.
SapphiRe
Visitante
« : 16 de Marzo de 2006, 06:04:47 pm »

Hola a todos:

  En el anterior foro (antes del segundo impacto Grin ) ya pregunté esto y ahora vuelvo a necesitar la respuesta que me dísteis.

  Quiero que un juego en ROM pueda acceder a la disquetera, por lo que necesito saber el gancho en RAM para poder apuntar a una pequeña rutina que vuelva al juego tras inicializar la disk rom.

Graciaaaas
--
SapphiRe
En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #1 : 16 de Marzo de 2006, 08:55:44 pm »

Por zupuezto Wink

Lo que sigue es un extracto del proceso de inicialización del MSX-DOS, que hasta cierto momento entiendo que es común con el BOOT estandar de una máquina MSX. Sólo incluyo esos pasos comunes (en negrita el que creo que es clave) :

Citar
1. Resetting MSX causes all the slots to be examined first, and when two
bytes, 41H and 42H, are written in the top of the examined slot, the slot is
interpreted as connected to a certain ROM. When connected with ROM, the INIT
(initialize) routine whose address is set to the header portion of ROM is
carried out. In the case of the INIT routine of the disk interface ROM, the
work area for the drive connected to the interface is allocated first.

2. When all slots have been examined, FEDAH (H.STKE) is then referred to.
Unless the contents of this address is C9H (unless a certain routine is set
to the hook of H.STKE during INIT routine
), the environment for DISK-BASIC is
prepared and execution jumps to H.STKE.

3. When the contents of H.STKE is C9H in the examination above, the cartridge
with TEXT entry is searched in each slot and, if found, the environment for
DISK-BASIC is prepared, and then the BASIC program at the cartridge is
carried out.

4. Then, the contents of the boot sector (logical sector #0) is transferred
to C000H to C0FFH. At this time, when "DRIVE NOT READY" or "READ ERROR"
occurs, or when the top of the transferred sector is neither EBH nor E9H,
DISK-BASIC is invoked.

5. The routine at C01EH is called with CY flag reset. Normally, since code
"RET NC" is written to this address, nothing is carried and the execution
returns. Any boot program written here in assembly language is invoked
automatically.

6. RAM capacity is examined (contents of RAM will not be destroyed). Less
than 64K bytes causes DISK-BASIC to be invoked.


Y citando a BiFi en un mensaje de MRC :

Citar
It's not that hard to do actually. Have the init set up the H.STKE hook to continue with the rest of the init... It'll init the disk interface and continue with the game after that.

After that, you can do BDOS functions to access disk. The address for the routine to do BDOS function calls is $F37D. Info on BDOS can be found on the MSX Assembly Page.

o este otro :

Citar
- A MSX cartridge (eg ROM) can patch the H.STKE to take control of the disksystem. In this case, as soon as the initialization of the disksystem is ready, control is passed to the basic interpreter (so no basic roms, bootsectors to take control), and at a certain point H.STKE is called, and control is back to the cartridge. This is used by ROM games, which use the disksystem.

A pesar de todo hay algo que no me queda claro y tendría que coger lápiz y papel para darle unas vueltas. Si das con el método preciso, no dejes de comentarlo Grin.

Citar
(antes del segundo impacto Grin )

Jejejeeeee,  Grin Grin
Como se te nota la vena evangelizadora... Wink
En línea

Doom dee doom dee doom
SapphiRe
Visitante
« Respuesta #2 : 17 de Marzo de 2006, 12:53:13 pm »

Citar
2. When all slots have been examined, FEDAH (H.STKE) is then referred to.

Muchas gracias JL. Jejeje... es exactamente lo que me dijo Martos anoche "creo que el gancho es el FEDA...", así, como suena.

Citar
A pesar de todo hay algo que no me queda claro y tendría que coger lápiz y papel para darle unas vueltas. Si das con el método preciso, no dejes de comentarlo Grin.

Por supuesto, es más, haré un par de pequeños snippets para ponerlos en el foro: hookFEDA.asm y polite.asm. Los complementos ideales para searchstream.asm.

Citar
Citar
(antes del segundo impacto Grin )

Jejejeeeee,  Grin Grin
Como se te nota la vena evangelizadora... Wink

Claaarooooo... Cheesy y eso que el final de la serie no me gustó nada, prefiero Saikano en ese aspecto.

Saludos
--
SapphiRe
« Última modificación: 17 de Marzo de 2006, 02:29:17 pm por SapphiRe » En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #3 : 17 de Marzo de 2006, 02:14:13 pm »

Citar
Claaarooooo... Cheesy y eso que el final de la serie no me gustó nada, prefiero Saikano en ese aspecto.

Como se nota que no has visto Kare-Kano... Shocked

Yo es que si es de Gainax no discrimino  Tongue
En línea

Doom dee doom dee doom
SapphiRe
Visitante
« Respuesta #4 : 17 de Marzo de 2006, 02:30:06 pm »

Citar
Claaarooooo... Cheesy y eso que el final de la serie no me gustó nada, prefiero Saikano en ese aspecto.

Como se nota que no has visto Kare-Kano... Shocked

Yo es que si es de Gainax no discrimino  Tongue

Pues ya hablamos un día para prestarnos series de anime, que mi madre está pidiéndome alguna serie más para verla Grin Grin
En línea
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #5 : 17 de Marzo de 2006, 05:29:40 pm »

Lamento no tener ni zorra de todo eso, que me suena a chino, pero ánimo pues aquí estaremos para recoger las mieles del trabajo de otros en forma de snippet (qué morro tengo) Grin

En serio, que sería fantástico poder hacerlo, sobre todo por los conversacionales, que ya Jon me tiró de las orejas el año pasado con el Manicomio  Embarrassed pero es que ni flowers...

 Cheesy
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
SapphiRe
Visitante
« Respuesta #6 : 17 de Marzo de 2006, 05:41:02 pm »

Pues sería interesante que lo probaras en el Manicomio para ver si también funciona desde MSX-Basic. Hoy mismo voy a intentar hacer las pruebas para daros dos snippets que se complementan y que abren un montón de posibilidades nuevas.

Saludos
--
SapphiRe
En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #7 : 17 de Marzo de 2006, 07:27:59 pm »

...o por ejemplo, para permitir que juegos como el Namake o el Griel's carguen (o salven si se incluyese un editor) niveles desde disco. Wink
De todas formas parace que con las BASIC ROMs hay algún problema para poder inicializar el disco; o eso se deduce de lo que parecen comentar... Huh
En línea

Doom dee doom dee doom
SapphiRe
Visitante
« Respuesta #8 : 17 de Marzo de 2006, 07:34:53 pm »

...o por ejemplo, para permitir que juegos como el Namake o el Griel's carguen (o salven si se incluyese un editor) niveles desde disco. Wink

Ahí le has dao... Namake's 2 debe incluir esa opción... pero antes otros juegos como el  Lips Sealed XXXXX Lips Sealed o el  Lips Sealed XXXXXXXX Lips Sealed (cuando haya algo funcional ya daremos más pistas Grin Grin).
En línea
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #9 : 17 de Marzo de 2006, 08:20:13 pm »

¡O sea que en Buresto estáis al menos trabajando en más de un proyecto! ¡Yeahhhh! Aunque no llegue todo a ver la luz, eso al menos es un buen comienzo y una gran noticia  Cheesy A JL no le pregunto porque sus proyectos no alcanzan ese status oficial hasta llegados un punto de evolución donde "no hay retorno" Wink pero si está también trabajando al menos en algo, ¡este va a ser un gran año!  Cheesy

Listo estoy para montar ese snippet (buf, aunque menudo coñazo lo de montar la rom híbrida) Wink
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
SapphiRe
Visitante
« Respuesta #10 : 18 de Marzo de 2006, 06:11:05 pm »

¡O sea que en Buresto estáis al menos trabajando en más de un proyecto! ¡Yeahhhh! Aunque no llegue todo a ver la luz, eso al menos es un buen comienzo y una gran noticia  Cheesy A JL no le pregunto porque sus proyectos no alcanzan ese status oficial hasta llegados un punto de evolución donde "no hay retorno" Wink pero si está también trabajando al menos en algo, ¡este va a ser un gran año!  Cheesy

Llevo diseñando gráficos y programando en ensamblador al menos una semana ya, pero eso no ha sido así hasta que he estado un par de meses con el lápiz y el papel diseñando rutinas gráficas para lograr un aprovechamiento efectivo de la escasa VRAM del MSX1...

Así pues ya puedo decir con casi total seguridad que el juego con código BFRG02 (el cuál se oculta bajo el nombre de XXXXX Wink) está en camino. Quizá en algún momento os sorprendamos con algún que otro flyer, ¿eh KNM?

Saludos
--
SapphiRe
En línea
KNM
Karoshi Hero
*****
Mensajes: 755

Fearless

jbosca@hotmail.com
Email
« Respuesta #11 : 18 de Marzo de 2006, 06:24:47 pm »

Pozi!A ver si termino con "G*****",porque es la que me falta...y lo que salga.Despues habrá sesion de flyers "coming soon".De momento hay uno terminado,y que solo SapphiRe y WYZ han podido ver - éste último,semana pasada en directo -.

KNM
ya no digo mas Lips Sealed
En línea

<Bacterion> : ¿ Por qué la gente se empeña en pulsar F5 ?
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #12 : 18 de Marzo de 2006, 07:51:16 pm »

¿Dos meses diseñando?  Shocked

¡Pero qué c*jones estáis tramando?  Shocked  Tongue

¿Y el último número del  código de serie BF..02, llegará muy lejos este año? ¿..03? ¿..04?

¡Qué miedo!

 Shocked
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
SapphiRe
Visitante
« Respuesta #13 : 18 de Marzo de 2006, 08:41:05 pm »

¿Dos meses diseñando?  Shocked

¡Pero qué c*jones estáis tramando?  Shocked  Tongue

Ten en cuenta que he tenido un comienzo de año muy duro, con viajes de por medio. El diseño lo podía hacer en mis ratos libres y han sido pocos. La rutina complicada la he tenido que hacer en el metro... ante la mirada atónita del resto de pasajeros cuando me ponía a dibujar en una hoja cuadriculada... jijiji

¿Y el último número del  código de serie BF..02, llegará muy lejos este año? ¿..03? ¿..04?

Ya veremos... hay otro juego que también está empezado, pero a saber si será el BFRG03 o el BFMG02...
En línea
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #14 : 20 de Marzo de 2006, 03:16:28 pm »

Ya veremos... hay otro juego que también está empezado, pero a saber si será el BFRG03 o el BFMG02...


¿Qué diferencia hay entre esas nomenclaturas?

KNM, cuenta un poco más de ese proyecto,  Wink ¿está casi casi terminado?
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
Páginas: [1] 2 3 ... 5
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!