• HomeBoards
  • RulesRules
  • HelpHelp
  • WikiWiki
  • Donate

Author Topic: [TEST RELEASE] RetroArch for GCW0  (Read 42775 times)

zhongtiao1

  • Posts: 249
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #20 on: February 18, 2016, 10:51:36 pm »
Update on Jaguar core: Audio Driver edits add maybe 1 fps. Not worth it at this point :(

Here is the error whenever you compile a mednafen-based core (at least the virtual boy core that is):

Code: [Select]
/usr/bin/ld: mednafen/hw_cpu/v810/fpu-new/softfloat.o: Relocations in generic ELF (EM: 8)
/usr/bin/ld: mednafen/hw_cpu/v810/fpu-new/softfloat.o: Relocations in generic ELF (EM: 8)
/usr/bin/ld: mednafen/hw_cpu/v810/fpu-new/softfloat.o: Relocations in generic ELF (EM: 8)
/usr/bin/ld: mednafen/hw_cpu/v810/fpu-new/softfloat.o: Relocations in generic ELF (EM: 8)
/usr/bin/ld: mednafen/hw_cpu/v810/fpu-new/softfloat.o: Relocations in generic ELF (EM: 8)
/usr/bin/ld: mednafen/hw_cpu/v810/fpu-new/softfloat.o: Relocations in generic ELF (EM: 8)
/usr/bin/ld: mednafen/hw_cpu/v810/fpu-new/softfloat.o: Relocations in generic ELF (EM: 8)
mednafen/hw_cpu/v810/fpu-new/softfloat.o: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
Makefile:300: recipe for target 'mednafen_vb_libretro_libretro.so' failed
make: *** [mednafen_vb_libretro_libretro.so] Error 1

Also, Here is o2em: https://www.dropbox.com/s/eae4zv5qrp4eczo/o2em_libretro.so?dl=0 I don't know if it works or not as I don't know where to put the BIOS rom :) It should work though.
« Last Edit: February 18, 2016, 10:58:23 pm by zhongtiao1 »

zhongtiao1

  • Posts: 249
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #21 on: February 19, 2016, 12:14:23 am »
I figured out how to get cores that require a BIOS to work :) To get those cores to work, just change the system_directory in the retroarch.cfg to where you want your bios files to be placed. You can just use the one I edited too ;) Just make sure to delete any files in the top folder before adding the new cfg file. Also, make sure to add a folder called BIOS in the same folder that holds your retroarch.cfg

Here is the edited retroarch.cfg: https://www.dropbox.com/s/yqy9ozbi9u1ozxl/retroarch.cfg?dl=0

The so file I attached above works fine


I'm working on getting the 4do core working. Should be up soon.
« Last Edit: February 19, 2016, 12:17:46 am by zhongtiao1 »

the_gama (OP)

  • Posts: 155
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #22 on: February 19, 2016, 01:13:39 am »
@zhongtiao1 Can you post the makefile you are using to build the mednafen core?  Some makefiles need different variables to be set.  I usually use the Linux or Linux-portable platforms as basis.

Using oprofile will tell you a lot of information about what functions are causing bad performance of some cores.

Here is a little guide by pcercuei:  http://boards.dingoonity.org/gcw-development/(question)-how-to-profile-application/

For example, this is the result I get from catsfc_libretro.so:

