SNES blog

20 April, 2009

bsnes v0.044

Categorías: Tecnicismos, Emulación

Ayer fue lanzada una nueva versión del emulador de SNES para PC bsnes. Aquí va el post orginal de byuu traducido:

Esta versión añade compatibilidad completa con SA-1, sin problemas conocidos. Todos los 26 juegos han sido probados por mi mismo y por otros, y algunos fueron jugados de principio a final. Incluyendo Super Mario RPG, Kirby’s Dreamland 3, Kirby Super Star y Jikkyou Oshaberi Parodius.

Por favor, entended que el SA-1 es básicamente cuatro veces más rápido que la unidad central de proceso de la SNES, así que los requerimientos son muy altos para estos juegos. Por ejemplo, en un E8400 @ 3.0Gz, consigo unos 160 cuadros por segundo en juegos normales. Pero con la emulación de SA-1, esto cae hasta los 90 cuadros por segundo, siendo en los peores casos 80 cuadros por segundo.

Las siguientes caracterísitcias están emuladas:

Núcleo 5a22 CPU core (con fidelidad a nivel de ciclo de bus)
Sincronización de acceso a memoria
Inerrupciones SA-1 -> S-CPU (IRQ + CHDMA IRQ)
Interrupciones S-CPU -> SA-1 (IRQ + Timer IRQ + DMA IRQ + NMI)
Interruptor de seleción de vector SIV / SNV
Unidad de sincronización (linear y H/V)
Unidad Super MMC (ROM + BW-RAM)
Mapeo de flash de slot BS-X
DMA normal
Conversión de caractéres 1 DMA (2bpp + 4bpp + 8bpp)
Conversión de caractéres 2 DMA (2bpp + 4bpp + 8bpp)
Modo de bitmap virtual BW-RAM (2bpp + 4bpp)
Unidad aritmética (multiplicaicón + división + suma acumulativa)
Procesador de longitud de variable de bits (fixed y autoincremental)

Las siguientes caracterísitcas no están correctamente emuladas, mayormente debido a la falta de información:

Conflictos de retraso del bus SA-1
Protección de escritura (BW-RAM + I-RAM)
Prioridad de CPU SA-1 para transferencias DMA
Sincronizacion de acceso DMA

18 January, 2009

bsnes v0.039

Categorías: Tecnicismos, Emulación

Ayer fue lanzada la versión 0.039 del emulador de SNES bsnes para PC. Esta es la lista de novedades:

- Recuperado sobre un 10% de velocidad desde la anterior versión gracias a optimiazaciones del IRQ S-CPU.
- Implementada la cola de prioridad O(1) binary-heap para la programación de eventos.
- Arreglado un fallo en BS-X que nunca mapeaba a SRAM.
- Arreglado un fallo que e permitía que controladores inválidos fuesen permitidos.
- Arreglados todos los warnings de compilación con GCC 4.3 y Visual C++ 9.0.
- Añadidas opciones avanzadas para controlar los retrasos del hardware S-CPU ALU.
- Actualizados los temporizadores S-RTC y SPC7110 para manejar overflows time_t (Y2k38).
- Los códigos de trucos puede tener ahora múltiples códigos por entrada, y múltiples líneas por descripción.
- Reescrito el analizador del archivo de configuración, eliminada la clase config/ del núcleo del emulador.
- WIndows: añadida imagen 256x256 al set de iconos del programa.
- LInux: Areeglado el mapeo de kysym Xorg, los nombres de las teclas se deberían mostrar bien en todos los casos.
- Interfaz de usuario: Actualizado el panel de vídeo, añadido pantalla completa al inicio y opciones de fusión NTSC.
- Interfaz de usuario: Simplificado el panel de audio.
- Interfaz de usuario: Las operaciones booleanas en el panel avanzado pueden ser activadas con doble click.
- Mucha limpieza en el código, especialmente en el manejo de IRQs S-CPU y en la biblioteca de plantillas nall.

Más información y descargas en la página oficial de bsnes.

11 June, 2007

bsnes v0.021

Categorías: Tecnicismos, Emulación

Otra nueva versión del emulador de Super Nintendo para PC bsnes. Traduzco el anuncio oficial:

Lista de cambios:

