Pruebas para mejorar emulacion con TFT

Emuladores y aplicaciones que ayudarán a la perpetuación del Spectrum y su software en el futuro

Moderador: Sir Cilve Sinclair

Avatar de Usuario
Chui
rst 0
Mensajes: 23
Registrado: Lun Oct 08, 2007 9:57 pm

Mensaje por Chui » Lun Oct 29, 2007 9:27 pm

Casi me interesa mas asi como esta, ya que me gustaria encontrar porque no funciona. Intento hacer esto algo universal y el no actualizar unos drivers es muy tipico en muchos casos.

Si puedo mañana envio una segunda version intentando detectar alguna cosilla que se me ha ocurrido y si sigue sin funcionar tendremos que hacer un .EXE que saque toda la info posible.

Avatar de Usuario
Chui
rst 0
Mensajes: 23
Registrado: Lun Oct 08, 2007 9:57 pm

Re: Pruebas para mejorar emulacion con TFT

Mensaje por Chui » Mar Nov 13, 2007 10:43 am

He tardado mas de la cuenta pero ya tengo algo mas decente, ahora imita el scanline de la TV y una pequeña difuminacion de color usando aceleracion hardware con openGL, algo como esto:

Imagen

Podeis descargarlo AQUI y AQUI el codigo fuente.

¿Os funciona bien? ¿Que os parece?

Avatar de Usuario
na_th_an
Nonamed
Mensajes: 1889
Registrado: Lun May 07, 2007 10:16 am
Ubicación: Andalucía

Re: Pruebas para mejorar emulacion con TFT

Mensaje por na_th_an » Mar Nov 13, 2007 11:29 am

Funciona perfecto. El problema que le veo es que los scanlines no se muestran "homogeneos", sino de distintos grosores y/o intensidades.

Avatar de Usuario
Chui
rst 0
Mensajes: 23
Registrado: Lun Oct 08, 2007 9:57 pm

Re: Pruebas para mejorar emulacion con TFT

Mensaje por Chui » Mar Nov 13, 2007 12:20 pm

na_th_an escribió:Funciona perfecto. El problema que le veo es que los scanlines no se muestran "homogeneos", sino de distintos grosores y/o intensidades.

¿Te ocurre usando el EXE o lo dices por el screenshot? Lo digo porque yo he observado eso con el screenshot pero no en la pantalla real cuando ejecuto el EXE.
Pero vamos, sea como sea, tengo que perfecionarlo, ahora mismo uso una textura de 8x512 que escalo a toda la pantalla de forma linear, creo que lo mejor es hacer una 8x8 fija e ir poniendola una y otra vez en plan tile como una rejilla.

Avatar de Usuario
zyloj
Freddy Hardest
Mensajes: 711
Registrado: Mar Abr 17, 2007 12:31 am
Ubicación: cada día más lejos de aquí
Contactar:

Re: Pruebas para mejorar emulacion con TFT

Mensaje por zyloj » Mar Nov 13, 2007 1:39 pm

No creo que os sirva de mucho, pero por si acaso. En mi CRT se ve correctamente, excepto el parpadeo del borde, donde si se ve ese efecto de scanlines no homogéneas.

Saludos

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Pruebas para mejorar emulacion con TFT

Mensaje por mcleod_ideafix » Mar Nov 13, 2007 3:34 pm

Chui escribió:He tardado mas de la cuenta pero ya tengo algo mas decente, ahora imita el scanline de la TV y una pequeña difuminacion de color usando aceleracion hardware con openGL, algo como esto:

OJO con el OpenGL. Windows Vista no lo soporta. En Windows XP me funciona bien (GeForce 7300, monitor 17'' 4:3) pero en el mismo equipo, con Windows VIsta, este ejecutable me da una pantalla completamente blanca.
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Chui
rst 0
Mensajes: 23
Registrado: Lun Oct 08, 2007 9:57 pm

Re: Pruebas para mejorar emulacion con TFT

Mensaje por Chui » Mar Nov 13, 2007 4:12 pm

mcleod_ideafix escribió:
Chui escribió:He tardado mas de la cuenta pero ya tengo algo mas decente, ahora imita el scanline de la TV y una pequeña difuminacion de color usando aceleracion hardware con openGL, algo como esto:

OJO con el OpenGL. Windows Vista no lo soporta. En Windows XP me funciona bien (GeForce 7300, monitor 17'' 4:3) pero en el mismo equipo, con Windows VIsta, este ejecutable me da una pantalla completamente blanca.
Mierda, se tiene que deber a movidas del driver porque otros con vi$ta les funciona, o eso me dicen, vamos.

Tengo que solucionar eso del pantallazo blanco como sea, voy a ver si me curro un EXE que saque info de SDL+OpenGL,etc..

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Pruebas para mejorar emulacion con TFT