Code: [Select]
opendingux:/media/DUAL/retroarch # opreport -l ./retroarch
Using /var/lib/oprofile/samples/ for samples directory.
warning: /no-vmlinux could not be found.
CPU: CPU with timer interrupt, speed 1188 MHz (estimated)
Profiling through timer interrupt
samples  %        image name               symbol name
8653     28.8299  egl_gallium.so           /usr/lib/egl/egl_gallium.so
4722     15.7327  libuClibc-0.9.33.2.so    /lib/libuClibc-0.9.33.2.so
3586     11.9478  catsfc_libretro.so       WRITE_4PIXELS16
1350      4.4979  catsfc_libretro.so       S9xMainLoop_NoSA1_NoSFX
1262      4.2047  catsfc_libretro.so       S9xUpdateScreen
1220      4.0648  catsfc_libretro.so       DrawTile16
533       1.7758  no-vmlinux               /no-vmlinux
480       1.5993  catsfc_libretro.so       DrawBackground
373       1.2428  catsfc_libretro.so       WRITE_4PIXELS16_FLIPPED
359       1.1961  catsfc_libretro.so       S9xGetByte
342       1.1395  catsfc_libretro.so       CPUShutdown
328       1.0928  catsfc_libretro.so       S9xMixSamples
272       0.9062  catsfc_libretro.so       S9xGetWord
263       0.8763  catsfc_libretro.so       MixStereo
239       0.7963  catsfc_libretro.so       S9xDoHBlankProcessing_NoSFX
196       0.6530  catsfc_libretro.so       S9xSetByte
186       0.6197  catsfc_libretro.so       DrawOBJS
136       0.4531  catsfc_libretro.so       WRITE_4PIXELS16_SUB
133       0.4431  catsfc_libretro.so       S9xSetupOBJ
132       0.4398  catsfc_libretro.so       S9xSetWord
127       0.4231  catsfc_libretro.so       OpF0
117       0.3898  catsfc_libretro.so       ApuF0
117       0.3898  retroarch                audio_convert_float_to_s16_C
114       0.3798  catsfc_libretro.so       Direct
112       0.3732  catsfc_libretro.so       RenderLine
109       0.3632  catsfc_libretro.so       S9xAPUGetByte
98        0.3265  catsfc_libretro.so       LDA8
93        0.3099  retroarch                runloop_ctl
87        0.2899  catsfc_libretro.so       Absolute
81        0.2699  catsfc_libretro.so       S9xReschedule
73        0.2432  catsfc_libretro.so       Apu84
73        0.2432  catsfc_libretro.so       OpADM1
73        0.2432  catsfc_libretro.so       REGISTER_2104
73        0.2432  catsfc_libretro.so       Relative.isra.2.constprop.8
71        0.2366  catsfc_libretro.so       ApuE5
71        0.2366  catsfc_libretro.so       SetZN8
71        0.2366  retroarch                audio_convert_s16_to_float_C
66        0.2199  libEGL.so.1.0.0          /usr/lib/libEGL.so.1.0.0
65        0.2166  catsfc_libretro.so       SetZN16
62        0.2066  catsfc_libretro.so       DecodeBlock
62        0.2066  catsfc_libretro.so       DrawClippedTile16
62        0.2066  catsfc_libretro.so       WRITE_4PIXELS16_ADD1_2
58        0.1932  catsfc_libretro.so       DirectIndirectIndexedLong
56        0.1866  retroarch                udev_joypad_button
54        0.1799  catsfc_libretro.so       OpD0
53        0.1766  catsfc_libretro.so       OpE2
50        0.1666  libpthread-0.9.33.2.so   pthread_mutex_lock
49        0.1633  catsfc_libretro.so       ADC16
49        0.1633  catsfc_libretro.so       OpC2
49        0.1633  retroarch                resampler_nearest_process
48        0.1599  retroarch                input_joypad_pressed
46        0.1533  catsfc_libretro.so       S9xFixColourBrightness
45        0.1499  catsfc_libretro.so       S9xSetPCBase
44        0.1466  catsfc_libretro.so       S9xSetPPU
43        0.1433  catsfc_libretro.so       OpAddressPassthrough
41        0.1366  catsfc_libretro.so       Apu3F
39        0.1299  catsfc_libretro.so       ApuD0
39        0.1299  catsfc_libretro.so       S9xAPUGetByteZ
38        0.1266  catsfc_libretro.so       Apu65
36        0.1199  retroarch                input_keymaps_translate_rk_to_keysym
35        0.1166  retroarch                config_get_ptr
33        0.1099  catsfc_libretro.so       Apu6F
30        0.1000  catsfc_libretro.so       ApuC4
30        0.1000  catsfc_libretro.so       OpA5M1
29        0.0966  catsfc_libretro.so       S9xDoHDMA
29        0.0966  catsfc_libretro.so       S9xFixCycles
29        0.0966  retroarch                udev_input_is_pressed
28        0.0933  catsfc_libretro.so       S9xAPUSetByteZ
27        0.0900  catsfc_libretro.so       Op20
26        0.0866  catsfc_libretro.so       DrawTile16Sub
26        0.0866  catsfc_libretro.so       Op85M1
26        0.0866  catsfc_libretro.so       S9xDoDMA
26        0.0866  retroarch                video_driver_ctl
25        0.0833  catsfc_libretro.so       Apu60
25        0.0833  catsfc_libretro.so       OpB0
24        0.0800  catsfc_libretro.so       REGISTER_2118_linear
23        0.0766  catsfc_libretro.so       LDA16
23        0.0766  catsfc_libretro.so       Op60
23        0.0766  retroarch                input_state
22        0.0733  catsfc_libretro.so       OpC9M0
21        0.0700  libGLESv2.so.2.0.0       /usr/lib/libGLESv2.so.2.0.0
20        0.0666  catsfc_libretro.so       ADC8
20        0.0666  catsfc_libretro.so       REGISTER_2119_linear
20        0.0666  retroarch                gl_frame
20        0.0666  retroarch                state_manager_check_rewind
19        0.0633  catsfc_libretro.so       DirectIndexedX
18        0.0600  catsfc_libretro.so       Op90
18        0.0600  catsfc_libretro.so       OpC8X0
18        0.0600  catsfc_libretro.so       S9xProcessSound
18        0.0600  catsfc_libretro.so       S9xSetAPUDSP
18        0.0600  retroarch                egl_get_video_size
18        0.0600  retroarch                udev_joypad_axis
17        0.0566  catsfc_libretro.so       Op18
17        0.0566  catsfc_libretro.so       Op85M0
17        0.0566  retroarch                input_driver_ctl
17        0.0566  retroarch                menu_driver_ctl
16        0.0533  catsfc_libretro.so       AbsoluteIndexedX
16        0.0533  catsfc_libretro.so       Op29M0
16        0.0533  catsfc_libretro.so       S9xGetPPU
16        0.0533  retroarch                check_pause
16        0.0533  retroarch                gfx_ctx_opendingux_check_window
15        0.0500  catsfc_libretro.so       STA16
15        0.0500  retroarch                input_push_analog_dpad
15        0.0500  retroarch                rarch_environment_cb
14        0.0466  catsfc_libretro.so       LDY16
14        0.0466  catsfc_libretro.so       Op10
14        0.0466  catsfc_libretro.so       S9xGetCPU
14        0.0466  catsfc_libretro.so       S9xMainLoop
13        0.0433  catsfc_libretro.so       INC8
13        0.0433  catsfc_libretro.so       Op06M1
13        0.0433  catsfc_libretro.so       Op38
13        0.0433  catsfc_libretro.so       Op80
13        0.0433  catsfc_libretro.so       RenderScreen
13        0.0433  libpthread-0.9.33.2.so   __pthread_mutex_unlock_usercnt
13        0.0433  retroarch                config_get_entry.isra.2.constprop.4
13        0.0433  retroarch                gfx_ctx_check_window
12        0.0400  catsfc_libretro.so       A_ASL8
12        0.0400  catsfc_libretro.so       Op65M0
12        0.0400  catsfc_libretro.so       Op6B
12        0.0400  catsfc_libretro.so       OpA9M1
12        0.0400  catsfc_libretro.so       STA8
12        0.0400  retroarch                bsv_movie_ctl
12        0.0400  retroarch                check_stateslots
11        0.0366  catsfc_libretro.so       Apu10
11        0.0366  catsfc_libretro.so       Op22
11        0.0366  catsfc_libretro.so       Op54X0
11        0.0366  catsfc_libretro.so       Op89M0
11        0.0366  catsfc_libretro.so       OpAB
11        0.0366  retroarch                gfx_ctx_focus
10        0.0333  catsfc_libretro.so       ApuFD

It seems most of the cpu time is spent in egl_gallium driver.  And, maybe, optimizing WRITE_4PIXELS16 can improve performance.


« Last Edit: February 19, 2016, 01:15:40 am by the_gama »

zhongtiao1

  • Posts: 249
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #23 on: February 19, 2016, 01:53:02 am »
Here is the 4DO Core: https://www.dropbox.com/s/483ldwx2p21ey0z/4do_libretro.so?dl=0

Animations are actually pretty smooth, I would say they are about 10-15 fps. When you actually play the games though, lots of screen tearing occurs. Lots of lag also happens at user movement on screen. Game play is at about 1 to 3 fps :)


Here is the pcsx1 core: https://www.dropbox.com/s/oqnoud2hlujpm5v/pcsx1_libretro.so?dl=0
It's has the same problems as the 4DO core, so I believe they both have the same problem. No screen tearing in this core though. :)
« Last Edit: February 19, 2016, 02:33:42 am by zhongtiao1 »

zhongtiao1

  • Posts: 249
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #24 on: February 19, 2016, 02:28:40 am »
@zhongtiao1 Can you post the makefile you are using to build the mednafen core?  Some makefiles need different variables to be set.  I usually use the Linux or Linux-portable platforms as basis.

Using oprofile will tell you a lot of information about what functions are causing bad performance of some cores.

Here is a little guide by pcercuei:  http://boards.dingoonity.org/gcw-development/(question)-how-to-profile-application/

For example, this is the result I get from catsfc_libretro.so:

