Ante todo, quisiera aclarar ciertas dudas que algunas personas me comentaban en unos e-mails que me enviaron en referencia a los
formatos ITM/WAV. Anteriormente, no entré en demasiados detalles con respecto a como pasar a WAV (desde el Intermega) los juegos que subí ya que asumí que se entendía lo que hice, pero como veo que generó un poco de confusión en algunas personas, paso a responder las preguntas más frecuentes.
1) Cómo es que el Intermega incluía conversión a formato WAV por los 80? Me podés pasar la versión que convierte a WAV?El Intermega no soportaba conversión a WAV. El Intermega era y es un software para hacer copias a cassette, por lo tanto NO existe una versión alguna que convierta a formato WAV.
Lo que sucede es que openMSX permite redireccionar a formato WAV todo lo que se envía a cassette, por lo tanto, una vez que tengo armados los archivos ITM, los copio a "cassette" con el Intermega, pero usando openMSX, entonces el juego queda ya directamente en formato WAV. Es así, que no necesito usar herramientas que conviertan de formato BIN a WAV, tales como MicroWAVer.
2) Para qué usar carga por cassette si una disketera o los cartuchos son más rápidos?Eso es correcto, las cargas de los juegos a través de esos dispositivos son muchísimo más rápidas, pero hoy en día es muy difícil conseguir o disponder de diskettes/disketeras en buen estado. En algunos países los cartuchos no eran populares, así que tampoco se consiguen a menos que se compren por eBay. Entonces, la idea de cargar nuevamente los juegos por el puerto del cassette surgió para proveer un medio de carga sin necesidad de disponer de diskettes o de algún otro medio de almacenamiento, siendo sólo necesario el MSX y los archivos WAVs, los cuales deben reproducirse enviando la salida a la entrada de cassette del MSX.
Obviamente, quienes tengan discos y disketteras en buen estado, o bien una BEER, no requieren usar WAVs.
3) Por qué se necesitan 256Kb. de memoria para los doble-megarom convertidos a cassette si las versiones en diskette requieren 128Kb.?Eso se debe a que la mayoría de las versiones que se distribuían en diskette utilizaban un sistema de swapping. El cargador del juego enviaba los archivos binarios a los segmentos del mapper hasta completar los 128Kb. de memoria. Además, se instalaba un manejador de segmentos de forma residente en una dirección alta de memoria. Así, cuando un nuevo archivo binario se requería en memoria y no se encontraba en ninguno de los segmentos, se efectuaba la carga del mismo en memoria RAM (desde el diskette).
Básicamente, estos juegos no requerían que la carga se haga completa para su funcionamiento, siempre y cuando los archivos requeridos en algún momento, puedan ser cargados desde algún dispositivo de almacenamiento.
Como la gran mayoría de estos juegos accedían a los archivos de forma semi-aleatoria (dependiendo principalmente del transcurso del juego), el orden de uso de los mismos no podía predeterminarse. Esto, es totalmente opuesto a la carga a través de un cassette, la cual es SECUENCIAL.
Al no saberse el orden en que un archivo se requerirá, la carga por cassette no puede darse a menos que el juego se cargue por COMPLETO en memoria. Así, cuando un determinado archivo es requerido, simplemente se intercambian los segmentos, sin necesidad de efectuar carga desde un dispositivo.
Y para que el juego se cargue por COMPLETO en memoria, se necesitarán 256Kb. en caso de tratarse de un doble-megarom.
Existen algunas excepciones como por ejemplo la adaptación del Super Laydock que hizo Beto (JAS obviamente), pero eso sólo era posible por la forma en que el juego hacía uso del mapeador o de la VRAM. Los 4 megaroms que incluyo a continuación hacen swapping continuamente SIN UN ORDEN PREDETERMINADO, por lo tanto, si se los carga desde cassette, deben cargarse COMPLETOS en memoria.
Además, estos juegos usan la VRAM de forma completa, escribiendo en la misma continuamente, impidiendo su uso para almacenar parte del juego en ella, ya que el mismo se sobreescribiría. Si al menos parte de la VRAM no se usaría durante el transcurso del juego, parte del mismo podría alojarse en ella y la carga en cassette sería posible en un sistema con 128Kb. de RAM y 128kb. de VRAM. Pero con los 4 doble-megaroms que dejo a continuación, eso no es posible.
4) Cómo convertir de DSK a cassette?No entendí muy bien esta pregunta, pero creo que en algún momento alguien preguntó eso en este foro y se aclaró el tema. Básicamente, la DSK es una imagen de un diskette, la cual contiene SECTORES de disco los cuales se acceden ALEATORIAMENTE. Un cassette contiene BLOQUES y se acceden SECUENCIALMENTE, por lo tanto, una conversión "directa", NO es posible, siendo sólo factible la extracción de los archivos binarios para convertirlos a WAV.
Esta pregunta tal vez se refería a los sector-based games, que eran conversiones no oficiales de doble-megaroms a diskette, en la cual la carga o acceso a los mismos se daba a través de la lectura de los SECTORES del diskette, caso del Andorogynus, Rastan Saga, Scramble Formation, Ikari Warriors, los cuales incluyo a continuación.
Estos juegos presentaban sólo el autoexec.bas y un archivo binario que era el Loader, aunque al hacer un DIR se mostraba además un archivo con extensión 2Mb (ej. RASTAN.2MB). Este archivo en realidad no existía (prueben copiarlo con COPY y verán que no se puede) y era sólo una entrada en el Directorio del diskette. La única forma de copiar estos juegos era a través de una copia física del diskette (SECTOR x SECTOR).
Si la pregunta viene por ese lado, la conversión a cassette tampoco puede darse "directamente", aunque si es posible. Leer la próxima sección para saber como.
SECTOR-BASED DOBLE-MEGAROMS EN FORMATO WAV.A raíz de las preguntas 3 y 4 es que me puse a convertir los siguientes doble-megaroms a WAV, cuyas versiones en diskette se basaban en lectura de sectores y no de archivos:
* Andorogynus
* Rastan Saga
* Scramble Formation
* Ikari Warriors
Para convertirlos a WAV, tuve que estudiar el cargador de los juegos y representar los sectores del diskette en formato de archivos binarios, los cuales luego los convertí a formato ITM y de ahí los pasé a WAV cuando se hace la copia a cassette con el Intermega. Además, tuve que modificar el manejador de segmentos (residente en memoria) para que no lea sectores de diskette, sino que haga intercambio de segmentos del memory mapper, en los cuales el juego es cargado por completo.
Por lo tanto, no existe una forma "directa" de conversión y son necesarios conocimientos de Assembler para Z80 para entender el cargador binario.
Existen muy pocas versiones DSK de estos juegos en Internet las cuales ya vienen directamente en formato de archivos binarios (en lugar de ser un sector-based game), pero todas presentan problemas en la carga, colgándose en la presentación o incluso antes de llegar a la misma. Por tal razón, es que no hay versiones de estos juegos en formato WAV (al menos no encontré ninguna) y decidí convertirlos.
Como ya expliqué, al ser doble-megaroms necesitarán 256Kb. de memoria para cargarse de forma INTEGRA. A los cuatro juegos les agregué el cheat mode, por lo tanto, la carga debe incluir el POKE si se desea activar dicho modo:
POKE&hf300,1:bload"cas:",rLos cheats son los siguientes:
* Andorogynus (Big shot, Shield on, Backpack)* Rastan Saga (Energía infinita)* Scramble Formation (Vidas infinitas)* Ikari Warriors (Vidas infinitas, big shot)Agrego también una versión del Andorogynus que es para MSX con 512Kb de RAM. La versión que necesita sólo 256Kb, debería funcionar también en éste tipo de MSX, pero por alguna razón, es incompatible con "algunos" MSX con 512 Kb. de memoria. En caso de tener 512Kb. de RAM, probar esta versión si la de 256Kb. no funciona.
Como bonus, dejo el
Kralizec Tetris que es un juego muy bien logrado que se presentó en una de las MSXDev.
El enlace de descarga es:
http://www.mediafire.com/?cjj1cz39r8qje04Password:
957jhdfklsdh9823nfda8j2f90874Espero que se hayan aclarado las dudas y no haber generado nuevas
Hasta la próxima,
S