- La versión de windows puede de nuevo mapear joypads através del panel de configuración de entrada.

- Pulsar enter o la barra espacidora para asignar una tecla no mapea directamente esas teclas.

- F11 ahora cambia a modo pantalla completa.

- Esc ahora muestra y oculta el menú (pulsar F11+Esc a la vez para ocultar completamente la interfaz de usuario)

- Arreglado un fallo en “King of Dragons (J, U, E), KOFF no era borrado durando S-DSP power(), gracias a FitzRoy por el aviso, y a blargg por ayudar a arreglar el fallo.

- Arreglados errores serios de cuelgue en “File->Load” en el port Linux/amd64.

- Espero que se arreglara el error “min/max undefined” en GCC 4.2.0, pero no puedo testearlo para verificarlo.

- Arreglados muchos warnings en GCC 4.2.0, pero probablemente algunos continuen, otra vez, no puedo testear GCC 4.2.0.

- XV_AUTO_COLORKEY puesto a 1 en Video/Xv. Debería arreglar algunos drivers de video donde no había salida, especialmente después de ejecutar mplayer, etc. Gracias a sinimas por la correción.

- Añadido clear_video() a Video/Xv renderer. Los bordes verdes en la salida de vídeo han desaparecido, y descargar la ROM limpiará el vídeo.

Estoy buscando desesperadamente el equivalente a GetAsyncKeyState() en Linux/X-Windows. El método actual que uso en Linux es caputrar eventos de teclas en cada mensaje de pulsación. Esto hace que el código de entrada sea un lio. Necestio una forma de comprobar el estado de las teclas en tiempo real. Si sabes alguna forma de hacer esto, y tienes un ejemplo de código, por favor házmelo saber en mi correo hotmail.com, setsunakuno. Gracias.

- Más info y descarga en la página oficial de bsnes.

3 June, 2007

bsnes 0.020

Categorías: Tecnicismos, Emulación

Nueva versión de bsnes, este emulador al contrario que otros como zsnes o snes9x, pretende conseguir la más fiel emulación de la máquina, dejando de lado las optimizaciones específicas de juegos para compatibilidad y velocidad. Por ello, los requisitos mínimos son muy altos, un Athlon 64 a 2ghz.

A continuación el anuncio ofial traducido:

Cinco meses y 43 lanzamientos WIP, hoy lanzo bsnes v0.020. Me gustaría dar gracias a blargg, porque ha escrito un nuevo emulador S-DSP que es 32 veces más preciso que todos los emuladores existentes hasta ahora de S-DSP. Gracias a esto, ahora el sonido debería ser igual que el de una SNES a nivel de bit, excepto en casos extremamente raros. No se lo puedo agradecer lo suficiente. Desafortunadamente, bsnes perdió sobre un 10% de velocidad sobre la versión 0.019 por el uso del nuevo emulador de S-DSP, pero he de decir que esta lentitud se debe a la forma en la que se ha implementado en el bsnes. El emulador S-DSP de blargg por si solo es muy, muy rápido. Cualquiera es libre de echar unojo a su emulador S-DSP, ya que lo lanzó como código abierto bajo la licencia LGPL, visitando su página web, aquí.

Desafortunadamente, el interfaz de usuario multiplataforma no está acabado del todo. Se hicieron algunos sacrificios para soportar libui. Específicamente, las siguientes características se perdieron desde la versión 0.019, pero espero que sean añadidas de nuevo en futuras versiones:

- Soporte parapantalla completa.
- El panel de configuración de entrada no puede capturar la entrada de joypads. El soporte para joypad sigue presente, pero debe ser mapeado manualmente através del panel de configuración avanzada o editando el archivo bsnes.cfg a mano.
- El editor de códigos de trucos se ha perdido, pero los archivos .cht de bsnes v0.019 se pueden seguir usando, y también los creados a mano.
- El soporte para Sufami Turbo no es accesible desde la interfaz de usuario.
- La interfaz de usuario en Windows está levemente menos pulida debido a los compromisos para permitir que la interfaz de usuario sea legible en Linux.

Siento la lista de características que se han perdido, pero quería lanzar la nueva versión, ya que hacía unos cinco meses desde la última., y quiero que el mundo pueda experimentar el nuevo emulador S-DSP de blargg.