Code: [Select]
opendingux:/media/DUAL/retroarch # opreport -l ./retroarch
Using /var/lib/oprofile/samples/ for samples directory.
warning: /no-vmlinux could not be found.
CPU: CPU with timer interrupt, speed 1188 MHz (estimated)
Profiling through timer interrupt
samples  %        image name               symbol name
8653     28.8299  egl_gallium.so           /usr/lib/egl/egl_gallium.so
4722     15.7327  libuClibc-0.9.33.2.so    /lib/libuClibc-0.9.33.2.so
3586     11.9478  catsfc_libretro.so       WRITE_4PIXELS16
1350      4.4979  catsfc_libretro.so       S9xMainLoop_NoSA1_NoSFX
1262      4.2047  catsfc_libretro.so       S9xUpdateScreen
1220      4.0648  catsfc_libretro.so       DrawTile16
533       1.7758  no-vmlinux               /no-vmlinux
480       1.5993  catsfc_libretro.so       DrawBackground
373       1.2428  catsfc_libretro.so       WRITE_4PIXELS16_FLIPPED
359       1.1961  catsfc_libretro.so       S9xGetByte
342       1.1395  catsfc_libretro.so       CPUShutdown
328       1.0928  catsfc_libretro.so       S9xMixSamples
272       0.9062  catsfc_libretro.so       S9xGetWord
263       0.8763  catsfc_libretro.so       MixStereo
239       0.7963  catsfc_libretro.so       S9xDoHBlankProcessing_NoSFX
196       0.6530  catsfc_libretro.so       S9xSetByte
186       0.6197  catsfc_libretro.so       DrawOBJS
136       0.4531  catsfc_libretro.so       WRITE_4PIXELS16_SUB
133       0.4431  catsfc_libretro.so       S9xSetupOBJ
132       0.4398  catsfc_libretro.so       S9xSetWord
127       0.4231  catsfc_libretro.so       OpF0
117       0.3898  catsfc_libretro.so       ApuF0
117       0.3898  retroarch                audio_convert_float_to_s16_C
114       0.3798  catsfc_libretro.so       Direct
112       0.3732  catsfc_libretro.so       RenderLine
109       0.3632  catsfc_libretro.so       S9xAPUGetByte
98        0.3265  catsfc_libretro.so       LDA8
93        0.3099  retroarch                runloop_ctl
87        0.2899  catsfc_libretro.so       Absolute
81        0.2699  catsfc_libretro.so       S9xReschedule
73        0.2432  catsfc_libretro.so       Apu84
73        0.2432  catsfc_libretro.so       OpADM1
73        0.2432  catsfc_libretro.so       REGISTER_2104
73        0.2432  catsfc_libretro.so       Relative.isra.2.constprop.8
71        0.2366  catsfc_libretro.so       ApuE5
71        0.2366  catsfc_libretro.so       SetZN8
71        0.2366  retroarch                audio_convert_s16_to_float_C
66        0.2199  libEGL.so.1.0.0          /usr/lib/libEGL.so.1.0.0
65        0.2166  catsfc_libretro.so       SetZN16
62        0.2066  catsfc_libretro.so       DecodeBlock
62        0.2066  catsfc_libretro.so       DrawClippedTile16
62        0.2066  catsfc_libretro.so       WRITE_4PIXELS16_ADD1_2
58        0.1932  catsfc_libretro.so       DirectIndirectIndexedLong
56        0.1866  retroarch                udev_joypad_button
54        0.1799  catsfc_libretro.so       OpD0
53        0.1766  catsfc_libretro.so       OpE2
50        0.1666  libpthread-0.9.33.2.so   pthread_mutex_lock
49        0.1633  catsfc_libretro.so       ADC16
49        0.1633  catsfc_libretro.so       OpC2
49        0.1633  retroarch                resampler_nearest_process
48        0.1599  retroarch                input_joypad_pressed
46        0.1533  catsfc_libretro.so       S9xFixColourBrightness
45        0.1499  catsfc_libretro.so       S9xSetPCBase
44        0.1466  catsfc_libretro.so       S9xSetPPU
43        0.1433  catsfc_libretro.so       OpAddressPassthrough
41        0.1366  catsfc_libretro.so       Apu3F
39        0.1299  catsfc_libretro.so       ApuD0
39        0.1299  catsfc_libretro.so       S9xAPUGetByteZ
38        0.1266  catsfc_libretro.so       Apu65
36        0.1199  retroarch                input_keymaps_translate_rk_to_keysym
35        0.1166  retroarch                config_get_ptr
33        0.1099  catsfc_libretro.so       Apu6F
30        0.1000  catsfc_libretro.so       ApuC4
30        0.1000  catsfc_libretro.so       OpA5M1
29        0.0966  catsfc_libretro.so       S9xDoHDMA
29        0.0966  catsfc_libretro.so       S9xFixCycles
29        0.0966  retroarch                udev_input_is_pressed
28        0.0933  catsfc_libretro.so       S9xAPUSetByteZ
27        0.0900  catsfc_libretro.so       Op20
26        0.0866  catsfc_libretro.so       DrawTile16Sub
26        0.0866  catsfc_libretro.so       Op85M1
26        0.0866  catsfc_libretro.so       S9xDoDMA
26        0.0866  retroarch                video_driver_ctl
25        0.0833  catsfc_libretro.so       Apu60
25        0.0833  catsfc_libretro.so       OpB0
24        0.0800  catsfc_libretro.so       REGISTER_2118_linear
23        0.0766  catsfc_libretro.so       LDA16
23        0.0766  catsfc_libretro.so       Op60
23        0.0766  retroarch                input_state
22        0.0733  catsfc_libretro.so       OpC9M0
21        0.0700  libGLESv2.so.2.0.0       /usr/lib/libGLESv2.so.2.0.0
20        0.0666  catsfc_libretro.so       ADC8
20        0.0666  catsfc_libretro.so       REGISTER_2119_linear
20        0.0666  retroarch                gl_frame
20        0.0666  retroarch                state_manager_check_rewind
19        0.0633  catsfc_libretro.so       DirectIndexedX
18        0.0600  catsfc_libretro.so       Op90
18        0.0600  catsfc_libretro.so       OpC8X0
18        0.0600  catsfc_libretro.so       S9xProcessSound
18        0.0600  catsfc_libretro.so       S9xSetAPUDSP
18        0.0600  retroarch                egl_get_video_size
18        0.0600  retroarch                udev_joypad_axis
17        0.0566  catsfc_libretro.so       Op18
17        0.0566  catsfc_libretro.so       Op85M0
17        0.0566  retroarch                input_driver_ctl
17        0.0566  retroarch                menu_driver_ctl
16        0.0533  catsfc_libretro.so       AbsoluteIndexedX
16        0.0533  catsfc_libretro.so       Op29M0
16        0.0533  catsfc_libretro.so       S9xGetPPU
16        0.0533  retroarch                check_pause
16        0.0533  retroarch                gfx_ctx_opendingux_check_window
15        0.0500  catsfc_libretro.so       STA16
15        0.0500  retroarch                input_push_analog_dpad
15        0.0500  retroarch                rarch_environment_cb
14        0.0466  catsfc_libretro.so       LDY16
14        0.0466  catsfc_libretro.so       Op10
14        0.0466  catsfc_libretro.so       S9xGetCPU
14        0.0466  catsfc_libretro.so       S9xMainLoop
13        0.0433  catsfc_libretro.so       INC8
13        0.0433  catsfc_libretro.so       Op06M1
13        0.0433  catsfc_libretro.so       Op38
13        0.0433  catsfc_libretro.so       Op80
13        0.0433  catsfc_libretro.so       RenderScreen
13        0.0433  libpthread-0.9.33.2.so   __pthread_mutex_unlock_usercnt
13        0.0433  retroarch                config_get_entry.isra.2.constprop.4
13        0.0433  retroarch                gfx_ctx_check_window
12        0.0400  catsfc_libretro.so       A_ASL8
12        0.0400  catsfc_libretro.so       Op65M0
12        0.0400  catsfc_libretro.so       Op6B
12        0.0400  catsfc_libretro.so       OpA9M1
12        0.0400  catsfc_libretro.so       STA8
12        0.0400  retroarch                bsv_movie_ctl
12        0.0400  retroarch                check_stateslots
11        0.0366  catsfc_libretro.so       Apu10
11        0.0366  catsfc_libretro.so       Op22
11        0.0366  catsfc_libretro.so       Op54X0
11        0.0366  catsfc_libretro.so       Op89M0
11        0.0366  catsfc_libretro.so       OpAB
11        0.0366  retroarch                gfx_ctx_focus
10        0.0333  catsfc_libretro.so       ApuFD

