Emulador de Spectrum para Oculus Rift
10 FEB 2014 15:53
¿Jugar a los juegos de Spectrum de los 80 en realidad virtual? Todo es posible, y nuestro compañero Yombo nos ha dejado asombrados al crear en un tiempo récord una aplicación basada en jSpeccy, un emulador español de Spectrum hecho en Java, que se puede jugar en una habitación virtual. Los nostálgicos y amantes de lo retro estamos de enhorabuena. ¡Gracias Yombo!
Podéis ver la web de nuestro compañero Yombo en este enlace, y descargar la versión 0.53b del emulador aquí, que también se puede jugar en un monitor convencional. Podéis utilizar este hilo de nuestro foro para proporcionar vuestro feedback a Yombo.
Comentarios (46)
altair28
Visores
#42 25 ABR 2014 18:35
Prueba esta versión, la 0,66b, es la última que me funcionó a mi
dl.dropboxusercontent.com/u/243 ... _0.66b.rar
yombo
#43 25 ABR 2014 22:12
Hola! Sí, he publicado otra versión pero antes de decir nada por aquí quería comprobar si funciona correctamente en el windows en casa de algún amigo. La mejora que he hecho es usar una nueva versión de una librería con la que accedo desde Java al SDK de Oculus, la cual decían que había arreglado algún problema de acceso a .dll's en windows (que es lo que te ocurría a tí Altair) En mi propio windows sí que me funciona.
Ahora hay cuatro archivos .bat, para probar mejor . En principio lo único que afecta es si ejecutas una de 32 o de 64 bits (eso afecta al dll de Oculus que se carga), pero cambiar entre amd o i586 sólo afecta a la librería de OpenGL que se carga, y al parecer le da igual el procesador que tengas.
Los .bat son:
ZXVR-amd32.bat
ZXVR-amd64.bat
ZXVR-i586_32.bat
ZXVR-i586_64.bat
A mí me funcionan las versiones de 32 bits, porque tengo el Java de 32 bits instalado, aunque mi máquina y windows son de 64 bits.
KAOS, muchas gracias por probar mi programa. Puedes decirme lo siguiente?
1- Versión de windows que tienes. Es de 64 bits?
2- Cual es el .bat que has ejecutado? (de la versión 0.69)
3- Aparte de la pantalla en negro, si cambias de ventana con alt+tab, no te sale una ventana más pequeña negra con texto? (un terminal) Cópiame lo que te sale ahí, por favor.
4- Puedes abrir un terminal y escribir la siguiente linea y pulsar enter, y copiar aquí el texto que te salga? (Para abrir el terminal busca cmd en el cuadro de búsqueda del menú inicio) Esto me dirá la versión de Java (64 bits o 32 si no pone nada):
"C:\Program Files (x86)\Java\jre7\bin\java" -version
5- Hacer lo mismo que en 4- pero con esta línea:
PATH
Y eso es todo respecto a la 0.69b, muchas gracias por testear. Si quieres puedes probar la versión 0.66b como dice Altair, que es la última que funcionaba antes de cambiar la librería aquella.
Saludos.
Anónimo
#44 26 ABR 2014 21:30
Disculpa por mi tardanza y gracias a ti por tu programa y por la velocidad con la que has contestado, yo normalmente duermo un día de cada 3 y me toco ayer y acabo de despertar por eso mi tardanza ahora mismo ejecuto y te copio lo de la linea de comandos o terminal en cuanto a mi versión de OS es Windows Ultimate 32 Bit y el bat que ejecute fue el i586 de 32 lógicamente no probé con los otros por imaginarme que al haber precisamente 4 bat cada uno estaría preparado para la versión que lo nombra lo que si que cambie (ya que tengo por costumbre echar un vistazo al contenido de un bat antes de ejecutarlo)fue la ruta de llamada al java que tenias puesto la que utilizas tu (OS 64bit java 32bit) quitandole el " x86" detrás de la ruta de "program files" persona si no me expreso muy bien. en un rato te copio el resultado, y una vez mas GRACIAS
Anónimo
#45 26 ABR 2014 21:44
esto es lo que me sale:
.frag)---
Error linking shader program (program name=generic/MaterialStandardShadow.progra
m)
---Begin of shader program compilation log (generic/MaterialStandardShadow.progr
am)---
Vertex info
-----------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
Fragment info
-------------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
0(114) : error C5208: Sampler needs to be a uniform (global or parameter to main
), need to inline function or resolve conditional expression
---End of shader program compilation log (generic/MaterialStandardShadow.program
)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.vert)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.vert)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.frag)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.frag)---
Error linking shader program (program name=generic/MaterialStandardShadow.progra
m)
---Begin of shader program compilation log (generic/MaterialStandardShadow.progr
am)---
Vertex info
-----------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
Fragment info
-------------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
0(114) : error C5208: Sampler needs to be a uniform (global or parameter to main
), need to inline function or resolve conditional expression
---End of shader program compilation log (generic/MaterialStandardShadow.program
)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.vert)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.vert)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.frag)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.frag)---
Error linking shader program (program name=generic/MaterialStandardShadow.progra
m)
---Begin of shader program compilation log (generic/MaterialStandardShadow.progr
am)---
Vertex info
-----------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
Fragment info
-------------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
0(114) : error C5208: Sampler needs to be a uniform (global or parameter to main
), need to inline function or resolve conditional expression
---End of shader program compilation log (generic/MaterialStandardShadow.program
)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.vert)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.vert)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.frag)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.frag)---
Error linking shader program (program name=generic/MaterialStandardShadow.progra
m)
---Begin of shader program compilation log (generic/MaterialStandardShadow.progr
am)---
Vertex info
-----------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
Fragment info
-------------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
0(114) : error C5208: Sampler needs to be a uniform (global or parameter to main
), need to inline function or resolve conditional expression
---End of shader program compilation log (generic/MaterialStandardShadow.program
)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.vert)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.vert)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.frag)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.frag)---
Error linking shader program (program name=generic/MaterialStandardShadow.progra
m)
---Begin of shader program compilation log (generic/MaterialStandardShadow.progr
am)---
Vertex info
-----------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
Fragment info
-------------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
0(114) : error C5208: Sampler needs to be a uniform (global or parameter to main
), need to inline function or resolve conditional expression
---End of shader program compilation log (generic/MaterialStandardShadow.program
)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.vert)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.vert)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.frag)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.frag)---
Error linking shader program (program name=generic/MaterialStandardShadow.progra
m)
---Begin of shader program compilation log (generic/MaterialStandardShadow.progr
am)---
Vertex info
-----------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
Fragment info
-------------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
0(114) : error C5208: Sampler needs to be a uniform (global or parameter to main
), need to inline function or resolve conditional expression
---End of shader program compilation log (generic/MaterialStandardShadow.program
)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.vert)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.vert)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardShad
ow.frag)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardShadow
.frag)---
Error linking shader program (program name=generic/MaterialStandardShadow.progra
m)
---Begin of shader program compilation log (generic/MaterialStandardShadow.progr
am)---
Vertex info
-----------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
Fragment info
-------------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
0(114) : error C5208: Sampler needs to be a uniform (global or parameter to main
), need to inline function or resolve conditional expression
---End of shader program compilation log (generic/MaterialStandardShadow.program
)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardTexS
hadow.vert)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardTexSha
dow.vert)---
---Begin of shader compilation log (..\data\shaders\generic/MaterialStandardTexS
hadow.frag)---
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
---End of shader compilation log (..\data\shaders\generic/MaterialStandardTexSha
dow.frag)---
Error linking shader program (program name=generic/MaterialStandardTexShadow.pro
gram)
---Begin of shader program compilation log (generic/MaterialStandardTexShadow.pr
ogram)---
Vertex info
-----------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
Fragment info
-------------
0(2) : warning C7568: #version 400 not fully supported on current GPU target pro
file
0(103) : error C5208: Sampler needs to be a uniform (global or parameter to main
), need to inline function or resolve conditional expression
---End of shader program compilation log (generic/MaterialStandardTexShadow.prog
ram)---
Error: Program is null. Forgot to add material to material library? Objeto3d sub
class = org.yombo.motor3d.ObjetoMallado
Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerExce
ption
at com.jogamp.common.util.awt.AWTEDTExecutor.invoke(AWTEDTExecutor.java:
58)
at jogamp.opengl.awt.AWTThreadingPlugin.invokeOnOpenGLThread(AWTThreadin
gPlugin.java:100)
at jogamp.opengl.ThreadingImpl.invokeOnOpenGLThread(ThreadingImpl.java:2
05)
at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:172)
at javax.media.opengl.Threading.invoke(Threading.java:191)
at javax.media.opengl.awt.GLCanvas.display(GLCanvas.java:483)
at org.yombo.motor3d.PuertoVisual.redibujar(PuertoVisual.java:280)
at org.yombo.motor3d.Pipeline.pipeline(Pipeline.java:196)
at org.yombo.entorno.EntornoMundoGenerico.inicializarMundo(EntornoMundoG
enerico.java:62)
at org.yombo.entorno.Entorno.crearMundo(Entorno.java:278)
at org.yombo.entorno.Entorno.cicloAplicacion(Entorno.java:242)
at org.yombo.apps.zxvr.ZXVR.main(ZXVR.java:76)
Caused by: java.lang.NullPointerException
at org.yombo.motor3d.Objeto3dVBO.crearBuferesInterno(Objeto3dVBO.java:19
1)
at org.yombo.motor3d.ObjetoMallado.crearBuferes(ObjetoMallado.java:142)
at org.yombo.motor3d.Objeto3dVBO.crearVAO(Objeto3dVBO.java:288)
at org.yombo.motor3d.ObjetoMallado.dibujar(ObjetoMallado.java:326)
at org.yombo.motor3d.Objeto3dClon.dibujar(Objeto3dClon.java:59)
at org.yombo.motor3d.Objeto3d.dibujarRecursivo(Objeto3d.java:336)
at org.yombo.motor3d.Escena.dibujarObjeto(Escena.java:402)
at org.yombo.motor3d.Escena.representar(Escena.java:365)
at org.yombo.motor3d.PuertoVisual.procesaRenders(PuertoVisual.java:708)
at org.yombo.motor3d.PuertoVisual.display(PuertoVisual.java:389)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:588)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:572)
at javax.media.opengl.awt.GLCanvas$7.run(GLCanvas.java:1054)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:103
4)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:909)
at javax.media.opengl.awt.GLCanvas$8.run(GLCanvas.java:1065)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
PDT.Te doy como idea para tu proxima version crear un par de bat mas y nombrarlo como:
ZXVR-i586_32
ZXVR-i586_OS 64 JAVA 32
O simplemente advertir lo de la ruta para los que no lo abren ni miran, solo es una proposicion por supuesto una vez mas gracias y espero ansioso tu proxima version... Haa mi CPU es un simple Dual Core 3.2mhz
PDT2.Gracias Altair28 por el enlace a yo creo que la version que tuve puesta en mi maquina anterior
mi version de java...
C:\Windows\system32>"C:\Program Files\Java\jre7\bin\java" -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b14)
Java HotSpot(TM) Client VM (build 24.55-b03, mixed mode, sharing)
Anónimo
#46 26 ABR 2014 22:56
por lo que parezco entender el problema radica en que mi gráfica no es totalmente compatible con algunas librerias o protocolos utilizados y no lo entiendo pues la tarjeta gráfica (Nvidia GT220 1GB DDR2 creo recordar)es la misma que tenia puesta en mi anterior PC en el que si que me funcionaba tu programa y encima la única diferencia con mi ordenador actual es la cpu que antes tenia un Pentium D a 3.4Ghz y ahora la siguiente CPU osea Dual Core a 3.2Ghz... en fin que pena pues me encantaba el programa, de todas formas estaré pendiente de tus avances, por si mas adelante consigo un ordenador mas actual
yombo
#47 27 ABR 2014 2:29
Sí, efectivamente tu tarjeta no soporta las últimas características de opengl que usé para hacer las sombras en mi motor 3d. Creo que podré poner una opción para desactivar las sombras y que puedas jugar con tu máquina.
Aunque es raro que te funcionara en el otro ordenador, porque lo de las sombras siempre ha estado.
En cuanto a lo de la ruta del java, tengo que mirar cómo se encuentra el java para cualquier windows (una variable de entorno o algo así)
Gracias a tí por el testeo. Y perdona si mis explicaciones eran para neófitos, no sabía tu nivel de informática
Seguimos la conversación en este otro hilo, ok? Es donde tenía lugar la discusión sobre el desarrollo:
http://www.realovirtual.com/foro/viewtopic.php?f=11&t=1876