------------------------------------------------------------------------------------------------------------------------------
CPU: SH-4 RISC con unidad FPU vectorial de 128 Bits (frecuencia de operación: 200 MHz 360 MIPS/1.4 GFLOPS)
Motor Gráfico: PowerVR2DC (PowerVR2 CLX2 modificado) de NEC con 8 Mb de VRAM.
Memoria RAM: 16 Mb.
Tarjeta de Sonido: Super Intelligent (Yamaha) Procesador de sonido con CPU RISC ARM de 32-Bit (64 canales PCM/ADPCM) con 2 MB de memoria.
------------------------------------------------------------------------------------------------------------------------------
El error de la emulacion,casi siempre se quiere que todo sea interpretado por software,pero la idea es que sea optimizado por medio del hardware.
El dia que a alguien se le ocurra hacer un emulador que corra sobre su misma arquitectura se comprendera mi punto de vista.
un emulador de dreamcast que corra por puro software no va a arrancar ni a golpes en la misma consola ya que no tiene suficiente ram ni procesador para canalizar todo el sistema(audio,video,ram y procesador asi como aplicaciones).
Dreamcast seria perfectamente jugable en una pentium 3 a 500mhz con 16mb de video y 32 de ram ,pero si se autoemulara sera la mitad de eficiente ya que la estructura virtual estaria utilizando la estructura real.
**asi como esta el hack del puyo puyo que permite ver el menu de la consola en 3d,tambien es posible hacer que la consola crea que el lector sd es el lector Gd mendiante la emulacion ,no es necesario autoemularla completamente,solo las partes que sean necesarias como el bios,el lector gd y el menu.**
Editado por
dakangel en 30-05-2009 21:34,
15 year haceBueno, ya te respondí en EOL, pero si alguien de aquí se quiere apuntar a la fiesta adelante xD
Imaginen que tienen el disco del emulador de dreamcast(virtual) puesto en la consola (dreamcast real).
***Este proceso puede ser comparable al disco duro del ps2 pero llevado al extremo,incluso puede ser imitada la funcion de lectura del emulador por vmu como si de un minijuego se tratara***
**En la tarjeta sd puede tener pregrabado aparte de las isos o cdi otro emulador que permita regresar al menu de la consola virtual,sin tener que pasar por el de la real y asi seguir jugando o probando**
*los circuitos electronicos se manejan por pulsaciones de energia,su virtualizacion es por medio de compuertas logicas(hay o no hay, 0 y 1)*
¿Se entiende mas o menos la cosa de autoemular o lo que me refiero?
Editado por
dakangel en 30-05-2009 21:35,
15 year haceNo creo que sea posible, faltan recursos...
Algo no se puede emular a si mismo sin una mayor potencia original porque necesita mucha más carga procesal para emular...
Shenmue es mi regalo para los jóvenes del siglo XXI
"Yu Suzuki"
Si es posible,y mucho ademas seria demasiado util.
por la forma convencional que tu piensas como es el nulldc o el chankast no se puede ,de hecho hice la aclaracion que la dc no podria emularse a si misma ni a patadas.
PERO como es emular una arquitectura sobre la misma ,es aprovechar los recursos fisicos que son los mismos
¿para que sirve tener una autoemulacion?,pues en la virtualizacion puedes hacer lo que no harias en la consola fisica
TENIENDO EN CUENTA que la emulacion aprovecha los recursos originales de la plataforma donde corre.
Editado por
dakangel en 30-05-2009 21:41,
15 year haceok la idea es muy buena, pero ¿como se hace?
Transformando los circuitos electronicos en sus contrapartes "logicas".
Esto es, copiar la circuiteria total de la maquina....
La "emulacion" que se usa esta basada en simular la maquina ,todo por software,las traducciones se hacen por software y en ultima instancia al SO y baja todo el rendimiento al estar retraduciendo todo.(como el mame)
El mame copia la circuiteria, el virtualbox provee un entorno virtual pero tomando los recursos fisicos de la pc,tu le asignas unidades fisicas de memoria ram,video,audio y espacio fisico del disco duro...
Con eso ,la Dc virtual en ves de pedir o tomar recursos,mandaria las ordenes directamente a la arquitectura real(ya que es la misma) y solo es necesario hacer una emulacion parcial de lo que se necesite y todo lo demas lo tomaria de la consola real.
La dreamclone (o solamente) su bios y flash modificados,podrian ser instalados y moverse desde la vmu o desde el sd(se detecta desde que se enciende la consola real como lo del puyopuyo)
El emulador solo llamaria a los procesos que requiera.
Editado por
dakangel en 30-05-2009 22:02,
15 year haceEso es una utopía...
La idea es muy bonita pero imposible de llevar en la práctica.
Si tanta idea tienes...
¿no has hecho ningún ejemplo sencillo de autoemulación?
¿No entiendes que la dreamcast no tiene recursos para autoemularse?
Se necesitarían al menos el doble...
Shenmue es mi regalo para los jóvenes del siglo XXI
"Yu Suzuki"
Editado por
Neoblast en 28-05-2009 12:48,
15 year haceNEOBLAST
Se que eres uno de los fuertes aqui,que te gusta la consola tanto como a mi,pero con todo respeto,por mas minijuegos de naves o ports hagas,tienes una idea muy cerrada de lo que quiero decir o tal ves tu solito no quieras entender que la idea es mas que obvia y posible.
una EMULACION es copiar las funciones de algo,como si tuvieras un hermano que te estuviera imitando.....
En este caso autoemularse implica el REUSO del hardware o la arquitectura, de LA MISMA CONSOLA.
No es ataque pero es para que comprendas que es aprovechar los recursos fisicos,si quieres aprovechar cualquier expansion ajena y poder hacer lo que dificilmente podrias a una consola real.
Estarias jugando un juego sobre otro,un juego permanente que puede quedar grabado en la vmu usando los bloques extras,expander la ram usada para acceder al juego normal,al terminar volver a llamar al emulador de consola(automaticamente siempre presente).
SOLO SI QUIERES EMULAR ALGO EN UNA ARQUITECTURA DIFERENTE NECESITAS MUCHA RAM PARA QUE ESTE TRADUCIENDO FUNCIONES AL SISTEMA OPERATIVO Y ESTE AL HARDWARE.
Al emular algo fisicamente identico solo reutilizas recursos....capizcas.
abre tu mente,se que entiendes pero te haces el dificil,es como si tuvieras una personalidad alternativa,EN TU MISMO CUERPO.
Editado por
dakangel en 30-05-2009 22:10,
15 year haceSi te entiendo, y la idea es muy bonita simplemente la dreamcast no tiene suficientes recursos como para ello, y si me equivoco, demuéstramelo pero con hechos y con código no con palabras.
Y lo del puyo puyo es una funcionalidad de la bios de la que solo ese juega utiliza...
En cuanto la dreamcast ve que en la VMU hay ciertos archivos con X nombre, activa la bios en 3D o los fondos desde una imagen y esto lo puedes ver con un editor hexadecimal.
Ojo que no soy el único que opina que esto es inviable hay más gente del staff que han dado su opinión al respecto, y no quiero crear polémica ni nada.
Y es cierto que la mayoría de mis ports y de los de la web son en 2D y tal pero es que la única forma de aprovechar al 100% el rendimiento de la dream es usando las librerías de sega y no se pueden distribuir los archivos de estas por problemas de licencia.
Shenmue es mi regalo para los jóvenes del siglo XXI
"Yu Suzuki"
hay algun paper disponible que podamos ver para entender más sobre esto?
OK,no se puede.
Espero que entre todos los que piensan que es mala idea o inutil hayan estudiado electronica,sistemas digitales,procesamiento de datos e informatica.
Por ultimo,no se a quien se le ocurrio emular el play station y aun con 3 juegos corren de maravilla.
A quien ideo el de la snes bueno,sigue intentando camarada.
Por cierto si no se puede expandir la ram no imagino que van a esperar hacer con el interfaz sd ya que su controlador va agarrarse de los pocos megas de la dc y por mucha unidad de almacenamiento los juegos no van a arrancar,se leeran rapido pero van a moverse lentiiisimo.
Y de hecho para leer homebrew desde ahi,se tiene que emular una unidad lectora y emular ocupa espacio fisico indispensable.
Pero tienen razon,hechos no palabras
Editado por
dakangel en 30-05-2009 22:12,
15 year haceAñadiré que soy ingeniero informático, y aunque muchas veces me equivoco, no le acabo de ver sentido a todo esto :)
No es lo mismo el bleemcast que lo que tú dices... ni un emulador de snes tampoco....
Y soy estudiante de ingeniería informática.
Y a parte de no tener mucho sentido, para que emular dreamcast en dreamcast para hacer X cuando puedes correr código de dreamcast sobre dreamcast directamente?
Shenmue es mi regalo para los jóvenes del siglo XXI
"Yu Suzuki"
Editado por
Neoblast en 29-05-2009 00:45,
15 year haceEste es un llamado a todos los ingenieros capaces que estudiaron por la razon de aprender y comprender retos y llevarlos a cabo.
Neoblast dice que se requiere por lo menos una potencia superior para que se autoemule.
Autoemular - que se emule a si mismo
Viendolo desde el punto de vista de cualquier neofito el decir autoemular es como decir autosuicidarse.
Emular una consola sobre si misma suena estupido ya que estaria imitandose a si misma y la autoimitacion seria un desperdicio ya que no te puedes imitar porque eres tu mismo,es como verte a un espejo y querer ganarle a tu reflejo por pensar que tienes mejores reflejos.
La consola esta "bloqueada" al no poderle agregar mas recursos(ram) o desviar la informacion hacia otras fuentes de lectura...olvidemos que el audio o que el video...y de repente alguien llega y le mete una interfaz que no estaba prevista por default,algo que promete pero como esta "bloqueada" no se puede aprovechar y no sirve.
ahora,la idea es poner un "espejo" que aproveche las capacidades tecnicas.
un emulador/controlador que se lea una vez de la lectora,copie los archivos (controladores necesarios) a la memoria vmu,que no debe ocupar nada puesto que es un redireccionador de recursos.
un emulador del bios bloqueado,esta ves desbloqueado porque:
1.- la flash y bios originales ya hicieron su trabajo y estamos trabajando ahora sobre el "juego/emulador"
2.-el dreamclone llama a su bios que se aloja momentaneamente en la memoria ram,ocupando poco espacio,pero lo hace dado que es un programa ajeno a la consola y tiene interface,como si de un juego se tratase.
3.-como es un juego guarda datos en la vmu,estos datos son "los archivos controladores/emuladores necesarios para leer la tarjeta sd o el hdd"
4.-esos archivos constan del bios y flash modificados que reconoce la lectura externa como si de un nuevo lector se tratara y aparte posibilita la expansion de la ram.
5.-como si de un cambio de disco se tratara(code veronica,shenmue) el dreamclone va a llamar a la lectura de las isos del sd/hdd,el contenido de la ram se va a limpiar y a la ves se va a repaginar o trasladar a alguna parte (particion dada) de la sd/hdd (la vmu sigue su funcion )
6.-te aburres del juego o emulador o aplicacion en cuestion,aprietas todos los botones y salta un menu : guardar,salir (como si un menu de save/load comun se abriera)
7.-automaticamente la vmu va a llamar de nuevo al emulador como otro swap (seguimos jugando sobre un juego repaginado recuerdan)
8.-el dreamclone vuelve a cargar la interfaz pregrabada en la sd/hdd a la ram fisica
9.-repite todos los pasos hasta que te aburras,el lector no va a ser muy util mas que una ves,solo una vez.
*.-se esta emulando,la bios,el flash,el lector y el menu solamente.
**.-el juego o aplicacion llamada utiliza los recursos naturales de la consola.
***.-la bios del dreamclone presenta caracteristicas avanzadas que le permite hacer lo que el original tiene suspendido.
--nunca se va a poder mejorar el procesador ,solo se esta reutilizando todo lo demas fisicamente posible y añadiendo funciones externas,asi como ampliando posibilidades--
NO ES EMULACION TOTAL, ES EXACTAMENTE LO MISMO QUE QUIEREN HACER PERO BIEN PENSADO.
Saludos ingenieros de corazon que estudiaron para comprender y llevar a cabo mis palabras y no solo compraron el titulo.
Editado por
dakangel en 30-05-2009 22:14,
15 year haceSolo puedo decir una cosa, no quiero ofender pero es muy tarde y no comprendo del todo...
Ya he dado mi opinión pero al leer eso nuevo solo puedo decir...
Shenmue es mi regalo para los jóvenes del siglo XXI
"Yu Suzuki"
Que madura respuesta camarada,pero yo cite a los que tienen titulo,no a los amateurs.
Creeme que tratar contigo es como tratar con un teflon,sigue en tus estudios y haz algo de provecho.
Si hay alguien con respuestas coherentes que desafien lo que he dicho,digalo, no solo sean neofitos parasitarios como el camarada que solo calienta el asiento. ;)
(doy por supuesto que la DC lee directamente la bios de la rom y no la carga a la ram xD)
Yo, dejando de lado el embutimiento de ram a la DC y su manejo que supongo si sería necesario una modificación en la bios, para que emularla? Lo digo porque si todo esto (dejando de lado los embutidos) es solo para leer de SD, cosa que ya esta conseguida, no lo entiendo xD
Tampoco entiendo como guardas todo en la VMU y limpias la ram, algo deberás dejar en memoria principal para mantener el control supongo, no lo se pero vamos, emular sigue siendo ajeno al sistema xD Que alguien me diga si esto es posible, que la VMU pase a tener el control y que de ahí se maneje el sistema xD Pero de poder ser, el acceso a la VMU (no lo se) estoy casi seguro (por no decir seguro) que es más lento que a la memoria principial o rom donde esta la bios original y si es así, se pierde rendimiento al instante no?
Entiendo que haciendo un aumento de la memoria principal sea necesario emular la bios para manejar este aumento no controlado de memoria y que a partir de ese momento pues si, se puede tener todo en memoria e ir cargando pero, lo digo sinceramente, no me apetece hacerle chapuzas a la DC solo para conquistar el mundo... Pero bueno...una DC rota, no hay chapuza que sea mala. Pero doy por supuesto que esto solo es viable si existe aumento de ram, sino, inviable desde mi punto de vista xD
EDIT: Doy por supuesto, y es lo que entiendo, que tu único propósito es modificar una bios para manejar ciertos aspectos no controlados en la DC por defecto y que eso es la llamada "autoemulacion" porque a parte del manejo de ram, el resto es manejable sin una bios modificada, no?
Editado por
Horuhe en 29-05-2009 03:42,
15 year hacehay algunos aspectos técnicos a tener en cuenta, paso a enumerar los que se me ocurren:
1) al existir un programa residente en memoria (recuerda que el único código ejecutable por la dreamcast es aquel existente/direccionable en memoria principal), en este caso el "autoemulador" o "dreamclone" (TM) y un juego ya programado y compilado, normalmente con direccionamiento de memoria estático -no conozco como direcciona la memoria el katana o wince, pero seguramente se apoderan de la ram y empiezan a alojar a lo loco, por eso son sistemas operativos y tienen monopolio de manejo de la memoria- ... Bueno la cosa es que se producirían sobreescrituras en memoria entre el juego y nuestro programa residente que podrían terminar corrompiendo el funcionamiento. Recordemos que loaders como el utopia, demomenu o dc hakker simplemente se cargan en memoria, luego cargan un binario y despues desaparecen, no quedan residentes.
2) Lo anterior pero llevado a los registros del procesador, si nuestro "dreamclone" (TM) escribe algun registro del procesador y le pasa el comando al juego y este lo escribe (lo que se llama normalmente en el aspecto teórico interbloqueos, condiciones de competencia), seguramente se van a producir errores porque los datos no son coherentes y termina en un caos.
3) Te invito a que leas algunas de las técnicas tradicionales de emulación como ser emulación por interpretación, recompilación estática, recompilación dinámica y la problemática de cada una, los problemas que hay con código automodificable y porque hay que reinterpretar las instrucciones, aún cuando la plataforma origen y la plataforma destino comparten el mismo procesador. Esto no quiere decir que sea imposible -por ejemplo- leer datos de una memoria sd como si fuese un gd-rom. Seguramente es técnicamente posible (desde modificar el bios hasta modificar el código assembler de los juegos), simplemente que no es "autoemulación" sino técnicas o de captura de llamadas al sistema o modificación manual del código assembler (como hacen los famosos patch no-cd de juegos de pc).
4) No subestimes el conocimiento de gente que estudia o tiene conocimiento academicamente acreditado en la materia, pasamos horas y horas leyendo material teórico sobre sistemas operativos, administración de la memoria, llamadas al sistema, interrupciones, aprendiendo a programar en assembler y conociendo el funcionamiento interno de un microprocesador, a veces el problema de nuestra orientación es que es excesivamente teórica y esto lleva a que muchas ideas que podamos tener no son faciles de llevar a la práctica porque simplemente en las universidades no van a enseñarnos a modificar una dreamcast para que lea de una tarjeta sd -no les interesa a las empresas, no son las competencias que busca el estado o la universidad, o simplemente no es lo que tradicionalmente se enseña- pero hay mucha gente en la escena dreamcast que sabe MUCHISIMO más que nosotros (Chui, la gente de dcemulation, los creadores de kos, newlib, libronin, etc) y eso -bueno al menos yo- lo aceptamos. No queremos despreciar las ideas de nadie aquí -por ejemplo la mayoría de las cosas que hago yo vienen de ideas locas de mi hermano- pero a veces algunas son imposibles o improbables, te invitamos a debatir, no queremos hacerte sentir mal pero a veces ya se pasan un poco de locos tus planteamientos y esas analogías con el arma y la doble personalidad no nos llevan a ningún lado, no podés comparar una máquina turing completa como el ser humano con una dreamcast por diversas razones, tratemos de englobarnos en los aspectos teóricos que conciernen a la informática.
Por último da por sentado que este no es el final del debate, fijate algunas máquinas (como la spectrum, las amigas, la c64) y la cantidad ENORME de modificaciones que les han hecho. Vas a notar que todavía le queda mucha tela a esto de ampliar el funcionamiento de la dc pero normalmente se sacrifica esto por la facilidad de que toda la gente pueda disfrutar del homebrew, por ejemplo si todos pudiesemos modificar nuestras dc's así
http://cadcdev.sourceforge.net/hdwrprj/navi/
entonces muchas de las cosas que propones serían posibles (pero sin "autoemulación").
PD: yo estudio Ingeniería en Sistemas.
puede ver todos los hilos de discusión en este foro.
puede iniciar un nuevo hilo de discusión en este foro.
no puede responder en este hilo de discusión.
no puede empezar en una encuesta en este foro.
puede cargar archivos adjuntos en este foro.
no puede descargar archivos adjuntos en este foro.