It seems most of the cpu time is spent in egl_gallium driver.  And, maybe, optimizing WRITE_4PIXELS16 can improve performance.


@the_gama How do I do the opcontrol over telnet correctly? I've started profiling, but whenever I try to run the retroarch executable I made on my computer, it won't read any Atari jaguar rom I through at it. I am using the virtualjaguar_libretro.so. What am I doing wrong?

Makefile from mednafen-based cores: https://www.dropbox.com/s/trct6f2pe6295q7/Makefile?dl=0

the_gama (OP)

  • Posts: 155
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #25 on: February 19, 2016, 03:33:26 am »
Ok, here is what I do:

1) Build the core library with DEBUG flags enabled, you can try:

Code: [Select]
make DEBUG=1 platform=gcw0

Or put those CFLAGS manually in the Makefile.

2) Create a folder called 'retroarch' inside the SD Card, using an ftp client or the OPK Manager.

3) Copy the retroarch executable (not the OPK), and the libretro core there.

4) Connect through telnet to the gcw0

Code: [Select]
telnet 10.1.1.2

5) Browse to the retroarch folder and init the profiler with the following commands:

Code: [Select]
opcontrol --deinit
opcontrol --no-vmlinux
opcontrol --separate=kernel
opcontrol --init
opcontrol --reset
opcontrol --start

6) Then, also from telnet, start retroarch:

Code: [Select]
./retroarch -L catsfc_libretro.so "roms/Mega Man X (Version 1.0).sfc"

I like to load a rom directly to skip the rgui menu.

7) Then let the game run for a couple of minutes, and then exit retroarch by pressing Select.

8 ) Finally stop the profiler and check the results:

Code: [Select]
opcontrol --stop
opreport -l ./retroarch
opcontrol --deinit


About the Makefile, I think you are missing the CXX compiler.

Code: [Select]
else ifeq ($(platform), gcw0)
   TARGET := $(TARGET_NAME)_libretro.so
   CC = /opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc
   CXX = /opt/gcw0-toolchain/usr/bin/mipsel-linux-g++
   AR = /opt/gcw0-toolchain/usr/bin/mipsel-linux-ar
   fpic := -fPIC
   SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
   LDFLAGS += $(PTHREAD_FLAGS) -lrt
   FLAGS += $(PTHREAD_FLAGS) -DHAVE_MKDIR
   FLAGS += -march=mips32 -mtune=mips32r2 -mhard-float

It will be interesting to see the profiler report from the pcsx1 and the jaguar cores.
« Last Edit: February 19, 2016, 03:45:52 am by the_gama »

zhongtiao1

  • Posts: 249
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #26 on: February 19, 2016, 04:21:16 am »
Okay, here is pcsx1:

