From cb88320b4ddbfd8c1714f9a6cba31543a585a8cd Mon Sep 17 00:00:00 2001 From: notaz Date: Sat, 11 Aug 2012 18:34:13 +0300 Subject: psx_gpu: add a tool to generate asm offsets --- plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h (limited to 'plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h') diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h b/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h new file mode 100644 index 0000000..a47d965 --- /dev/null +++ b/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h @@ -0,0 +1,55 @@ +#define psx_gpu_test_mask_offset 0x0 +#define psx_gpu_uvrg_offset 0x10 +#define psx_gpu_uvrg_dx_offset 0x20 +#define psx_gpu_uvrg_dy_offset 0x30 +#define psx_gpu_u_block_span_offset 0x40 +#define psx_gpu_v_block_span_offset 0x50 +#define psx_gpu_r_block_span_offset 0x60 +#define psx_gpu_g_block_span_offset 0x70 +#define psx_gpu_b_block_span_offset 0x80 +#define psx_gpu_b_offset 0x90 +#define psx_gpu_b_dy_offset 0x94 +#define psx_gpu_triangle_area_offset 0x98 +#define psx_gpu_texture_window_settings_offset 0x9c +#define psx_gpu_current_texture_mask_offset 0xa0 +#define psx_gpu_viewport_mask_offset 0xa4 +#define psx_gpu_dirty_textures_4bpp_mask_offset 0xa8 +#define psx_gpu_dirty_textures_8bpp_mask_offset 0xac +#define psx_gpu_dirty_textures_8bpp_alternate_mask_offset 0xb0 +#define psx_gpu_triangle_color_offset 0xb4 +#define psx_gpu_dither_table_offset 0xb8 +#define psx_gpu_render_block_handler_offset 0xc8 +#define psx_gpu_texture_page_ptr_offset 0xcc +#define psx_gpu_texture_page_base_offset 0xd0 +#define psx_gpu_clut_ptr_offset 0xd4 +#define psx_gpu_vram_ptr_offset 0xd8 +#define psx_gpu_render_state_base_offset 0xdc +#define psx_gpu_render_state_offset 0xde +#define psx_gpu_num_spans_offset 0xe0 +#define psx_gpu_num_blocks_offset 0xe2 +#define psx_gpu_offset_x_offset 0xe4 +#define psx_gpu_offset_y_offset 0xe6 +#define psx_gpu_clut_settings_offset 0xe8 +#define psx_gpu_texture_settings_offset 0xea +#define psx_gpu_viewport_start_x_offset 0xec +#define psx_gpu_viewport_start_y_offset 0xee +#define psx_gpu_viewport_end_x_offset 0xf0 +#define psx_gpu_viewport_end_y_offset 0xf2 +#define psx_gpu_mask_msb_offset 0xf4 +#define psx_gpu_triangle_winding_offset 0xf6 +#define psx_gpu_display_area_draw_enable_offset 0xf7 +#define psx_gpu_current_texture_page_offset 0xf8 +#define psx_gpu_last_8bpp_texture_page_offset 0xf9 +#define psx_gpu_texture_mask_width_offset 0xfa +#define psx_gpu_texture_mask_height_offset 0xfb +#define psx_gpu_texture_window_x_offset 0xfc +#define psx_gpu_texture_window_y_offset 0xfd +#define psx_gpu_primitive_type_offset 0xfe +#define psx_gpu_interlace_mode_offset 0xff +#define psx_gpu_blocks_offset 0x100 +#define psx_gpu_span_uvrg_offset_offset 0x2100 +#define psx_gpu_span_edge_data_offset 0x4100 +#define psx_gpu_span_b_offset_offset 0x5100 +#define psx_gpu_texture_4bpp_cache_offset 0x5900 +#define psx_gpu_texture_8bpp_even_cache_offset 0x205900 +#define psx_gpu_texture_8bpp_odd_cache_offset 0x305900 -- cgit v1.2.3 From c1817bd9249ee616cf9545a57136d6dd3669ce34 Mon Sep 17 00:00:00 2001 From: notaz Date: Mon, 13 Aug 2012 00:03:43 +0300 Subject: psx_gpu: add enhanced triangle rendering --- plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h | 61 +++++++++++++++--------------- 1 file changed, 31 insertions(+), 30 deletions(-) (limited to 'plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h') diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h b/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h index a47d965..2e18174 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h +++ b/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h @@ -23,33 +23,34 @@ #define psx_gpu_texture_page_base_offset 0xd0 #define psx_gpu_clut_ptr_offset 0xd4 #define psx_gpu_vram_ptr_offset 0xd8 -#define psx_gpu_render_state_base_offset 0xdc -#define psx_gpu_render_state_offset 0xde -#define psx_gpu_num_spans_offset 0xe0 -#define psx_gpu_num_blocks_offset 0xe2 -#define psx_gpu_offset_x_offset 0xe4 -#define psx_gpu_offset_y_offset 0xe6 -#define psx_gpu_clut_settings_offset 0xe8 -#define psx_gpu_texture_settings_offset 0xea -#define psx_gpu_viewport_start_x_offset 0xec -#define psx_gpu_viewport_start_y_offset 0xee -#define psx_gpu_viewport_end_x_offset 0xf0 -#define psx_gpu_viewport_end_y_offset 0xf2 -#define psx_gpu_mask_msb_offset 0xf4 -#define psx_gpu_triangle_winding_offset 0xf6 -#define psx_gpu_display_area_draw_enable_offset 0xf7 -#define psx_gpu_current_texture_page_offset 0xf8 -#define psx_gpu_last_8bpp_texture_page_offset 0xf9 -#define psx_gpu_texture_mask_width_offset 0xfa -#define psx_gpu_texture_mask_height_offset 0xfb -#define psx_gpu_texture_window_x_offset 0xfc -#define psx_gpu_texture_window_y_offset 0xfd -#define psx_gpu_primitive_type_offset 0xfe -#define psx_gpu_interlace_mode_offset 0xff -#define psx_gpu_blocks_offset 0x100 -#define psx_gpu_span_uvrg_offset_offset 0x2100 -#define psx_gpu_span_edge_data_offset 0x4100 -#define psx_gpu_span_b_offset_offset 0x5100 -#define psx_gpu_texture_4bpp_cache_offset 0x5900 -#define psx_gpu_texture_8bpp_even_cache_offset 0x205900 -#define psx_gpu_texture_8bpp_odd_cache_offset 0x305900 +#define psx_gpu_vram_out_ptr_offset 0xdc +#define psx_gpu_render_state_base_offset 0xe0 +#define psx_gpu_render_state_offset 0xe2 +#define psx_gpu_num_spans_offset 0xe4 +#define psx_gpu_num_blocks_offset 0xe6 +#define psx_gpu_offset_x_offset 0xe8 +#define psx_gpu_offset_y_offset 0xea +#define psx_gpu_clut_settings_offset 0xec +#define psx_gpu_texture_settings_offset 0xee +#define psx_gpu_viewport_start_x_offset 0xf0 +#define psx_gpu_viewport_start_y_offset 0xf2 +#define psx_gpu_viewport_end_x_offset 0xf4 +#define psx_gpu_viewport_end_y_offset 0xf6 +#define psx_gpu_mask_msb_offset 0xf8 +#define psx_gpu_triangle_winding_offset 0xfa +#define psx_gpu_display_area_draw_enable_offset 0xfb +#define psx_gpu_current_texture_page_offset 0xfc +#define psx_gpu_last_8bpp_texture_page_offset 0xfd +#define psx_gpu_texture_mask_width_offset 0xfe +#define psx_gpu_texture_mask_height_offset 0xff +#define psx_gpu_texture_window_x_offset 0x100 +#define psx_gpu_texture_window_y_offset 0x101 +#define psx_gpu_primitive_type_offset 0x102 +#define psx_gpu_interlace_mode_offset 0x103 +#define psx_gpu_blocks_offset 0x200 +#define psx_gpu_span_uvrg_offset_offset 0x2200 +#define psx_gpu_span_edge_data_offset 0x4200 +#define psx_gpu_span_b_offset_offset 0x5200 +#define psx_gpu_texture_4bpp_cache_offset 0x5a00 +#define psx_gpu_texture_8bpp_even_cache_offset 0x205a00 +#define psx_gpu_texture_8bpp_odd_cache_offset 0x305a00 -- cgit v1.2.3 From f1359c5758c2e745b1cbec63e21445fa65f7cafe Mon Sep 17 00:00:00 2001 From: notaz Date: Mon, 13 Aug 2012 02:53:21 +0300 Subject: psx_gpu: switch enhancement to 2048 width otherwise games that position framebuffers horizontally corrupt the display. --- plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h') diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h b/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h index 2e18174..7ebf7db 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h +++ b/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h @@ -46,7 +46,7 @@ #define psx_gpu_texture_window_x_offset 0x100 #define psx_gpu_texture_window_y_offset 0x101 #define psx_gpu_primitive_type_offset 0x102 -#define psx_gpu_interlace_mode_offset 0x103 +#define psx_gpu_render_mode_offset 0x103 #define psx_gpu_blocks_offset 0x200 #define psx_gpu_span_uvrg_offset_offset 0x2200 #define psx_gpu_span_edge_data_offset 0x4200 -- cgit v1.2.3 From c6063f8985c69362a89a12111f393229ab65d05f Mon Sep 17 00:00:00 2001 From: notaz Date: Wed, 15 Aug 2012 23:52:38 +0300 Subject: psx_gpu: use different uvrgb phase for enhancement --- plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h | 59 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 29 deletions(-) (limited to 'plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h') diff --git a/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h b/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h index 7ebf7db..1307891 100644 --- a/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h +++ b/plugins/gpu_neon/psx_gpu/psx_gpu_offsets.h @@ -18,35 +18,36 @@ #define psx_gpu_dirty_textures_8bpp_alternate_mask_offset 0xb0 #define psx_gpu_triangle_color_offset 0xb4 #define psx_gpu_dither_table_offset 0xb8 -#define psx_gpu_render_block_handler_offset 0xc8 -#define psx_gpu_texture_page_ptr_offset 0xcc -#define psx_gpu_texture_page_base_offset 0xd0 -#define psx_gpu_clut_ptr_offset 0xd4 -#define psx_gpu_vram_ptr_offset 0xd8 -#define psx_gpu_vram_out_ptr_offset 0xdc -#define psx_gpu_render_state_base_offset 0xe0 -#define psx_gpu_render_state_offset 0xe2 -#define psx_gpu_num_spans_offset 0xe4 -#define psx_gpu_num_blocks_offset 0xe6 -#define psx_gpu_offset_x_offset 0xe8 -#define psx_gpu_offset_y_offset 0xea -#define psx_gpu_clut_settings_offset 0xec -#define psx_gpu_texture_settings_offset 0xee -#define psx_gpu_viewport_start_x_offset 0xf0 -#define psx_gpu_viewport_start_y_offset 0xf2 -#define psx_gpu_viewport_end_x_offset 0xf4 -#define psx_gpu_viewport_end_y_offset 0xf6 -#define psx_gpu_mask_msb_offset 0xf8 -#define psx_gpu_triangle_winding_offset 0xfa -#define psx_gpu_display_area_draw_enable_offset 0xfb -#define psx_gpu_current_texture_page_offset 0xfc -#define psx_gpu_last_8bpp_texture_page_offset 0xfd -#define psx_gpu_texture_mask_width_offset 0xfe -#define psx_gpu_texture_mask_height_offset 0xff -#define psx_gpu_texture_window_x_offset 0x100 -#define psx_gpu_texture_window_y_offset 0x101 -#define psx_gpu_primitive_type_offset 0x102 -#define psx_gpu_render_mode_offset 0x103 +#define psx_gpu_uvrgb_phase_offset 0xc8 +#define psx_gpu_render_block_handler_offset 0xcc +#define psx_gpu_texture_page_ptr_offset 0xd0 +#define psx_gpu_texture_page_base_offset 0xd4 +#define psx_gpu_clut_ptr_offset 0xd8 +#define psx_gpu_vram_ptr_offset 0xdc +#define psx_gpu_vram_out_ptr_offset 0xe0 +#define psx_gpu_render_state_base_offset 0xe4 +#define psx_gpu_render_state_offset 0xe6 +#define psx_gpu_num_spans_offset 0xe8 +#define psx_gpu_num_blocks_offset 0xea +#define psx_gpu_viewport_start_x_offset 0xec +#define psx_gpu_viewport_start_y_offset 0xee +#define psx_gpu_viewport_end_x_offset 0xf0 +#define psx_gpu_viewport_end_y_offset 0xf2 +#define psx_gpu_mask_msb_offset 0xf4 +#define psx_gpu_triangle_winding_offset 0xf6 +#define psx_gpu_display_area_draw_enable_offset 0xf7 +#define psx_gpu_current_texture_page_offset 0xf8 +#define psx_gpu_last_8bpp_texture_page_offset 0xf9 +#define psx_gpu_texture_mask_width_offset 0xfa +#define psx_gpu_texture_mask_height_offset 0xfb +#define psx_gpu_texture_window_x_offset 0xfc +#define psx_gpu_texture_window_y_offset 0xfd +#define psx_gpu_primitive_type_offset 0xfe +#define psx_gpu_render_mode_offset 0xff +#define psx_gpu_offset_x_offset 0x100 +#define psx_gpu_offset_y_offset 0x102 +#define psx_gpu_clut_settings_offset 0x104 +#define psx_gpu_texture_settings_offset 0x106 #define psx_gpu_blocks_offset 0x200 #define psx_gpu_span_uvrg_offset_offset 0x2200 #define psx_gpu_span_edge_data_offset 0x4200 -- cgit v1.2.3