Logo del DREAMER

 

WWW.EMULATRONIA.COM/DREAMER

 

Entrevista al programador del DREAMER

DREAMER's programmer interview

DREAMER 0.00001

También os hemos puesto unas fotitos del emu rulando varios programas: DCEMU1, DCEMU2, DCEMU3, DCEMU4 y DCEMU5, Dreamer 1, Dreamer 2, Dreamer 3, Dreamer 4, Dreamer 5, Screenshot 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 GLEAM 1, GLEAM 2, GLEAM 3, GLEAM 4 y DREAMSNES 1.

Texto redactado por uno de los programadores.

PRESENTACION

Este es el primer intento (al menos que yo sepa) de emular la Dreamcast. Debido a que no está  muy bien visto esto de la emulación por parte de las empresas que fabrican videoconsolas, no se van a hacer públicos los nombres de las personas que estamos trabajando en el proyecto. No tenía previsto hacer pública la realización de este proyecto hasta que no estuviera bastante avanzado (tan solo algunas fotos que se publicaron en Emulatronia), pero he decidido hacerlo para que todos sepais que esto va en serio. No espereis que el emulador rule juegos en poco tiempo, ya que la Dreamcast es una consola bastante actual y con muy buena tecnología, por lo que va a ser dificil de emular. Pero espero que algún día este proyecto llegue a buen termino y tengamos un emulador de Dreamcast.

MANEJO

Esta es una primera versión preliminar, asi que el interfaz es el mínimo posible para demostrar que funciona realmente. En el archivo encontraréis dos ejecutables: Interpreter.exe y DynaInt.exe. El primero es un interprete puro, con lo cual es bastante lento. El segundo es una mezcla entre interprete y dynarec (90% inerprete, 10% dynarec), utiliza tecnicas de Dynamic Recompilation pero usando las mismas funciones que el interprete para ejecutar los opcodes (algunas instrucciones de memoria están ya en dynarec completamente). Escribe el camino al archivo IP.BIN que desees cargar (o bien buscalo usando el botón Browse). Pulsa el botón Check IP.BIN y obtendrás el archivo que ese cargador necesita (el programa propiamente dicho), y asegurate que ese archivo se encuentra en el mismo directorio que el IP.BIN. Si el archivo est  encryptado, marca el botón Scrambled. (sabrás si est  encriptado porque si no lo marcas petará) Si deseas utilizar el debugger, activa la casilla Debugger (ver mas abajo). Pulsa el botón RUN y espera.

PROGRESO

De momento están emuladas las siguientes partes:

SH4: Todos los opcodes están emulados (no se han probado el 100%) con interprete. Los de movimientos de datos a memoria y saltos están emulados utilizando recompilación dinámica.

FPU: Todos los opcodes emulados a falta de las 2 instrucciones específicas de la Dreamcast. Utiliza el intérprete -> Lento.

PowerVR: La parte básica del hardware 2D funciona correctamente (Framebuffer y registros de control). Falta el modo de video 555. Estamos actualmente buscando información sobre el hardware 3D y las display lists.

Maple Bus: Se han identificado los registros de control y estará funcionando en breve.

Sonido: Nada. Será  lo último que se haga.

CDROM: No están totalmente identificadas todas las llamadas a las funciones del sistema, cuando se identifiquen todas, no creo que sea dificil hacerlo funcionar.

DEBUGGER: El emulador lleva integrado un debugger (que es un poco patatero pero hace su papel). El ejecutar el debugger implica que la ejecución del programa es mucho más lenta. Las teclas de manejo son las siguientes:

F5: Go (Ejecución ininterrumpida)
F7: Trace Into (ejecutar entrando en las subrutinas)
F8: Step Over (Ejecutar sin entrar en las subrutinas, no funciona al 100%)

Comandos: Los comandos se escriben en la parte inferior de la ventana del código:
G (Igual que F5)
G direccion (Ejecuta hasta esa direcci¢n. en hex)
D direccion (muestra la memoria de la dirección especificada. en hex)
D registro (muestra la memoria de la dirección cargada en el registro elegido)
E direccion dato (escribe en la dirección el dato especificado. 0-FF en hex)
R registro valor (carga el valor en el registro. 0-FFFFFFFF en hex)
S (detiene la emulación. solo funciona en modo Go)
F (dibuja el framebuffer)
X (salir)
Z (reset, casca, no usar)
WD 0|1 (oculta|muestra ventana de datos)
WR 0|1 (oculta|muestra ventana de registros)
WM 0|1 (oculta|muestra ventana de mensajes)
WC 0|1 (oculta|muestra ventana de código, ni se te ocurra, sino donde escribes?)

PROBLEMAS CONOCIDOS

Demasiados. De momento el unico programa de Dreamcast que se sabe que funciona es la Demo de Dan Potter (de momento la unica demo que hay). Esta demo funciona porque no utiliza apenas el hardware de la Dream (no hay 3D, Control, Lectura de archivos). Tengo que recalcar que Dan Potter NO ESTÁ RELACIONADO CON ESTE PROYECTO EN NINGUNA FORMA (salvo por la información que hemos leido en su página y por la demo que hemos usado para demostrar el funcionamiento del emulador). Este proyecto es Español, hecho por españoles. Para que luego digan que en España no se hacen emuladores. (Aunque el emulador está en inglés, pero es que no quiero que la gente se quede sin saberlo hacer funcionar. Este documento está en castellano porque mis conocimientos de inglés no son suficientes para escribir un documento tan grande).

REQUERIMIENTOS

Pentium VIII a 100 Ghz...Emmm, bueno quizás algo menos ;) Actualmente lo hemos probado en un Pentium II 300 y da pena. (Ni hablamos del 266 con el que se tomaron los screenshots de Emulatronia. Que paciencia tienes, Pepito!!) Con un Athlon a 600 y 128 MB de RAM, la velocidad es aceptable. Esperemos que cuando esté acabado el codigo de recompilación dinámica ganemos un poco mas de velocidad (al pasar del interprete puro ganamos el doble de velocidad). En las tarjetas gráficas que usen el modo de 16 bits 555 se obtendrán los colores alterados.

COSAS LEGALES

SEGA y DREAMCAST son marcas registradas de SEGA Enterprises LTD. Ninguna información utilizada para la realizaci¢n de este emulador está protegida por Copyright. No se ha utilizado ningun SDK, Devkit o cosas parecidas que si que tienen copyright como fuentes de informaci¢n. Solo se ha utilizado información disponible públicamente. He incluido dentro del zip los archivos de la demo de Dan Potter, ya que son de dominio público, y espero que no haya ningun problema. de todas formas podeis ir a www.allusion.net/dcdev para obtener el codigo fuente y otras cosas sobre la dreamcast. Permanezcan atentos a Emulatronia para nuevas informaciones sobre el progreso del emulador. (www.emulatronia.com por si alguien no lo sabía)

 

Volver