Lista de cambios:

- Añadido el nuevo emulador de S-DSP de blargg, funciona a 1.024mhz. Muchas gracias a blargg por esto, ya que con esto se consigue precisión a nivel de bus en todas las partes de la emulación de SNES excepto para el S-PPU.

- El nucleo S-DSP de blargg arregla fallos en both Koushien 2 (J) y Toy Story (U).

- Arreglados todas las sicronizaciones de ciclos S-SMP para que sean precisas como en el hardware. Gracias a blargg por crear un sorprendente tester de ROM que prueba cualquier posible opcode.

- Corregida la sincronización de instrucciones del S-CPU, arreglos en Mortal Kombat II.

- Revertida la sincronización HDMA una vez más para arreglar Breath of Fire II (G) y Secret of Mana (U) .

- Reescrita completamente la interfaz de usuario para usar libui, que es un wrapper que permite que el mismo código produzca la misma interfaz de usuario tanto en Windows (vía el API de Win32) como en Linux (vía el API GTK+).

- Corregido el comportamiento del reset $2100.d7 OAM, gracias a anomie por la investigación.

- Mejorada masivamente la versión de Linux, ahora debería compilar sin warnings ni errores.

- Añadido soporte para 64-bit a libco, probado en FreeBSD/amd64, debería funcionar también en Linux.

- Mejorado el makefile con las sugerencias de Nach.

- Mejorado el render Xv de linux para usar el formatoYUV2, que debería funcionar en la mayoría de drivers Xorg, permitiendo scaling de vídeo acelerado por hardware.

- Reescrito completamente el sistema del archivo de configuración. bscnes.cfg ahora se guarda en el directorio del usuario tanto en Windows como en Linux, permitiendo el soporte para múltiples usuarios.

- Un montón de trabajo hecho detrás de las escenas, incluyendo limpiezas masivas de código y mejoras en la portabilidad.

Puedes bajar la nueva versión en la página principal de bsnes.

- Descargar bsnes 0.020.
- Página oficial de bsnes.

Otras entradas relacionadas con este artículo:
- Snes9x 1.51.

8 May, 2007

SNEmulDS 0.5 beta

Categorías: Tecnicismos, Emulación

Nueva versión del mejor emulador de Super Nintendo para Nintendo DS a día de hoy. Aquí os dejo las novedades que he traducido de su página web oficial.

snesmulds
Esta versión apunta a la mejora de sonido y gráficos. Como la emulación se vuelve más y más compleja, cada vez es más y más dificil añadir nuevas caracterísitcas sin romper el emulador, así que algunas nuevas características no estarán activadas por defecto para todos los juegos. El archivo de configuración elige que características están activadas y cuales no, y se ha vuelto muy importante (no te olvides de introducirlo en el directorio raiz!).

He tratado de insistir duramente en la mejora del sondio, y he obtenido mejores músicas en algunos juegos, pero sigue habiendo algunos “pops” o “cracks” a veces, y el sonido puede ralentizar o volverse loco en algunas circusntancias raras ( el ARM7 parece que no es lo suficientemente potente).

Ha sido añadido un nuevo menú: el menú de configuración GFX, este menú ofrece una forma facil de cambiar la configuración GFX en tiempo real. La emulación no se detiene como en el menú de opciones, pudes activar o desactivar muchas características y comprobar cuales son mejores para cada juego. (Lee el archivo README para más información)

Aquí está la lista de cambios:

- Cambiados los temporizadores de sonido, ahora los temporizadores deberían ser un poco más precisos y se eliminaron los hacks de temporización.

- Movida la RAM de sonido a la rápida RAM ARM7, eliminado código no usado del código ARM7.

- Ahora soporta cambios de direcionamiendo durante el frame (limitado a dos direccionamientos por frame), eso hace que el Ogre Battle sea mucho más jugable.

- Las personas zurdas ahora pueden disfrutar del mouse de SNES (los botones derechos pueden ser usados como el pad direccional izquierdo).

- Las opciones ahora pueden ser salvadas en el archivo de configuración.

- Nuevo menú de configuración de SNES.

- Arreglados algunos bugs.

Características opcionales (activables desde el archivo de configuración):