Code: [Select]
CPU: CPU with timer interrupt, speed 1188 MHz (estimated)
Profiling through timer interrupt
samples  %        image name               symbol name
2557     24.9683  pcsx_rearmed_libretro.so execI
1053     10.2822  pcsx_rearmed_libretro.so doBranch
976       9.5303  pcsx_rearmed_libretro.so psxBranchTest
596       5.8197  pcsx_rearmed_libretro.so psxBranchNoDelay
543       5.3022  egl_gallium.so           /usr/lib/egl/egl_gallium.so
509       4.9702  pcsx_rearmed_libretro.so intExecute
467       4.5601  pcsx_rearmed_libretro.so psxSPECIAL
384       3.7496  pcsx_rearmed_libretro.so psxMemRead32
366       3.5739  pcsx_rearmed_libretro.so psxLW
304       2.9685  pcsx_rearmed_libretro.so psxSLL
199       1.9432  libuClibc-0.9.33.2.so    /lib/libuClibc-0.9.33.2.so
195       1.9041  no-vmlinux               /no-vmlinux
147       1.4354  pcsx_rearmed_libretro.so psxADDIU
135       1.3182  pcsx_rearmed_libretro.so psxBNE
130       1.2694  pcsx_rearmed_libretro.so psxMemWrite32
107       1.0448  pcsx_rearmed_libretro.so do_samples_simple
106       1.0351  pcsx_rearmed_libretro.so psxADDU
81        0.7909  pcsx_rearmed_libretro.so psxLUI
81        0.7909  pcsx_rearmed_libretro.so psxSW
70        0.6835  pcsx_rearmed_libretro.so psxJR
68        0.6640  pcsx_rearmed_libretro.so psxBEQ
65        0.6347  pcsx_rearmed_libretro.so do_samples
63        0.6152  pcsx_rearmed_libretro.so psxJAL
61        0.5956  pcsx_rearmed_libretro.so InterpolateUp
54        0.5273  pcsx_rearmed_libretro.so intExecuteBlock
49        0.4785  pcsx_rearmed_libretro.so bgr555_to_rgb565
42        0.4101  pcsx_rearmed_libretro.so psxSLT
41        0.4004  pcsx_rearmed_libretro.so psxJumpTest
39        0.3808  pcsx_rearmed_libretro.so GetTextureTransColG32_S.part.6
37        0.3613  pcsx_rearmed_libretro.so yuv2rgb24
35        0.3418  pcsx_rearmed_libretro.so psxSLTU
32        0.3125  retroarch                config_get_array
32        0.3125  retroarch                config_get_string
31        0.3027  ld-uClibc-0.9.33.2.so    /lib/ld-uClibc-0.9.33.2.so
30        0.2929  pcsx_rearmed_libretro.so bgr888_to_rgb565
28        0.2734  pcsx_rearmed_libretro.so psxAND
27        0.2636  pcsx_rearmed_libretro.so MixREVERB.constprop.10
26        0.2539  pcsx_rearmed_libretro.so DrawSoftwareSprite
25        0.2441  pcsx_rearmed_libretro.so psxMemRead16
23        0.2246  pcsx_rearmed_libretro.so psxLHU
23        0.2246  pcsx_rearmed_libretro.so psxMemRead8
18        0.1758  pcsx_rearmed_libretro.so psxLBU
13        0.1269  pcsx_rearmed_libretro.so psxANDI
12        0.1172  libpthread-0.9.33.2.so   pthread_mutex_lock
12        0.1172  pcsx_rearmed_libretro.so psxDelayTest
12        0.1172  pcsx_rearmed_libretro.so psxREGIMM
11        0.1074  libpthread-0.9.33.2.so   __pthread_mutex_unlock_usercnt
11        0.1074  pcsx_rearmed_libretro.so psxMemWrite16
11        0.1074  pcsx_rearmed_libretro.so psxOR
11        0.1074  pcsx_rearmed_libretro.so psxSLLV
11        0.1074  retroarch                audio_convert_float_to_s16_C
10        0.0976  pcsx_rearmed_libretro.so cdrReadInterrupt
10        0.0976  pcsx_rearmed_libretro.so psxBGEZ
10        0.0976  pcsx_rearmed_libretro.so psxBiosException
10        0.0976  retroarch                input_keys_pressed
9         0.0879  retroarch                config_set_string
8         0.0781  pcsx_rearmed_libretro.so psxSUBU
8         0.0781  pcsx_rearmed_libretro.so psxTestLoadDelay
8         0.0781  pcsx_rearmed_libretro.so rl2blk
8         0.0781  retroarch                resampler_nearest_process
7         0.0684  pcsx_rearmed_libretro.so GetTextureTransColG32_SPR.part.7
7         0.0684  pcsx_rearmed_libretro.so do_samples_finish
7         0.0684  pcsx_rearmed_libretro.so psxBLTZ
7         0.0684  retroarch                gl_raster_font_render_line
6         0.0586  libpthread-0.9.33.2.so   __pthread_cleanup_pop_restore
6         0.0586  pcsx_rearmed_libretro.so psxHwRead32
5         0.0488  pcsx_rearmed_libretro.so psxSH
5         0.0488  retroarch                audio_convert_s16_to_float_C
4         0.0391  libEGL.so.1.0.0          /usr/lib/libEGL.so.1.0.0
4         0.0391  pcsx_rearmed_libretro.so psxSRLV
4         0.0391  retroarch                udev_input_is_pressed
4         0.0391  retroarch                udev_joypad_button
3         0.0293  libfreetype.so.6.11.2    /usr/lib/libfreetype.so.6.11.2
3         0.0293  libpthread-0.9.33.2.so   __pthread_cleanup_push_defer
3         0.0293  pcsx_rearmed_libretro.so GetShadeTransCol
3         0.0293  pcsx_rearmed_libretro.so calcCrc
3         0.0293  pcsx_rearmed_libretro.so gteMTC2
3         0.0293  pcsx_rearmed_libretro.so psxCOP2
3         0.0293  pcsx_rearmed_libretro.so psxHwRead16
3         0.0293  pcsx_rearmed_libretro.so psxHwRead8
3         0.0293  pcsx_rearmed_libretro.so psxHwWrite16
3         0.0293  pcsx_rearmed_libretro.so psxLH
3         0.0293  pcsx_rearmed_libretro.so psxSLTI
3         0.0293  pcsx_rearmed_libretro.so sioWrite8
3         0.0293  retroarch                config_file_new_internal
3         0.0293  retroarch                gl_frame
3         0.0293  retroarch                input_joypad_pressed
3         0.0293  retroarch                input_keymaps_translate_rk_to_keysym
3         0.0293  retroarch                runloop_ctl
3         0.0293  retroarch                udev_joypad_axis
3         0.0293  retroarch                video_driver_ctl
2         0.0195  libGLESv2.so.2.0.0       /usr/lib/libGLESv2.so.2.0.0
2         0.0195  libasound.so.2.0.0       /usr/lib/libasound.so.2.0.0
2         0.0195  pcsx_rearmed_libretro.so FillSoftwareAreaTrans.part.12
2         0.0195  pcsx_rearmed_libretro.so SPUplayADPCMchannel
2         0.0195  pcsx_rearmed_libretro.so do_cmd_buffer
2         0.0195  pcsx_rearmed_libretro.so do_vram_io
2         0.0195  pcsx_rearmed_libretro.so psxBios_ReturnFromException
2         0.0195  pcsx_rearmed_libretro.so psxJ
2         0.0195  pcsx_rearmed_libretro.so psxORI
2         0.0195  pcsx_rearmed_libretro.so psxRcntUpdate
2         0.0195  pcsx_rearmed_libretro.so psxSRA
2         0.0195  pcsx_rearmed_libretro.so psxSRL
2         0.0195  retroarch                bsv_movie_ctl
2         0.0195  retroarch                config_get_ptr
2         0.0195  retroarch                input_driver_ctl
2         0.0195  retroarch                rarch_ctl
2         0.0195  retroarch                udev_poll_pad.isra.2
1         0.0098  libdl-0.9.33.2.so        /lib/libdl-0.9.33.2.so
1         0.0098  libpthread-0.9.33.2.so   __pthread_disable_asynccancel
1         0.0098  libudev.so.1.3.0         /lib/libudev.so.1.3.0
1         0.0098  pcsx_rearmed_libretro.so ApplyCheats
1         0.0098  pcsx_rearmed_libretro.so CheckPPFCache
1         0.0098  pcsx_rearmed_libretro.so GPUwriteStatus
1         0.0098  pcsx_rearmed_libretro.so ISOreadTrack
1         0.0098  pcsx_rearmed_libretro.so MixADSR
1         0.0098  pcsx_rearmed_libretro.so ReadTrack
1         0.0098  pcsx_rearmed_libretro.so SPUasync
1         0.0098  pcsx_rearmed_libretro.so _PADstartPoll
1         0.0098  pcsx_rearmed_libretro.so biosInterrupt
1         0.0098  pcsx_rearmed_libretro.so cdrRead3
1         0.0098  pcsx_rearmed_libretro.so do_cmd_list
1         0.0098  pcsx_rearmed_libretro.so gteMFC2
1         0.0098  pcsx_rearmed_libretro.so primMoveImage
1         0.0098  pcsx_rearmed_libretro.so psxBASIC
1         0.0098  pcsx_rearmed_libretro.so psxBGTZ
1         0.0098  pcsx_rearmed_libretro.so psxHwWrite32
1         0.0098  pcsx_rearmed_libretro.so psxLB
1         0.0098  pcsx_rearmed_libretro.so psxMFLO
1         0.0098  pcsx_rearmed_libretro.so psxNOR
1         0.0098  pcsx_rearmed_libretro.so psxSLTIU
1         0.0098  pcsx_rearmed_libretro.so psxSWR
1         0.0098  pcsx_rearmed_libretro.so psxXORI
1         0.0098  pcsx_rearmed_libretro.so renderer_flush_queues
1         0.0098  pcsx_rearmed_libretro.so retro_run
1         0.0098  pcsx_rearmed_libretro.so sioInterrupt
1         0.0098  pcsx_rearmed_libretro.so xa_decode_data
1         0.0098  retroarch                CONFIG_STRING_OPTIONS
1         0.0098  retroarch                cheevos_ctl
1         0.0098  retroarch                config_get_path
1         0.0098  retroarch                djb2_calculate
1         0.0098  retroarch                gfx_ctx_ctl
1         0.0098  retroarch                gl_alive
1         0.0098  retroarch                gl_glsl_set_mvp
1         0.0098  retroarch                input_poll
1         0.0098  retroarch                input_state
1         0.0098  retroarch                input_state_poll
1         0.0098  retroarch                msg_queue_pull
1         0.0098  retroarch                runloop_iterate
1         0.0098  retroarch                video_driver_frame
1         0.0098  retroarch                video_monitor_get_fps
1         0.0098  retroarch                video_shader_driver_ctl

egl_gallium is up there. but it looks like we need to ExecI down too.