Mensaje por Gandulf » Mar Nov 13, 2007 6:04 pm

¿Seguro que vista no tiene soporte OpenGL? Yo creo que sí, porque los drivers nVIDIA para Vista traen la opción de configurar las características y rendimiento con OpenGL.

EDITADO: Lo he probado y funciona perfectamente en mi Vista. Puede ser por la versión de los drivers de nVidia o por las características de la tarjeta, en mi equipo va OK (lo que confirma que Vista soporta OpenGL)

Por si sirve de algo, nVida 7600GT y Windows Vista Business, ForceWare version 163.44
Un saludo,

Gandulf

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Pruebas para mejorar emulacion con TFT

Mensaje por mcleod_ideafix » Mar Nov 13, 2007 8:24 pm

A ver, lo aclaro: Windows Vista no soporta aceleración por OpenGL. Otra cosa es que el fabricante, en este caso, nVidia, ofrezca dicha opción en sus drivers, pero como cosa particular.
Lo que sí soporta Vista, al menos hasta donde he probado, son las primitivas gráficas de OpenGL (pero las texturas y demás parece ser que no).

Me edito: http://www.opengl.org/pipeline/article/vol003_9/
OpenGL hardware acceleration is handled in exactly the same way in Windows XP and Windows Vista - through an Installable Client Driver (ICD) provided by graphics card manufacturers. Without an OpenGL ICD installed, Windows XP and Windows Vista both revert to rendering OpenGL in software on the CPU rather than using GPU acceleration.


Así que eso es lo que pasa: que el ICD éste no está de serie con los drivers de Microsoft para Windows Vista, sino que tiene que ofrecerlo el fabricante de la tarjeta gráfica. Por eso yo no veo nada y tú sí.
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Chui
rst 0
Mensajes: 23
Registrado: Lun Oct 08, 2007 9:57 pm

Re: Pruebas para mejorar emulacion con TFT

Mensaje por Chui » Jue Nov 15, 2007 4:52 pm

Bueno a ver si ya funciona bien ahora en todos los Vi$ta, tambien he intentado minimizar los scanlines no homogeneos.

Podeis descargar la nueva demo AQUI y como siempre el codigo fuente AQUI.

Y como muestra AQUI teneis el ZX4ALL en modo standalone ejecutando el juego ASTRO 2008.

Imagen

Y para quien quiera tambien dejo AQUI el ZX4ALL normal que cargar casi cualquier juego.

Imagen

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Pruebas para mejorar emulacion con TFT

Mensaje por mcleod_ideafix » Sab Nov 17, 2007 5:46 am

Tal vez te interese saber que, gracias a que has dejado el código fuente disponible :) he compilado con éxito la última demo que has puesto en MacOS X 10.4.9 . La demo funciona estupéndamente, con rapidez, movimientos suaves, y la emulación de scanlines parece ser regular (quizás hay alguna más grande que otra cerca de la frontera entre el borde superior y el comienzo del "paper", o quizás sean imaginaciones mías). En la consola aparecen estos mensajes de depuración que quizás te interesen:

Código: Seleccionar todo

