NEBULA CPS2 Emulator (C) 2001 ElSemi http://nebula.emulatronia.com NebulaEmu@myrealbox.com version 1.8 1.8 Nuevo sistema emulado: Neo·Geo. Lee el archivo NEOGEO.TXT para mas información. Nuevo código de autoframeskip, funciona mucho mejor, ahora se puede jugar mucho mejor en ordenadores lentos. Notad que el funcionamiento de la opcion UseMasking del Nebula.ini se cambió en la version anterior. Leed los comentarios actualizados en éste archivo. Añadidas opciones para desactivar el joystick y los sonidos de la GUI al archivo NEBULA.INI Nuevo sistema de menús (aparece al pulsar ESC durante el juego) que permite acceder a las opciones de cada sistema. Todas las ventanas del emulador (savestate, loadstate, cheats) han sido mejoradas. Ahora se leen mucho mejor (y son mas bonitas :) ) Añadidos (otra vez) los modos de scanlines a 648x480, ten en cuenta que el resto de modos graficos pueden no funcionar correctamente a esta resolucion en los juegos de CPS (1 y 2). Los juegos de neogeo funcionan correctamente con cualquier modo en esta resolucion. Ahora se pueden especificar diferentes opciones de video para cada sistema emulado (CPS horizontal, CPS vertical y Neogeo) Añadida la opcion (experimental) -window, que permite ejecutar nebula en ventana, pero solo si la profundidad de color del escritorio es de 16 bits. Tambien se puede cambiar entre modo ventana y fullscreen durante el juego pulsando ALT-ENTER. (muy experimental). Añadida la opción -romcenter que crea un archivo de datos (NebulaRomcenter.dat) para la utilidad RomCenter de comprobación de ROMS. 1.7 Cambiado el núcleo de emulación al A68K de Mike Coates. es más rápido y mas preciso. Debido a este cambio, algunos savestates antiguos pueden no funcionar (aunque he probado todos los mios y funcionan). Reescritas algunas partes críticas del emulador (graficos, nucleo principal, sonido), el resultado debería ser un gran aumento de velocidad. Arreglado (esta vez si) la velocidad y el tono de los sonido. Añadido un nuevo modo (DSound2d Narrow), más rápido, pero con menos efecto surround. Ahora el sonido se graba en los juegos de cps1. Arreglados los problemas al salvar el sonido en juegos CPS2. Añadido un potente sistema de macros y ayudas. Lee el archivo MACROS.TXT. Las ayudas solo son visibles a 800x600 sin stretch. Las macros y las ayudas se pueden desactivar desde el menu OTHER Se pueden asignar hasta 12 teclas para macros, estas aparecen pulsando las flechas en el menu Controls Los cuadrados negros del 3wonders han sido arreglados. Arreglado el deslizador de la lista de juegos. Ahora va mejor. 1.6a Arreglados los cuelges al cargar algunos juegos en máquinas rápidas Arreglados la mayoria de los problemas de sonido en juegos CPS1 Los modos Vertical Scanlines y Hw Blit no MMX son ahora accesibles Arreglados los cuadrados negros del GNG. La mayoría de los juegos CPS1+QSound funcionan ahora. Añadido el Street Fighter 2 World Warrior (no todos los clones funcionan) Me olvidé comentar en la actualización anterior que la velocidad del sonido se ha ajustado para que sea mas parecida a la máqina original. 1.6 Muchos cambios desde la ultima vez... AÑADIDO SOPORTE DE NETPLAY USANDO KAILLERA :). Usa la opcion -knet o el archivo NebulaNet.exe. Arreglada la seleccion de color de fondo en los juegos CPS1 Añadidos muchos juegos de CPS1 Añadidos mas dipswitches a los juegos de CPS1 El sonido de los juegos de CPS1 no se carga/graba en las partidas ya que daba algunos problemas. Estoy intentando arreglarlo. Arreglados algunos fallos graficos en los juegos de CPS1 (los cuadrados negros del 3wonders aun están ahi) Los juegos rotados van mucho más rápido (casi como los horizontales). (Gracias a Mr K por esto :) ) Modos de scanlines mucho más rápidos Modo 2xZoom más rápido Nuevos modos de mejora de imagen: Super2xSaI, 2xSaISuperEagle, 2xSaI 75% scanlined (Gracias otra vez a Mr K por este modo). Añadido el modo de scanlines verticales. Arreglado el modo Eagle que se estropeó hace unas cuantas versiones. Quitados los modos scanlines de la resolucion 640x480. Deberéis usar resoluciones mas altas para estos modos. Añadidas las resoluciones de 384x224 y 768x448. Solo las podréis usar si vuestra tarjeta las soporta. (Hay por ahí algunos parches para activarlas en algunas tarjetas). Añadiad la opción AutoAnalyze que permite desactivar la comprobación automática de romsets al arrancar. Añadida la opción Default en los archivos de Cheats. Sonidos en la GUI. Arregladas las animaciones del SFZ3. Quitada la opción PrioEngine del NEBULA.INI ya que no es necesaria. Y muchos mas cambios que ya ni recuerdo... 1.5a Arreglados los problemas con los fondos del Alien vs Predator Arreglados los problemas graficos del ssf2xj. Atención ya que ahora ssf2xj es un child-set de ssf2t. Algunos comentarios adicionales: -LEED LOS COMENTARIOS DEL ARCHIVO NEBULA.INI porque tienen informacion importante sobre como activar las nuevas caraterísticas graficas del motor grafico del nebula. -El soporte de skins en archivos zip es para los desarrolladores de skins. Ahora pueden comprimir los archivos graficos de la skin directamente en un .zip sin tener que convertir a .dat para que Nebula las carge. 1.5 Añadido soporte para juegos CPS1. Todavia no han sido añadidos todos los juegos. No se pueden añadir juegos de CPS1 usando datfiles. He escrito un nuevo código de sprites que emula correctamente las prioridades y el sprite masking. (Este código está desactivado por defecto, ya que es mas lento, debereis activarlo en el archivo NEBULA.INI) Añadidos algunos truquillos para emular el efecto del sprite masking con el codigo antiguo. (Esto también está desactivado por defecto, ya que causa problemas en algunos juegos (morrigan stage de vsav), para activarlo, mirad NEBULA.INI) Añadido un archivo NEBULA.INI con algunos parámetros especiales de configuración (miradlo para saber qué es lo que se puede cambiar). Añadido un selector de skins en el menu OTHER (la skins deben estár en el directorio \SKINS). El nombre mostrado es el nombre del archivo .zip o .dat que contiene la skin. Puedes usar nombres largos en estos archivos (aunque no muy largos 20 letras max). Soporte de hasta 10 directorios de ROMS. Soporte de skins en archivos zip. Arreglado un error que truncaba los archivos de skins a 512Kb. Añadida una opcion para poner el fondo rosa en la shots factory. Muchos mas cambios internos (tantos que ya ni me acuerdo) 1.4a Arreglados los fondos negros del Slammasters Arreglado el modo interpolation que no funcionaba, y añadido un filtro (ahora el modo 44100 Hz suena mejor) Añadida la emulacion del cambio de volumen. Usa las teclas ' y ¡ (junto al Retroceso) para cambiarlo. El volume se graba para cada juego independientemente. Arreglados los cuelgues al cambiar pantalla.raw 1.4 Los nombres de algunas ROMS han sido cambiados para que coincidan con los del último CPS2MAME Ahora se puede filtar la lista de juegos para que solo saque los que estan disponibles. Los romsets ahora no se analizan cada vez que arranca Nebula, solo cuando detecta cambios o cuando se pulsa el boton Rescan en la pantalla OTHER. He cambiado el nucleo del 68000 al Genital68k de Bart Bart Trzynadlowski, que es un poco mas rápido y tiene menos bugs que el Starscream. Reescito el codigo de la capa 2. Los problemas de rowscroll están casi arreglados (solo falta la intro del avsp). Esto ha causado un pequeño descenso de la velocidad, pero con el aumento del nuevo core de 68k espero que se haya compensado y vaya al menos igual que antes. Los problemas graficos del 19xx estan por fin arreglados. Si cargais alguna partida guardada anterior, los graficos seguiran mal hasta que paseis de pantalla. Algunas personas me dijeron que el codigo nuevo de graficos (v1.3 y siguientes) es mas lento en algunos ordenadores, asi que he añadido la capacidad de utilizar el codigo anterior usando la opcion -oldgfx. He cambiado el codigo de prioridades de sprites. Ahora es el mismo que usaba en la primera version, que da menos problemas Implementado el bankswitching de la memoria de sprites (una de las cosas que quedaban por emular del hardware de cps2). Añadidos los modos de filtrado de PNG. Los PNG creados con otros programas se deberian ver bien ahora. Arreglados la mayoria de los problemas con los Raster effects. Ahora se ve casi como en la original, solo fallan algunos sprites (pantalla de apocalypse de xmvsf). Cambiado el formato de los savegames. Ahora el sonido se graba y restaura correctamente. Los archivos de savegame anteriores son compatibles con la nueva version. Los archivos de datos (configuracion y savegames) ya no estan encriptados. Si alguien quiere informacion sobre su estructura, que me mande un mail. Arreglado el problema de corrupcion de la configuracion de botones. Esta arreglado, pero necesita que borreis los antiguos archivos de configuracion. Añadida la opcion de grabar una configuracion de botones por defecto para los juegos que usen el mismo mapa de botones. Ahora se pueden cambiar los graficos de la GUI. (ver opcion -packgui y la seccion mas abajo) 1.3 Corregidos algunos problemas de Rowscrolling (aun quedan algunos, pero ya se cual es la causa). Nuevo código de prioridades de sprites. Parece que todo se ve OK ahora. Añadido el modo Auto Save/Load, que graba y carga la partida al salir/entrar del emulador. Cambiado el formato de los screenshots a PNG. (Los antiguos son convertidos automáticamente) El valor de Frameskip ahora se queda grabado. En la GUI ahora se puede arrastrar la barra de desplazamiento. Añadido soporte para los ratones con rueda en la lista de juegos. El botón de pausa ahora silencia el sonido. Modificados un poco los modos graficos para juegos rotados (19xx). Ahora son mas "pixel perfect". Un comentario final, debido a bastantes preguntas que he recibido. La mejor calidad de sonido se obtiene usando 22050 Hz (no 44100) y Interpolation, esto es debido a que el código está hecho para 22050 y al aumentar la frecuencia, realmente se pierde calidad (suena mas a lata). 1.2a (Esta versión era un arreglo rápido para poder jugar al powered gear, pero al final preferí esperar y sacar una version con mas mejoras) Emulada la parte matemática del chip gráfico (usada por Powered Gear) Aumentado el numero de cheats por juego (100 cheats, 100 estados por cheat y 32 valores por estado) 1.2 Reescritas las rutinas de dibujo. Deberia ser bastante mas rápido ahora. Gracias a Raz. Otro intento de corregir los fallos con las S3 Añadidos de nuevo los modos light interpolation y Full Interpolation. Añadidos algunos Image enhacements al modo 640x480 (scanlines) Posibilidad de usar el audio jukebox en roms sin tablas de desencriptado Cambiados los nombres de los romsets para que sean compatibles con los de MAME. Añadida la opcion de vsync. Añadida la resolucion 1280x960 1.1 Raster effects!!. Preliminar. Algunos juegos tienen pequeños fallos graficos. Ssf2 y ssf2t funcionan perfectamente. Añadidas las resoluciones 400x300 y 640x400. Arreglado el problema de cuelgues al hacer ALT-TAB, ahora funciona perfectamente. Añadido frameskip manual (teclas + y -) Añadidas opciones en la linea de comando (ver mas abajo) Arreglados los problemas con tarjetas que no crean superficies linealmente en memoria (S3 Savage) (No totalmente arreglado). Arreglado el fallo de los 3 puños en el player 2. Modificada la deteccion de teclas. Ahora es mas fácil hacer los movimientos de medio círculo. Añadido 2xSAI y Eagle. Quitados los antiguos modos interpolation. 1.0a Corregido los errores en win95. 1.0 Primera version Necesita las roms en un subdirectorio llamado ROMS o bien en el elegido como alternate. Las roms deben estar en archivos zip. LISTA DE JUEGOS: El codigo de colores el el siguiente: Blanco: Romset correcto. Amarillo: Crc incorrecto. Rojo: Faltan Roms o tienen distinto tamaño. Azul: Faltan tablas de desencriptado. Se puede cargar el juego para ejecutar el audio jukebox. OPCIONES: VIDEO: System: Sistema para el cual se están cambiando las opciones. Resolution: Habla por si misma: 400x300,640x400,640x480,800x600,1024x768. Image enhacement: Mejoran de alguna manera la imagen generada por el emulador. Solo funcionan con resoluciones de 800x600 o 1024x768 Por orden de más rápido a mas lento son: Hardware blit: utiliza todas las capacidades de la tarjeta grafica. Es el modo más rápido. Scanlines: Muestra lineas negras entre las de imagen, dando un efecto mas "real". (strecth 1.6x2) Software Stretch: Hace el stretch por software (1.6x2). Esto evita el filtrado en la Geforce. Scanlines 50%: Las lineas entre las de imagen son menos brillantes. Todavia mas parecido a la máquina original. (stretch 1.6x2) Light Interpolation: aplica un filtro 3x1 a toda la imagen para obtener menor pixelacion. (stretch 1.6x2) Full Interpolation: aplica un filtro 3x3 a toda la imagen. Similar al filtrado de la Geforce. (stretch 1.6x2) 2xSAI: 2x Stretch And Interpolation. Suaviza la imagen. Eagle: Resalta las areas de color y los bordes. Stretch: Estira la pantalla generada hasta ocupar toda la pantalla. Si no se activa, el aspect ratio es el mismo que en la maquina original. VSync: Sincroniza el dibujo con el retrazo vertical. Elimina el "tearing". Surface allocation: Permite especificar como se crean las superficies de graficos. Video memory es mucho mas rápido pero requiere mas memoria de video. AUDIO: Sample rate: Frecuencia de muestreo de audio. 11025, 22050,44100. Se recomienda 22050 Hz. Interpolation: Mejora la calidad del sonido a costa de usar mas procesador. Audio mode: Directsound 2D: utiliza directsound estándar con mixing por software. Directsound 3D: utiliza la interface directsound 3D para posicionar el sonido. Mezcla por hardware. Requiere hardware capaz de aceleracion 3d de sonido y al menos 16 canales. CONTROLS: Permite redefinir los controles. Debes elegir el juego a redefinir. OTHER: Alternate rom directory: Permite especificar un directorio adicional donde buscar las roms. (cdrom por ejemplo) No añadir la \ al final. GUI animations: permite desactivar las animaciones de la GUI, para ordenadores lentos. LINEA DE COMANDOS: Invocacion: Nebula [juego] [opciones] juego - Es el nombre del juego a utilizar para las distintas opciones Si no se especifica otra opcion, el juego es cargado y ejecutado. opciones - -log - Activa la escritura de mensajes en el archivo error.log -noraster - Desactiva el uso de los Raster Effects -list - Genera un archivo Gamelist.lst con la lista de los juegos soportados -romdesc - Genera un archivo GameData.lst con datos sobre las roms del juego especificado -export - Genera un archivo de datos en el directorio ROMDATA del juego especificado. -oldgfx - Utiliza el antiguo codigo de graficos -packgui - Convierte un archivo GUI.ZIP en GUI.DAT -knet - Ejecuta Nebula en modo Netplay con Kaillera -romcenter- Crea un archivo de datos para RomCenter TECLAS: 1 - start player 1 2 - start player 2 3 - start player 3 4 - start player 4 5 - echar monedas player 1 6 - echar monedas player 2 7 - echar monedas player 3 8 - echar monedas player 4 f1 - Service (meter creditos) f2 - Test (menu de configuracion) f3 - Reset f4 - Menu de Cheats y regiones f5 - Comienza/Detiene la grabacion del sonido. El sonido se graba en el directorio SHOTS. El nombre del archivo es el juego+el código actual. f6 - Muestra el Audio Jukebox. Por razones obvias, el procesador debe seguir funcionando, asi que es recomendable entrar en el modo test (snd rip ;). f7 - Hacer un screenshot (en el directorio SHOTS) f8 - Permite activar y desactivar capas y sprites y hacer screenshots f9 - Profiler (muestra fps y tiempos de ejecucion. Ralentiza todo) f10 - Grabar estado f11 - Cargar estado SCROLL LOCK - Anula el framelimit mientras se tenga pulsado (maxima velocidad) PAUSA - Pausa el emulador ESPACIO - Avanza la emulacion cuando se está en modo pausa ENTER - Avanza 1 frame de emulacion cuando se está en modo pausa (gfx rip ;) ) + - Aumentar Frameskip - - Reducir Frameskip ' - Reducir volumen ¡ - Aumentar volumen ESC - Menus durante el juego flechas - Mando del player 1 A - Boton 1 player 1 S D Z X C - Boton 6 player 1 AÑADIR ROMS Se pueden añadir mas roms creando archivos en el directorio ROMDATA El formato es el siguiente: (ej: quiz nanairo dreams) El Nombre del archivo debe ser el del romset acabado en .dat: qndream.dat y su contenido es el siguiente: Quiz Nanairo Dreams Descripcion Romset padre (vacio si no tiene) tqzj.03,80000,7acf3e30 Roms de programa: nombre,tamaño en hex,crc tqzj.04,80000,f1044a87 tqzj.05,80000,4105ba0e tqzj.06,80000,c371e8a5 Linea en blanco (sin nada, ni espacios) tqzjx.03,80000,5804a8f8 Tablas de desencriptacion Linea en blanco tqz.14,200000,98af88a2,800000 Roms de graficos: tqz.16,200000,df82d491 nombre,tamaño,crc,dir de carga (opcional) tqz.18,200000,42f132ff tqz.20,200000,b2e128a3 Linea en blanco tqz.01,20000,e9ce9d0a Roms del Z80 Linea en blanco tqz.11,200000,78e7884f Roms de sonido tqz.12,200000,2e049b13 Linea en blanco 3 Tipo de controles. ver mas abajo -1 Siempre acabar con un -1 en la ultima linea los tipos de controles son los siguientes: 0 - 2 Players estándar. sfa,ssf2,msh, etc 1 - 3 Players. avp 2 - 4 Players. ddtod 3 - 2 Players Quiz Nanairo No es necesario añadir todas las roms en los juegos que tengan un romset padre, solo las que sean diferentes (pero la linea en blanco debe aparecer). Si el CRC se pone a 0, no se comprueba. El parser es poco robusto. un caracter en una linea que deberia estar en blanco y cascará. Las direcciones de carga de graficos solo deberían aparecer en la primera rom de cada grupo de cuatro el resto se calculan automágicamente. CHEATS Los archivos de cheats se almacenan el el directorio CHEATS y deben tener el mismo nombre que el romset, terminado en .dat. El formato es el siguiente: (ej: vsav.dat) [Region] Especifica que sigue el codigo de region 0=Japan,FF8090,0 Numero=Descripcion,direccion (hex),valor(hex) [,direccion,valor...] 1=USA,FF8090,2 2=Hispanic,FF8090,4 3=Oceania,FF8090,6 4=Asia,FF8090,8 5=Euro,FF8090,A 6=Brazil,FF8090,C [0] Numero de Cheat (empieza en 0) Name=Title Screen Descripcion del cheat 0=Vampire Savior,FF8088,0 Numero=Descripcion,direccion (hex),valor(hex) [,direccion,valor...] 1=Darkstalkers,FF8088,1 Los numeros de la izquierda deben ser correlativos (empieza en 0), asi como los numeros de los cheats. Las direcciones representan la direccion en la memoria del 68000. Solo son accesibles la ROM (0-0x3fffff para CPS, no es accesible para Neogeo) y la RAM (0xFF0000-0xFFFFFF para CPS y 0x100000-0x10FFFF para Neogeo). Pueden aparecer hasta diez parejas de direcciones-valor en cada cheat. Trucos para crear cheats y regiones. En algunos juegos (los nuevos), la region se almacena en los bytes de la ROM C0-C4 (el byte depende del juego). Se puede encontrar la zona de memoria donde esta la RAM y ROM usando un process patcher: Busca en la memoria del programa la frase "ROM ADDRESS" y 16 bytes despues del comienzo de la frase está la direccion en el heap donde se ha cargado la ROM (igual para la RAM). Tambien se puede buscar directamente en el Heap, buscando las frases "CPS2 RAM" y "CPS2 ROM". Justo a continuacion de la M, comienza el area de memoria. MODIFICANDO LA GUI DE NEBULA Ahora puedes modificar la GUI de nebula. Puedes cambiar los graficos de fondos y de menu. para ello necesitas 3 archivos comprimidos en un archivo ZIP (puedes descargar un ejemplo en la pagina de Nebula). Pantalla.raw 640x480 - Fondo de la GUI Botones.raw 400x300 - Botones de la GUI Fondo.raw 640x480 - Fondo de carga de ROMS *El archivo logo.raw ya no es necesario porque va incluido en el exe. Todos estos archivos son archivos RAW, de 3 bytes por pixel en formato RGB (intercalado) y sin cabecera. Los archivos creados tienen varias limitaciones: El fondo de la GUI debe ser negro o de un color oscuro ya que las animaciones usan negro para borrar la pantalla, El archivo ZIP generado lo debes poner en el directorio SKINS\ de nebula. El tamaño maximo del archivo GUI.ZIP es de 2 MB. Se puede convertir el archivo ZIP a un archivo DAT usando la opcion -packgui. Para ello, copia el archivo zip con la skin al directorio de Nebula con el nombre GUI.zip, luego lanza Nebula -packgui y obtendrás un archivo gui.dat, copialo al directorio skins y renombralo como quieras.