- Añadidos arreglos de sincronización de sonido, es un conjunto de flags que hacen al ARM9 funcionar más lentamente o hacer que el ARM espere por el ARM7. Esas opciones hacen que los juegos de Square (y otros juegos) suenen mucho mejor, pero estropean el sonido en otros. Así que esta opción está disponible através del archivo de configuración. Yo sólo lo cambio para el archivo de configuración de Chrono Trigger, SOM1 y FFVI. Deberás modificar la configuración y probar estas opciones para otros juegos.

- Añadida prioridad por tile para BG3, detectando si hay más prioridad alta o baja por tile en cada línea (ver el README).

- Añadida prioridad por tile para BG1 y GB2, usando la cuarta capa DS. Los tiles de baja prioridad van a la cuarta capa (esta idea fue cogida del SNESAdvance).

Sprites priorities can now be changed. See configuraiton file for more informations. The default is 1123 but 1223 makes some games look better (like Castlevania IV first level for instance)

- La prioridad de los sprites ahora puede ser cambiada. Ver el archivo de configuración para más información. Por defecto es 1123 pero 1223 hace que algunos juegos se vean mejor (como Castlevania IV).

Bajarlo de los siguientes enlaces (y parchearlo con DLDI):

http://snemul.com/ds/SNEmulDSv05b.zip
http://snemul.com/ds/SNEmulDSv05b_M3S_R4.zip

Otras entradas relacionadas con este artículo:
- Snes9x 1.51

29 April, 2007

Características técnicas de Super Nintendo

Categorías: Tecnicismos

Unidad Central de Proceso

  • UCP: Procesador WDC W65C816 de 16 bits corriendo a 1.79, 2.68 MHz, o 3.58 MHz (variable), con 128 KB de RAM y el 2a03 parte sonora del NES.
Sonido
  • UCP de Sonido: Sony SPC700 de 8 bits corriendo a 4.1 MHz, con 64 KB de RAM, extensión del archivo en PC: .SPC
  • Chip principal de Sonido : S-SMP de 16 bits a 32 Khz de 8 canales con hardware de descompresión similar al ADPCM
  • Chip secundario de Sonido : S-DSP de 16 bits a 32 Khz de 3 canales con hardware de descompresión utilizado para los efectos sonoros
  • Tiempo de Ciclo de Memoria: 279 Minutos
  • Tamaño de cartucho: 2 - 64 Mb
  • Audio RAM: 512 Kb
  • Canales de sonido: 8, usa samples en forma de onda comprimidos
  • Modulador de Pulsos de códigos: 16 Bits
Video
  • Unidad procesadora de imágenes: 16 Bits
  • Paleta: 32,768 Colores
  • RAM de texturas y mapas: 128 KB
  • Colores en pantalla: 4096. Según el modo gráfico : ejemplo, 241 en mode 1 o 256 en mode 7, sin contar sub-blending
  • Resolución: 256x224 a 512x448. La mayoría de los juegos usan 256x224, 320x224 o 400x300 pixels; había trucos para obtener 512x448 pero era usado raramente
  • Máximos sprites en pantalla: 128 (32 por línea)
  • Máximo número de píxels de sprites en un scanline: 256. El generador de imágenes tiene un error de software el cual se deshacía de los sprites más cercanos en vez de los más lejanos si un scanline excedía el límite.
  • Modos de pantalla más comunes: Modo 1 texto pixel a pixel (16 colores por tile; 3 capas de scroll) texto affine mapped, modo 7 (256 colores por tile; una capa de rotación/escalado)
Alimentación
  • Transformador de Entrada: 120 V AC, 60 Hz, 17 Watts
  • Transformador de Salida: 10 V DC, 850 mA (NTSC), 9 V AC (PAL)
Controladores y conectores
  • puerto para controladores de siete pins en el frontal de la máquina (2)
  • Respuesta del controlador: 16 Milisegundos
  • Salida de Audio Video SNS A/V Multiout (1)
  • Bahía para dispositivos externos (1)
  • Entrada de CD 10 V (1)
  • Salida de radiofrecuencia A/V (1) *Eliminada en la versión compacta del Super Nintendo
  • Conector para cartuchos de juego

Información extraida de wikipedia

Get free blog up and running in minutes with Blogsome
Theme designed by Ian Main