zhongtiao1

  • Posts: 249
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #27 on: February 19, 2016, 05:20:06 am »
I can't get Jaguar Roms to work over telnet for some reason, sorry.

the_gama (OP)

  • Posts: 155
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #28 on: February 19, 2016, 02:08:45 pm »
I think pcsx1 core (pscx_rearmed) would need a MIPS Recompiler to work decently.  If I am not wrong, I remember they used Ari's mupen64plus recompiler with some modifications.  It may be posible to do something similar with Nebuleon's dynarec but this is a huge task.

By the way, it seems a Frameskip option was implemented to pcsx_rearmed core some time ago.  Maybe that option can be implemented in other cores too.
« Last Edit: February 19, 2016, 02:23:35 pm by the_gama »

zhongtiao1

  • Posts: 249
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #29 on: February 19, 2016, 03:23:56 pm »
I think pcsx1 core (pscx_rearmed) would need a MIPS Recompiler to work decently.  If I am not wrong, I remember they used Ari's mupen64plus recompiler with some modifications.  It may be posible to do something similar with Nebuleon's dynarec but this is a huge task.

By the way, it seems a Frameskip option was implemented to pcsx_rearmed core some time ago.  Maybe that option can be implemented in other cores too.

Would you be willing to test the jaguar core @the_gama ? Also, I believe the 4DO core has the same problem as pcsx1 does. It stutters in the same places.

David Knight

  • Posts: 577
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #30 on: February 19, 2016, 11:38:57 pm »
I also saw some references to frameskip in the jaguar code though I haven't delved further to see if they are legacy or if they actually do anything at all.

the_gama (OP)

  • Posts: 155
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #31 on: February 20, 2016, 01:50:08 am »
I also saw some references to frameskip in the jaguar code though I haven't delved further to see if they are legacy or if they actually do anything at all.

I searched in a couple of cores for FrameSkip option.  I found some references, but the actual implementation was completely removed from the sources.

@zhongtiao1, I will try to, I don't have time this weekend but I'll give it a try next week.

If you haven't done already, you can try:

Code: [Select]
./retroarch --verbose -L virtualjaguar_libretro.so "roms/some_jaguar_rom"

The --verbose option will make retroarch display lots of information.

By the way, I have successfully built mednafen_pce_fast_libretro.  It runs Akumajou Dracula at full speed ;).



zhongtiao1

  • Posts: 249
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #32 on: February 20, 2016, 06:07:34 am »
I also saw some references to frameskip in the jaguar code though I haven't delved further to see if they are legacy or if they actually do anything at all.

I searched in a couple of cores for FrameSkip option.  I found some references, but the actual implementation was completely removed from the sources.

@zhongtiao1, I will try to, I don't have time this weekend but I'll give it a try next week.

If you haven't done already, you can try:

Code: [Select]
./retroarch --verbose -L virtualjaguar_libretro.so "roms/some_jaguar_rom"

The --verbose option will make retroarch display lots of information.

By the way, I have successfully built mednafen_pce_fast_libretro.  It runs Akumajou Dracula at full speed ;).



Well, @the_gama and @David Knight I actually figured it out :) Telnet doesn't like j64 files or spaces.