V FILTER DEMO!!!
TV_Init(w=320, h=240, bpp=16, flags=0x40000000)
 SDL compile-time version 1.2.12
 SDL runtime version 1.2.12
 Hardware Available = 0
 Hardware Blit = 0
 Video Driver 'Quartz'
 SDL_GL_RED_SIZE = 8
 SDL_GL_GREEN_SIZE = 8
 SDL_GL_BLUE_SIZE = 8
 SDL_GL_ALPHA_SIZE = 8
 SDL_GL_BUFFER_SIZE = 32
 SDL_GL_DOUBLEBUFFER = 1
 SDL_GL_DEPTH_SIZE = 16
 SDL_GL_STENCIL_SIZE = 0
 SDL_GL_ACCUM_RED_SIZE = 0
 SDL_GL_ACCUM_GREEN_SIZE = 0
 SDL_GL_ACCUM_BLUE_SIZE = 0
 SDL_GL_ACCUM_ALPHA_SIZE = 0
 SDL_GL_STEREO = 0
 SDL_GL_MULTISAMPLEBUFFERS = 0
 SDL_GL_MULTISAMPLESAMPLES = 0
 OpenGL Vendor 'NVIDIA Corporation'
 OpenGL Renderer 'NVIDIA GeForce FX 5500 OpenGL Engine'
 OpenGL Version '1.5 NVIDIA-1.4.52'
 OpenGL Extensions 'GL_ARB_transpose_matrix GL_ARB_vertex_program GL_ARB_vertex_blend GL_ARB_window_pos GL_ARB_shader_objects GL_ARB_vertex_shader GL_EXT_multi_draw_arrays GL_EXT_clip_volume_hint GL_EXT_rescale_normal GL_EXT_draw_range_elements GL_EXT_fog_coord GL_APPLE_client_storage GL_APPLE_specular_vector GL_APPLE_transform_hint GL_APPLE_packed_pixels GL_APPLE_fence GL_APPLE_vertex_array_object GL_APPLE_vertex_program_evaluators GL_APPLE_element_array GL_APPLE_flush_render GL_NV_texgen_reflection GL_NV_light_max_exponent GL_IBM_rasterpos_clip GL_SGIS_generate_mipmap GL_ARB_shading_language_100 GL_ARB_imaging GL_ARB_point_parameters GL_ARB_texture_env_crossbar GL_ARB_texture_border_clamp GL_ARB_multitexture GL_ARB_texture_env_add GL_ARB_texture_cube_map GL_ARB_texture_env_dot3 GL_ARB_multisample GL_ARB_texture_env_combine GL_ARB_texture_compression GL_ARB_texture_mirrored_repeat GL_ARB_shadow GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_occlusion_query GL_ARB_point_sprite GL_ARB_vertex_buffer_object GL_ARB_pixel_buffer_object GL_ARB_shader_texture_lod GL_EXT_compiled_vertex_array GL_EXT_framebuffer_object GL_EXT_texture_rectangle GL_ARB_texture_rectangle GL_EXT_texture_env_add GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_texture_lod_bias GL_EXT_abgr GL_EXT_bgra GL_EXT_stencil_wrap GL_EXT_texture_filter_anisotropic GL_EXT_secondary_color GL_EXT_blend_func_separate GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 GL_EXT_packed_depth_stencil GL_EXT_gpu_program_parameters GL_APPLE_flush_buffer_range GL_APPLE_ycbcr_422 GL_APPLE_vertex_array_range GL_APPLE_texture_range GL_APPLE_float_pixels GL_ATI_texture_float GL_ARB_texture_float GL_APPLE_pixel_buffer GL_NV_point_sprite GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_blend_square GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_fog_distance GL_NV_depth_clamp GL_NV_multisample_filter_hint GL_NV_fragment_program2 GL_ATI_blend_weighted_minmax GL_ATI_texture_env_combine3 GL_ATIX_pn_triangles GL_SGIS_texture_edge_clamp '
 GL_MAX_TEXTURE_SIZE = 4096
 GL_RGBA_MODE = 1
 Screen Width=1280, Height=1024, BPP=32
 Screen BytesPerPixel=4, Rmask=FF0000, Gmask=FF00, Bmask=FF, Amask=0 (255)
 Texture Width=512, Height=256, BPP=16

Para ver qué tal va en modo ventana, toqué un poquito el código para que no se pusiera a pantalla completa. El pantallazo que viene a continuación es del programa en modo ventana. Hacer clic para ver la versión a tamaño real (1280x1024). En modo ventana no va tan suave como a pantalla completa.

Imagen
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Chui
rst 0
Mensajes: 23
Registrado: Lun Oct 08, 2007 9:57 pm

Re: Pruebas para mejorar emulacion con TFT

Mensaje por Chui » Dom Nov 18, 2007 10:20 am

Gracias, es un mac intel o g4? yo tengo un macmini G4 y deberia probar ahi, pero no tengo un mac intel.

El codigo fuente esta disponible para todo.

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Pruebas para mejorar emulacion con TFT

Mensaje por mcleod_ideafix » Dom Nov 18, 2007 6:40 pm

Es un clónico de toda la vida al que le instalado (con calzador y sin VMWare) un MacOS X 10.4.9 . Por supuesto, es Intel :D
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Chui
rst 0
Mensajes: 23
Registrado: Lun Oct 08, 2007 9:57 pm

Re: Pruebas para mejorar emulacion con TFT

Mensaje por Chui » Mié Nov 21, 2007 9:59 am

Y AQUI la ultima prueba hasta el momento; ahora por defecto esta en modo ventana, pudiendo reescalar como se quiera pero siempre respetando el ratio original. Ademas ahora se puede pulsar las siguiente teclas para activar o desactivar efectos:

F5: Fullscreen (no por defecto).
F6: Filtro linear (no por defecto).
F7: Distorsion (por defecto).
F8: Scanlines (por defecto).

Imagen.

El codigo fuente esta disponible AQUI y AQUI un preview de como va el ZX4ALL con todo esto y demas mejoras.

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: Pruebas para mejorar emulacion con TFT

Mensaje por mcleod_ideafix » Jue Nov 22, 2007 12:07 am

Estupendo! Estoooo, ¿en qué consiste la distorsion? Casi no noto nada en la pantalla cuando la activo y desactivo.
Web: ZX Projects | Twitter: @zxprojects

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 20 invitados