int main(int argc, char *argv[])
{
psx_gpu_struct *psx_gpu = &_psx_gpu;
- SDL_Surface *screen;
+ SDL_Surface *screen = NULL;
SDL_Event event;
u32 *list;
FILE *state_file;
FILE *list_file;
u32 no_display = 0;
+ s32 dummy0 = 0;
+ u32 dummy1 = 0;
if((argc != 3) && (argc != 4))
{
{
SDL_Init(SDL_INIT_EVERYTHING);
screen = SDL_SetVideoMode(1024, 512, 32, 0);
+ if (screen == 0)
+ {
+ printf("can't set video mode: %s\n", SDL_GetError());
+ return 1;
+ }
}
#ifdef NEON_BUILD
+ u16 *vram_ptr;
+#if 0
system("ofbset -fb /dev/fb1 -mem 6291456 -en 0");
u32 fbdev_handle = open("/dev/fb1", O_RDWR);
- u16 *vram_ptr =
vram_ptr = (mmap((void *)0x50000000, 1024 * 1024 * 2, PROT_READ | PROT_WRITE,
MAP_SHARED | 0xA0000000, fbdev_handle, 0));
+#elif 1
+ #ifndef MAP_HUGETLB
+ #define MAP_HUGETLB 0x40000 /* arch specific */
+ #endif
+ vram_ptr = (mmap((void *)0x50000000, 1024 * 1024 * 2, PROT_READ | PROT_WRITE,
+ MAP_ANONYMOUS | MAP_PRIVATE | MAP_HUGETLB, -1, 0));
+#else
+ vram_ptr = (mmap((void *)0x50000000, 1024 * 1024 * 2, PROT_READ | PROT_WRITE,
+ MAP_ANONYMOUS | MAP_PRIVATE, -1, 0));
+#endif
+ if (vram_ptr == MAP_FAILED)
+ {
+ perror("mmap");
+ return 1;
+ }
vram_ptr += 64;
- initialize_psx_gpu(psx_gpu, vram_ptr + 64);
+ initialize_psx_gpu(psx_gpu, vram_ptr);
#else
initialize_psx_gpu(psx_gpu, _vram + 64);
#endif
init_counter();
#endif
- gpu_parse(psx_gpu, list, size);
+ gpu_parse(psx_gpu, list, size, &dummy0, &dummy1);
flush_render_block_buffer(psx_gpu);
clear_stats();
u32 cycles = get_counter();
#endif
- gpu_parse(psx_gpu, list, size);
+ gpu_parse(psx_gpu, list, size, &dummy0, &dummy1);
flush_render_block_buffer(psx_gpu);
- printf("%-64s: ", argv[1]);
#ifdef NEON_BUILD
u32 cycles_elapsed = get_counter() - cycles;
- printf("%d\n", cycles_elapsed);
+ printf("%-64s: %d\n", argv[1], cycles_elapsed);
+#else
+ printf("%-64s: ", argv[1]);
#endif
-#if 0
+#if 1
u32 i;
for(i = 0; i < 1024 * 512; i++)
}
#endif
-#if 1
+#if 0
printf("\n");
printf(" %d pixels, %d pixel blocks, %d spans\n"
" (%lf pixels per block, %lf pixels per span),\n"