Karoshi MSX Community
06 de Julio de 2021, 06:48:39 am *
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]
  Imprimir  
Autor Tema: ODO V02  (Leído 3403 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Ramones
Visitante
« : 18 de Diciembre de 2006, 12:18:44 am »

Hola a todos.

Como no tenía mucho que hacer este fin de semana, he estado terminado una utilidad que llevaba tiempo persiguiendo. Quizá exista algo parecido, pero no he sido capaz de localizar algo igual.

ODO es un cargador de Roms de 48k y menos sin mapper. Hasta ahora no conocía ningún programa que cargase en memoria y ejecutase Roms de 48k, como The Cure o Universe Unknown y por eso me he decidido a realizarla. Igualmente había algunas Roms que daban problemas con las Flash convencionales, puesto que se ejecutan en la página 0 del Z80 (Hero, Crazy Train...). Y sobre todo algunas de las aquí presentadas como BASIC que tambien son huesos duros para hacer funcionar.

Así pues he intentado dar cabida a todas en esta utilidad.

Por supuesto, no es perfecta. Solo funcionará bien para ordenadores con 64k de Ram en un mismo slot (lo cual será todos los que puedan ejecutarlo ya que es una utilidad para DOS1).

Tampoco funcionan todas desde el cargador, así que le he añadido una opción para que haga un reset automaticamente e intente ejecutar la Rom en memoria.

Si mantenemos pulsado CTRL cuando se ejecuta el programa se ejecutará un reset automáticamente, menos para las Roms de 48k. Roms raritas como "Manicomio" la he conseguido hacer funcionar así. Ejecutando, reseteando y desconectando el interfaz de disco (MegaSCSI) . 

También está probada en un MSX1 con una unidad de disco externa. LoadRom no funcionaba en MSX1, así que los MSX1users podrán disfrutarla.

Es compatible con MSXDOS2, así que también lee sin problemas Roms desde un CDRom o similar.

En fin, espero que sea útil para los desarrolladores de Roms "raritas". Smiley

Podeis descargarlo de:

http://www.kurarizeku.net/ftp/ODOV02.LZH


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


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #1 : 18 de Diciembre de 2006, 10:36:36 am »

¿Y no se podría incorporar también algún mecanismo para inicializar el sistema de disco independientemente de la ROM?; eso sería muy útil precisamente para este tipo de ROMs como el manicomio, en las que en algún momento se graba la situación y tal...
En línea

Doom dee doom dee doom
Ramones
Visitante
« Respuesta #2 : 18 de Diciembre de 2006, 11:11:13 am »

¿Y no se podría incorporar también algún mecanismo para inicializar el sistema de disco independientemente de la ROM?; eso sería muy útil precisamente para este tipo de ROMs como el manicomio, en las que en algún momento se graba la situación y tal...

En principio, cualquier Rom que espere la inicialización de disco debe de funcionar. Por ejemplo, EggerLand, se engancha en 0FEDAh cuando arranca, como cualquier Rom que deja que se inicialice la disquetera.

Y estas funcionan directamente sin forzar el Reset.

El problema del manicomio es otro, y no he sabido solucionarlo. El juego se ejecuta como una Rom normal, no Basic, y su propio código después posiciona el BASIC y ejecuta el programa del mismo. En este punto es donde suele "morir" el programa (justo despues de la introducción de los ojos).

Como te digo, si la cargo en memoria, hago reset y deshabilito el interfaz de disco, funciona, y sigue quedando la disquetera activada.

En línea
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #3 : 18 de Diciembre de 2006, 01:49:20 pm »

Pues ahora mismo no puedo probar el programa, Ramones, pero suena muy interesante!. Gracias por compartirlo con nosotros  Wink
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #4 : 18 de Diciembre de 2006, 08:16:17 pm »

Yo es que lo de la inicialización del disco lo tengo todo en teoría, nunca he probado Tongue; pero la verdad es que la chorradilla vendría muy bien para un montón de proyectillos. Smiley

Te iba a preguntar que significaba el nombre; pero mejor me callo no sea que me lleve pa casa parte del mismo... Grin
En línea

Doom dee doom dee doom
Ramones
Visitante
« Respuesta #5 : 18 de Diciembre de 2006, 08:43:01 pm »

Yo es que lo de la inicialización del disco lo tengo todo en teoría, nunca he probado Tongue; pero la verdad es que la chorradilla vendría muy bien para un montón de proyectillos. Smiley

Pues es una chorrada como un piano. Puedo pegarlo aquí, como en el foro de desarrollo.

A ver ...  te pego pero así un poco revuelto:


Código:


initdsk:
di
call search_slot
ld h,a
ld l,0F7h
ld (HSTKE),hl
ld hl,initmaindskret
ld (HSTKE+2),hl
ret

// -----------------------
// SEARCH_SLOT
// Busca slot de nuestro rom
// -----------------------

search_slot:

call 0138h
rrca
rrca
and 3
ld c,a
ld b,0
ld hl,0FCC1h
add hl,bc
ld a,(hl)
and 080h
or c
ld c,a
inc hl
inc hl
inc hl
inc hl
ld a,(hl)
and 0Ch
or c
ld h,080h
ld (slotvar),a
ret




Y ahora te explico. Aunque quizás lo mejor es poner un ejemplo completo en el área de desarrollo. HSTK, es 0FEDAh.

Y bueno, ese código lo tienes que poner en el inicio de tu Rom.

Una vez ejecutado, al hacer el ret, devuelves el control al MSX, así que si vas a usar esto no hagas al inicializar el típico

di
im1
ld sp,0F380h

puesto que joderás la marrana.


initmaindskret, es la dirección a la que quieres que te devuelva el control el MSX, una vez ha recorrido todos los slots, o lo que es igual, que ha inicializado la disquetera.

En ese sitio, compruebas si HPHYD (0FFA7h) tiene un C9h (un ret). De ser así, no hay disquetera en ese ordenador. Si tiene un valor, tiene disco, y ya puedes implementar tu codigo de acceso al mismo. Smiley

Esto es así por encima, pero creo que podría dejar un ejemplo completo.

Te iba a preguntar que significaba el nombre; pero mejor me callo no sea que me lleve pa casa parte del mismo... Grin

A ver, esto viene de lejos. Cuando hicimos Manuel y un servidor el OPF no sabíamos que nombre poner. Como Manuel es "muy del norte" siempre estaba con lo de "os voy a dar Ostias como Panes". Y de ahí lo de Ostias como Panes Flash Rom Loader.

Y eso, para seguir con los nombres como no tengo mucha imaginación, pues otra frase suya. Ondonadas de Ostias, aunque realmente Hondonada (de hondo) es con H, y Hostia con H también ya está aceptada como bofetada y demás (aparte del circulito y oblea sagrado para los católicos).

Pero realmente creo que sería Andanadas de Hostias, pero ADH como nombre de programa me quedaba feo. XD

Ale, explicación friki al canto. Tongue






En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #6 : 18 de Diciembre de 2006, 09:45:22 pm »

jODO con la explicación  Grin
En línea
Páginas: [1]
  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!