Here's the Jaguar Core:
Quote
CPU: CPU with timer interrupt, speed 1188 MHz (estimated)
Profiling through timer interrupt
samples  %        image name               symbol name
1684     15.7501  virtualjaguar_libretro.so DSPExec
1364     12.7572  virtualjaguar_libretro.so GPUExec
1345     12.5795  virtualjaguar_libretro.so m68k_get_reg
725       6.7808  virtualjaguar_libretro.so DSPReadWord
641       5.9951  virtualjaguar_libretro.so GPUReadWord
530       4.9570  virtualjaguar_libretro.so M68KInstructionHook
346       3.2361  virtualjaguar_libretro.so dsp_opcode_jr
342       3.1987  egl_gallium.so           /usr/lib/egl/egl_gallium.so
257       2.4037  no-vmlinux               /no-vmlinux
236       2.2073  virtualjaguar_libretro.so dsp_opcode_cmpq
207       1.9360  libuClibc-0.9.33.2.so    /lib/libuClibc-0.9.33.2.so
203       1.8986  virtualjaguar_libretro.so dsp_opcode_load
185       1.7303  virtualjaguar_libretro.so DSPReadLong
162       1.5152  virtualjaguar_libretro.so gpu_opcode_jr
146       1.3655  virtualjaguar_libretro.so m68k_read_memory_16
108       1.0101  virtualjaguar_libretro.so BlitterMidsummer2
100       0.9353  virtualjaguar_libretro.so GPUHandleIRQs
99        0.9259  virtualjaguar_libretro.so gpu_opcode_jump
95        0.8885  virtualjaguar_libretro.so gpu_opcode_cmp
89        0.8324  virtualjaguar_libretro.so gpu_opcode_add
85        0.7950  virtualjaguar_libretro.so JaguarReadWord
84        0.7856  virtualjaguar_libretro.so GPUReadLong
82        0.7669  virtualjaguar_libretro.so tom_render_16bpp_rgb_scanline
71        0.6640  virtualjaguar_libretro.so m68k_execute
69        0.6453  virtualjaguar_libretro.so gpu_opcode_load
63        0.5892  virtualjaguar_libretro.so gpu_opcode_movefa
62        0.5799  libpthread-0.9.33.2.so   pthread_mutex_lock
58        0.5425  virtualjaguar_libretro.so DATA
58        0.5425  virtualjaguar_libretro.so dsp_opcode_nop
55        0.5144  virtualjaguar_libretro.so OPProcessScaledBitmap
50        0.4676  virtualjaguar_libretro.so HandleNextEvent
42        0.3928  libpthread-0.9.33.2.so   __pthread_mutex_unlock_usercnt
41        0.3835  virtualjaguar_libretro.so GetTimeToNextEvent
41        0.3835  virtualjaguar_libretro.so JaguarReadLong
40        0.3741  libpthread-0.9.33.2.so   __pthread_cleanup_push_defer
39        0.3648  ld-uClibc-0.9.33.2.so    /lib/ld-uClibc-0.9.33.2.so
38        0.3554  virtualjaguar_libretro.so gpu_opcode_shrq
37        0.3461  virtualjaguar_libretro.so gpu_opcode_nop
30        0.2806  virtualjaguar_libretro.so ADDARRAY
29        0.2712  libpthread-0.9.33.2.so   __pthread_cleanup_pop_restore
27        0.2525  virtualjaguar_libretro.so dsp_opcode_movei
26        0.2432  virtualjaguar_libretro.so COMP_CTRL
25        0.2338  virtualjaguar_libretro.so TOMExecHalfline
25        0.2338  virtualjaguar_libretro.so gpu_opcode_addq
22        0.2058  virtualjaguar_libretro.so RemoveCallback
22        0.2058  virtualjaguar_libretro.so dsp_opcode_jump
22        0.2058  virtualjaguar_libretro.so gpu_opcode_move
20        0.1871  virtualjaguar_libretro.so build_insn
19        0.1777  virtualjaguar_libretro.so op_6701_5_ff
18        0.1684  virtualjaguar_libretro.so m68k_read_memory_32
18        0.1684  virtualjaguar_libretro.so op_4a90_5_ff
17        0.1590  virtualjaguar_libretro.so crc32_calcCheckSum
17        0.1590  virtualjaguar_libretro.so gpu_opcode_and
16        0.1496  retroarch                config_get_string
15        0.1403  virtualjaguar_libretro.so ADD16SAT
15        0.1403  virtualjaguar_libretro.so DSPWriteLong
15        0.1403  virtualjaguar_libretro.so HalflineCallback
15        0.1403  virtualjaguar_libretro.so OPProcessList
14        0.1309  virtualjaguar_libretro.so op_4e71_5_ff
13        0.1216  virtualjaguar_libretro.so JaguarWriteWord
13        0.1216  virtualjaguar_libretro.so gpu_opcode_cmpq
12        0.1122  virtualjaguar_libretro.so dsp_opcode_move
11        0.1029  retroarch                config_set_string
11        0.1029  virtualjaguar_libretro.so dsp_opcode_addqt
10        0.0935  virtualjaguar_libretro.so gpu_opcode_or
9         0.0842  libz.so.1.2.8            /usr/lib/libz.so.1.2.8
9         0.0842  retroarch                audio_convert_s16_to_float_C
9         0.0842  retroarch                config_get_array
9         0.0842  virtualjaguar_libretro.so DSPSampleCallback
9         0.0842  virtualjaguar_libretro.so JaguarWriteLong
9         0.0842  virtualjaguar_libretro.so SetCallbackTime
9         0.0842  virtualjaguar_libretro.so dsp_opcode_add
8         0.0748  virtualjaguar_libretro.so JaguarExecuteNew
8         0.0748  virtualjaguar_libretro.so TOMReadByte
8         0.0748  virtualjaguar_libretro.so dsp_opcode_cmp
8         0.0748  virtualjaguar_libretro.so dsp_opcode_sub
8         0.0748  virtualjaguar_libretro.so op_51c8_5_ff
7         0.0655  libudev.so.1.3.0         /lib/libudev.so.1.3.0
7         0.0655  virtualjaguar_libretro.so DSPHandleIRQsNP
7         0.0655  virtualjaguar_libretro.so SDLSoundCallback
7         0.0655  virtualjaguar_libretro.so TOMReadWord
7         0.0655  virtualjaguar_libretro.so TOMWriteWord
7         0.0655  virtualjaguar_libretro.so gpu_opcode_storeb
6         0.0561  virtualjaguar_libretro.so ADDRGEN
5         0.0468  libpthread-0.9.33.2.so   pthread_mutex_unlock
5         0.0468  virtualjaguar_libretro.so JERRYResetPIT1
5         0.0468  virtualjaguar_libretro.so JaguarWriteByte
5         0.0468  virtualjaguar_libretro.so dsp_opcode_store
5         0.0468  virtualjaguar_libretro.so gpu_opcode_movei
4         0.0374  libfreetype.so.6.11.2    /usr/lib/libfreetype.so.6.11.2
4         0.0374  virtualjaguar_libretro.so ADDAMUX
4         0.0374  virtualjaguar_libretro.so ADDRADD
4         0.0374  virtualjaguar_libretro.so OPLoadPhrase
4         0.0374  virtualjaguar_libretro.so TOMWriteByte
4         0.0374  virtualjaguar_libretro.so dsp_opcode_addq
4         0.0374  virtualjaguar_libretro.so dsp_opcode_moveq
4         0.0374  virtualjaguar_libretro.so gpu_opcode_loadb
3         0.0281  retroarch                audio_convert_float_to_s16_C
3         0.0281  retroarch                gl_raster_font_render_line
3         0.0281  retroarch                input_joypad_pressed
3         0.0281  retroarch                udev_joypad_button
3         0.0281  virtualjaguar_libretro.so JaguarInit
3         0.0281  virtualjaguar_libretro.so TOMIRQEnabled
3         0.0281  virtualjaguar_libretro.so dsp_opcode_subq
3         0.0281  virtualjaguar_libretro.so gpu_opcode_shlq
3         0.0281  virtualjaguar_libretro.so gpu_opcode_subq
3         0.0281  virtualjaguar_libretro.so op_20d8_5_ff
2         0.0187  retroarch                alsa_thread_write
2         0.0187  retroarch                config_file_new_internal
2         0.0187  retroarch                gl_frame
2         0.0187  retroarch                input_keymaps_translate_rk_to_keysym
2         0.0187  retroarch                resampler_nearest_process
2         0.0187  virtualjaguar_libretro.so ADDBMUX
2         0.0187  virtualjaguar_libretro.so DSPSetIRQLine
2         0.0187  virtualjaguar_libretro.so JaguarReset
2         0.0187  virtualjaguar_libretro.so OPGetListPointer
2         0.0187  virtualjaguar_libretro.so OPSetCurrentObject
2         0.0187  virtualjaguar_libretro.so TOMFillLookupTables
2         0.0187  virtualjaguar_libretro.so do_merges
2         0.0187  virtualjaguar_libretro.so dsp_opcode_bclr
2         0.0187  virtualjaguar_libretro.so dsp_opcode_movefa
2         0.0187  virtualjaguar_libretro.so dsp_opcode_sat16s
2         0.0187  virtualjaguar_libretro.so dsp_opcode_sharq
2         0.0187  virtualjaguar_libretro.so gpu_opcode_moveq
2         0.0187  virtualjaguar_libretro.so op_1018_5_ff
1         0.0094  libEGL.so.1.0.0          /usr/lib/libEGL.so.1.0.0
1         0.0094  libasound.so.2.0.0       /usr/lib/libasound.so.2.0.0
1         0.0094  libstdc++.so.6.0.20      /usr/lib/libstdc++.so.6.0.20
1         0.0094  retroarch                alsa_thread_write_avail
1         0.0094  retroarch                alsa_worker_thread
1         0.0094  retroarch                audio_driver_sample_batch
1         0.0094  retroarch                config_file_free
1         0.0094  retroarch                config_get_path
1         0.0094  retroarch                fifo_read_avail
1         0.0094  retroarch                fill_pathname_join_delim
1         0.0094  retroarch                font_renderer_create_atlas
1         0.0094  retroarch                gfx_ctx_ctl
1         0.0094  retroarch                gl_glsl_set_params
1         0.0094  retroarch                input_keys_pressed
1         0.0094  retroarch                input_remapping_set_defaults
1         0.0094  retroarch                rarch_ctl
1         0.0094  retroarch                runloop_ctl
1         0.0094  retroarch                save_keybind_joykey
1         0.0094  retroarch                state_manager_check_rewind
1         0.0094  retroarch                udev_joypad_axis
1         0.0094  retroarch                udev_poll_pad.isra.2
1         0.0094  virtualjaguar_libretro.so BuildCPUFunctionTable
1         0.0094  virtualjaguar_libretro.so DSPUpdateRegisterBanks
1         0.0094  virtualjaguar_libretro.so EepromReadByte
1         0.0094  virtualjaguar_libretro.so EepromWriteByte
1         0.0094  virtualjaguar_libretro.so JERRYPIT1Callback
1         0.0094  virtualjaguar_libretro.so JaguarReadByte
1         0.0094  virtualjaguar_libretro.so OPInit
1         0.0094  virtualjaguar_libretro.so OPStorePhrase
1         0.0094  virtualjaguar_libretro.so dsp_build_branch_condition_table
1         0.0094  virtualjaguar_libretro.so dsp_opcode_mult
1         0.0094  virtualjaguar_libretro.so gpu_opcode_subqt
1         0.0094  virtualjaguar_libretro.so m68k_write_memory_32
1         0.0094  virtualjaguar_libretro.so mode_from_str
1         0.0094  virtualjaguar_libretro.so op_3010_5_ff
1         0.0094  virtualjaguar_libretro.so op_41e8_5_ff
1         0.0094  virtualjaguar_libretro.so op_48e0_5_ff
1         0.0094  virtualjaguar_libretro.so op_7000_5_ff
1         0.0094  virtualjaguar_libretro.so op_b000_5_ff
1         0.0094  virtualjaguar_libretro.so op_c000_5_ff
1         0.0094  virtualjaguar_libretro.so op_d140_5_ff
1         0.0094  virtualjaguar_libretro.so retro_load_game

Some games (according to the virtual jaguar compatibility list) don't require DSP. If we remove DSP, we would gain a large jump in performance, but it would severely hurt the game compatibility. Also, egl_gallium is still up there.


Congrats gama on getting pce-fast to work :) I still can't get any of the mednafen cores to work even after adding the CXX compiler.
« Last Edit: February 20, 2016, 06:10:45 am by zhongtiao1 »

the_gama (OP)

  • Posts: 155
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #33 on: February 23, 2016, 01:29:09 am »
@zhongtiao1 It seems, the Jaguar core would need lots of optimizations to run well on the zero.

Currently I am testing other cores to find which ones run well on the zero.  I cannot work on this project for longer, so I will try to post all the patches for the cores I have built this week.

I think the main focus should be to find which cores fullspeed and maybe contact a libretro dev to send them the patches.  Maybe they can tell a hint on how to optimize retroarch on the zero :).

 


the_gama (OP)

  • Posts: 155
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #34 on: February 23, 2016, 07:51:13 pm »
I have uploaded RetroArch_v0.1.opk to Dropbox, you can get it from first post.

The more important changes are that no additional files should be needed, only the RetroArch_v0.1.opk.  And that I added some new cores: fceumm, pocketsnes, prboom, pce_fast and ngp.

As I stated before I cannot work on the port for now so I hope someone want to continue working on it.
Cheers.

Awakened

  • Posts: 96
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #35 on: February 24, 2016, 03:14:21 am »
I played around with this and it's quite nice. GLUI scales well to the Zero's screen. For me it's replaced stand alone Gambatte and Temper for GB/C and PC Engine. If the Neopop and FCEUmm cores ran full speed for everything I'd replace Race and FCEU too. I wonder how well mGBA would run; it's supposed to be a balance between speed and accuracy, but I bet it'd be too slow on the Zero.

Anyways, good work the_gama!

SpikeSpiegel

  • Posts: 15
    • [OPEN-HANDHEDS-News]
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #36 on: February 24, 2016, 09:26:48 am »
Hi, i am SpikeSpiegel from the Open-Consoles community (www.open-consoles.com). We are specialized on emulation and handheld consoles.
First thanks for all of your works, it's great! I am following retroarch since many years now, this multi-platform emulator is amazing, it's a good thing that now it can run on Zero.

Here i have compiled some cores by following instructions from the first post.
Download: http://www.mediafire.com/download/b2qcib5g1i2a14t/cores-gcw0-20160224.zip

fceumm_libretro.so - NES
gambatte_libretro.so - GB/GBC
genesis_plus_gx_libretro.so - SMS
gpsp_libretro.so - GBA (need bios)
gw_libretro.so - GAME AND WATCH
mednafen_psx_libretro_libretro.so - PSX
picodrive_libretro.so - MD
pocketsnes_libretro.so - SNES
prboom_libretro.so - DOOM (with doom1 shareware)
snes9x_next_libretro.so - SNES
stella_libretro.so - ATARI 2600

Makefiles: http://www.mediafire.com/download/efleycnoyngoisz/Makefiles.zip

I don't have the device so i can test it. For information, DavidKnight has created a thread on our board: http://www.open-consoles.com/t9579-gcw0-retroarch-development-progress

Thanks guys!
« Last Edit: February 24, 2016, 06:35:04 pm by SpikeSpiegel »
_____________________________________________________
[OPEN-HANDHELDS-NEWS]: http://www.scoop.it/t/fth-oc-news
[OPEN-CONSOLES]: http://www.open-consoles.com/ | http://www.open-consoles-news.com/

zhongtiao1

  • Posts: 249
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #37 on: February 24, 2016, 03:33:08 pm »
Guys, i'll be working on cores later today. Hopefully I can get the PCFX core working as well as optimising the 4DO and Jaguar cores.

Durrsly

  • Posts: 12
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #38 on: February 27, 2016, 02:42:34 am »
Hi, i am SpikeSpiegel from the Open-Consoles community (www.open-consoles.com). We are specialized on emulation and handheld consoles.
First thanks for all of your works, it's great! I am following retroarch since many years now, this multi-platform emulator is amazing, it's a good thing that now it can run on Zero.

Here i have compiled some cores by following instructions from the first post.
Download: http://www.mediafire.com/download/b2qcib5g1i2a14t/cores-gcw0-20160224.zip

fceumm_libretro.so - NES
gambatte_libretro.so - GB/GBC
genesis_plus_gx_libretro.so - SMS
gpsp_libretro.so - GBA (need bios)
gw_libretro.so - GAME AND WATCH
mednafen_psx_libretro_libretro.so - PSX
picodrive_libretro.so - MD
pocketsnes_libretro.so - SNES
prboom_libretro.so - DOOM (with doom1 shareware)
snes9x_next_libretro.so - SNES
stella_libretro.so - ATARI 2600

Makefiles: http://www.mediafire.com/download/efleycnoyngoisz/Makefiles.zip

I don't have the device so i can test it. For information, DavidKnight has created a thread on our board: http://www.open-consoles.com/t9579-gcw0-retroarch-development-progress

Thanks guys!

I tried the PicoDrive, SNES9x, Gambatte, gpSP, Mednafen, and PRBoom cores so far.
PicoDrive runs at around 55 FPS, SNES9x ran at 30 FPS, Gambatte ran fine, while the other two crashed back to the desktop.
« Last Edit: February 27, 2016, 02:48:51 am by Durrsly »

SpikeSpiegel

  • Posts: 15
    • [OPEN-HANDHEDS-News]
Re: [TEST RELEASE] RetroArch for GCW0
« Reply #39 on: February 27, 2016, 09:28:03 am »
Hi @Durrsly thanks for feedbacks, for prboom_libretro.so you need to place prboom.wad into your rom folder (available into Makefiles.zip). For gpsp you need a gba bios. Hope this could help you.
_____________________________________________________
[OPEN-HANDHELDS-NEWS]: http://www.scoop.it/t/fth-oc-news
[OPEN-CONSOLES]: http://www.open-consoles.com/ | http://www.open-consoles-news.com/

 

Post a new topic
Post a new topic