notaz / pcsx_rearmed Goto Github PK
View Code? Open in Web Editor NEWARM optimized PCSX fork
License: GNU General Public License v2.0
ARM optimized PCSX fork
License: GNU General Public License v2.0
I'm just going to leave here the same thing i left on the pcsxr project page, because as far as i can see the code for this is the same:
Apparently, although the project supports pbp, you can't actually choose the internal iso to use when selecting a pbp file in the 'Switch ISO' option.
This is probably because it's always selecting the first. I looked at the libpcsxcore/cdriso.c:handlepbp function and i frankly don't understand it, but it looks like since it takes no parameter besides the filename, either it's building a index array of all the underlying img files inside the pbp or selecting a 'default one' or both.
Therefore if it's both, there is a user facing operation missing, where the user can ask to select another internal iso instead of always the default (first i think).
As for GUI, i'd prefer if instead of overloading the 'Switch ISO' for pbp files adding a multiselect entry (like the save state entry below) that is only enabled for .pbp where you could choose any of the multiple imgs inside the pbp as 'selected'.
This would allow either changing the file itself (if someone is using multiple formats per multidisc game or segmented multiple disc pbps for some reason) or just choosing another image in the same pbp file.
Or you could be lazy and have a specialized popup in addition (after selecting the pbp on the 'Switch ISO') or replacing the filechooser (if you don't care about multiple format segmentation with pbp).
I'd prefer the first option for obvious reasons.
Notice that epsxe has a popup, and it only works in windows (so in practice the result is the same in linux).
As audio is the only remaining significant thing I can find wrong with rearmed emulation since I started using it some months ago (thanks!), I'm finally making a ticket to at least gather some information.
I originally mentioned it in my other ticket - currently summoning Guardian Forces (e.g. Quezacotl) makes it 'look' like the current audio code drops sound effects when it gets overwhelmed - faster examples are casting the Dispel and Blind magics - being a long-time player I can tell the sound is pretty mangled.
Some searching shows that this is discussed elsewhere too - apparently there is an improved version of the audio plugin, v1.10b, but it is Windows-only.
I have had a quick look at the code, and clearly there is still GNU/Linux code there (ALSA source in a 'Windows only' build??) - I have a little C/C++ experience, am wondering how stupid I would be to think of porting this as a possible future 'fun' project, since I have no emulation, embedded or sound experience ;)
Aside from that, do you have any plans to improve the audio plugin based on the above? Has your source already diverged too much from the original?
Thanks for any feedback.
I compiled pcsx by downloading source with standard settings on RPi.
i can use all gpu plugins except the gles one. just gives a blackscreen...
i up too the lunar cry videos after that my chacter not moving i press button doesnt i got the save state with me file its call ff8 state1 disk 3 and srm file on win rar ok test it out please fix it new version for iphone.
i give u my rar file and what ur email address notaz i sent it to u my gmail account beacuse i cant upload win rar file on github.
There seems to be some weird screen pitch issue when running Jumping Flash 2 (NTSC-U - SCUS-94108). The image is of ccd/img/sub format.
FMV is fine and one of the intermission screens outputs correctly as well - however - the rest of the screens seem to all have a pitch issue of some sort because the graphics come out as distorted.
Here are some screenshots to illustrate this.
Can you reproduce this issue on ARM Linux?
I'm using the libretro port to test this - ARMv7a build with NEON GPU plugin. It's also using the real BIOS.
I can not see the focus of the selected item at directory/file listings when background is black.
The focus (which consist in a pixel darkening) doesn't make any change in the background when this is black, as example as result of incorrect/missing background defined at skin or pressing ESC key while the game is at a black or partial black state.
I made a fix for this in the PCSX_REARMED code, at pcsx_rearmed/frontend/libpicofe/menu.c at function draw_dirlist:
darken_ptr = (short *)g_menuscreen_ptr + g_menuscreen_w * max_cnt/2 * me_sfont_h;
menu_darken_bg(darken_ptr, darken_ptr, g_menuscreen_w * me_sfont_h * 8 / 10, 0);
-- x = 5 + me_mfont_w + 1;
++ x = 5 + 2 * me_mfont_w + 1;
if (start - 2 >= 0)
-- smalltext_out16(14, (start - 2) * me_sfont_h, curdir, 0xffff);
++ smalltext_out16(x, (start - 2) * me_sfont_h, curdir, 0xffff);
for (i = 0; i < n; i++) {
pos = start + i;
if (pos < 0) continue;
if (pos >= max_cnt) break;
if (namelist[i+1]->d_type == DT_DIR) {
smalltext_out16(x, pos * me_sfont_h, "/", 0xfff6);
-- smalltext_out16(x + me_sfont_w, pos * me_sfont_h, namelist[i+1]->d_name, 0xfff6);
++ if (i == sel)
++ smalltext_out16(x + me_sfont_w, pos * me_sfont_h, namelist[i+1]->d_name, 0xff00);
++ else
++ smalltext_out16(x + me_sfont_w, pos * me_sfont_h, namelist[i+1]->d_name, 0xfff6);
} else {
unsigned short color = fname2color(namelist[i+1]->d_name);
-- smalltext_out16(x, pos * me_sfont_h, namelist[i+1]->d_name, color);
++ if (i == sel)
++ smalltext_out16(x, pos * me_sfont_h, namelist[i+1]->d_name, 0xff00);
++ else
++ smalltext_out16(x, pos * me_sfont_h, namelist[i+1]->d_name, color);
}
}
So, with this change not only the selected item (directory or file) darkens the background, also the selected item change its foreground color, and so, the selected item is clearly different even with a black or partial black background.
Maybe there is a better way to fix this issue but this is the first way I found after a fast reading of the pcsx_rearmed code.
Since r18, I just get a black screen with a frozen mouse cursor when I try running this on the Raspberry Pi without an X server. Older versions used to work fine without X.
It is the new 512 MB model B and I am on a fully updated Raspbian.
pcsx_rearmed only works when I run it inside of X or use the libretro build.
Any ideas?
Here is the full strace output if it helps (about 3 MB)
https://docs.google.com/file/d/0B-PSbqQESZw9R3JmdV83cVEwa1E/edit
Setting pcsx_rearmed_pad1type to "standard", I have no issues in any game I've tried.
Setting it to "analog", however, makes controlling Final Fantasy VIII battle menus a nightmare. The directionals (even the hat) and action buttons on the gamepad are registered anywhere from 0-2 times per press. Navigation and intentional selections are near impossible. But strangely enough, this is only in the battle menus, and only with pad1type set to analog. All other menus are fine, battles are fine in standard mode. This appears to be specific to pcsx_rearmed as this doesn't happen in any other RetroArch system under the same input config, however I don't have another PSX core to test against.
RetroArch on a Raspberry Pi 2 B (via RetroPie v3.0). This happens on two different Logitech gamepads, as well as keyboard controls.
This is what works: If I first run startx, and then head into the terminal and launch pcsx, the emulator launches successfully. But when I try starting it, without X, I only get a black screen and the following terminal output:
/lib/libts-0.0.so.0: cannot open shared object file: No such file or directory
Could not open touchscreen warning: video overlay is not hardware accelerated, not going to use it.
Device: Raspberry Pi Model B+
OS: Raspbian (latest, released: 2015-05-05)
Some issues with the default settings using the neon gpu
1.)Threads of fate has some weird polygon syndrome(play a new game using the girl)
2.)The battle transition in Final fantasy VIII is not rendered corretcly while the battle swirl in Final Fantasy VII is very inaccurate
3.)ON a battle in Final fantasy VII,every time
a.a characyer or enemy attacks,
b.The number indicating the damage or incured or the hp recovered is shown,
the dithering in the background disappears.This does not certainly happen on a psx console
4.)This one is not really an issue but is a request
Dithering is missing on scenes with pre-rendered backgrounds(I noticed it in Final fantasy IX on the prima vista crash site but is still found on other games) and on FMVs.On a real psx,there is dithering on the said scenes
I've built the latest (r22) version of pcsx_rearmed libretro core on my odroid c1 and input from a second controller is ignored. I have tried numerous controllers and setups and it is only the second player's controller whose input is always ignored. I know both controllers works and the retroarch config files are set up properly as removing a single controller has things work again.
Any help is appreciated.
After having an OpenPandora to test PCSX ReARMed on, it occurred to me that something is up with the libretro port in specific -
This happens with the libretro port even on hardware that is way more powerful than - say - an OpenPandora (like an iPad 2/Mini) - it could be a blitting issue (especially since the menu screen seems to be rendered at 640x224) where the Pandora port is quicker but somehow I doubt it would be that slow just for the main menu when the game ingame is running at fullspeed (and that is running at 640x224 as well).
Are there still issues to do with frameskip that are causing this? Is it some kind of edge case to do with libretro/RetroArch?
Hi everyone,
I use the last PiMAME 0.7.7 image on my raspberry pi and run the pcsx-reARMed.
I have a strange problem with my Logitech Dual Action Gamepad (G-UD8).
All buttons work correctly except for the analog sticks and d-pad.
pcsx-reARMed sees the left analog stick as button /0x00 and not as an analog stick at all.
D-pad is not working at all.
The left analog stick works fine in the pcsx menu where you select the BIOS and other configuration options, including button mapping.
Here is my button mapping from the pcsx.cfg
binddev = sdl:Logitech Logitech Dual Action
bind \x00 = player1 UP
bind \x00 = player1 DOWN
bind \x00 = player1 LEFT
bind \x00 = player1 RIGHT
bind \x00 = player1 L3
bind backspace = Fast Forward
bind escape = Enter Menu
bind \xA0 = player1 SQUARE
bind \xA1 = player1 CROSS
bind \xA2 = player1 CIRCLE
bind \xA3 = player1 TRIANGLE
bind \xA4 = player1 L1
bind \xA5 = player1 R1
bind \xA6 = player1 L2
bind \xA7 = player1 R2
bind \xA8 = player1 START
bind \xA9 = player1 SELECT
bind \xAB = player1 R3
bind f1 = Save State
bind f2 = Load State
bind f3 = Prev Save Slot
bind f4 = Next Save Slot
bind f5 = Toggle Frameskip
bind f6 = Take Screenshot
bind f7 = Show/Hide FPS
bind f11 = Toggle fullscreen
When I try to load this invalid (Saturn) game, I get stuck in an infinite loop: http://www.gametronik.com/site/fiche/saturn/Nights%2520into%2520dreams%2520%2528E%2529/
It should fail instead
Just to explain you why I try to feed a Saturn game to PCSX: I am writing a libretro frontend which choose the core by the file's extention and, in case of multiple cores available for the extension, try to load the games whith each cores until one or no loading passes (which happen often with CD based consoles). And PCSX comes before Yabause. =p
selecting the "restart content" option on retroarch while pcsx-rearmed is running freezes the app.I have tested many versions of retroarch old and new it always happens with pcsx-rearmed r22 (i copied the .so file of pcsx-rearmed r22 on the root directory of retroarch.)
r19 works fine though
Hi,Tnx for great work
Pcsx rearmed isn't working on Android 5 devices.here is the logcat log
I/RetroArch(16856): Creating Native Activity: 0xb85fab28
I/RetroArch(16856): Waiting for Android Native Window to be initialized ...
I/RetroArch(16856): Creating Native Activity: 0xb8618600
I/RetroArch(16856): Waiting for Android Native Window to be initialized ...
I/RetroArch(16856): Start: 0xb8618600
I/RetroArch(16856): Resume: 0xb8618600
I/RetroArch(16856): InputQueueCreated: 0xb8618600 -- 0xb861b080
I/RetroArch(16856): Attaching input queue to looper
I/RetroArch(16856): NativeWindowCreated: 0xb8618600 -- 0xb861bf30
I/RetroArch(16856): Android Native Window initialized.
I/RetroArch(16856): WindowFocusChanged: 0xb8618600 -- 1
W/System.err(16856): java.lang.NoSuchMethodError: no non-static method "Lsoorena/cooloop/EmulatorActivity;.onRetroArchExit()V"
I/RetroArch(16856): Checking arguments passed from intent ...
I/RetroArch(16856): Config file: [/storage/emulated/0/Cooloop/consoles/config.cfg].
I/RetroArch(16856): Libretro path: [/data/app/soorena.cooloop-1/lib/arm/libplaystation.so].
I/RetroArch(16856): Auto-start game /storage/emulated/0/Cooloop/roms/3527/3527.cue.
I/RetroArch(16856): start state path: [/storage/emulated/0/Cooloop/roms/3527/start.state].
I/RetroArch(16856): temp state path: [/storage/emulated/0/Cooloop/temp/temp.state].
W/Bundle (16856): Key isMultiplayer expected Integer but value was a java.lang.Boolean. The default value 0 was returned.
W/Bundle (16856): Attempt to cast generated internal exception:
W/Bundle (16856): java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.Integer
W/Bundle (16856): at android.os.BaseBundle.getInt(BaseBundle.java:800)
W/Bundle (16856): at android.content.Intent.getIntExtra(Intent.java:4746)
W/IInputConnectionWrapper(13756): showStatusIcon on inactive InputConnection
I/RetroArch(16856): Using content: /storage/emulated/0/Cooloop/roms/3527/3527.cue.
I/RetroArch(16856): cpuinfo_len is (401):
I/RetroArch(16856): Processor : ARMv7 Processor rev 2 (v7l)
I/RetroArch(16856): processor : 0
I/RetroArch(16856): BogoMIPS : 13.53
I/RetroArch(16856):
I/RetroArch(16856): processor : 1
I/RetroArch(16856): BogoMIPS : 13.53
I/RetroArch(16856):
I/RetroArch(16856): processor : 2
I/RetroArch(16856): BogoMIPS : 13.53
I/RetroArch(16856):
I/RetroArch(16856): processor : 3
I/RetroArch(16856): BogoMIPS : 13.53
I/RetroArch(16856):
I/RetroArch(16856): Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
I/RetroArch(16856): CPU implementer : 0x51
I/RetroArch(16856): CPU architecture: 7
I/RetroArch(16856): CPU variant : 0x0
I/RetroArch(16856): CPU part : 0x06f
I/RetroArch(16856): CPU revision : 2
I/RetroArch(16856):
I/RetroArch(16856): Hardware : QCT APQ8064 MAKO
I/RetroArch(16856): Revision : 000b
I/RetroArch(16856): Serial : 0000000000000000
I/RetroArch(16856):
I/RetroArch(16856): found cpuCount = 4
I/RetroArch(16856): found cpuArch = '7'
I/RetroArch(16856): found cpuProc = 'ARMv7 Processor rev 2 (v7l)'
I/RetroArch(16856): found cpuFeatures = 'swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 '
I/RetroArch(16856): [CPUID]: Features: NEON
I/RetroArch(16856): Loading config from: /storage/emulated/0/Cooloop/consoles/config.cfg.
I/ActivityManager( 547): Displayed soorena.cooloop/.EmulatorActivity: +404ms
I/WindowManager( 547): Screen frozen for +264ms due to Window{17e57527 u0 Starting soorena.cooloop}
I/RetroArch(16856): Loading dynamic libretro from: "/data/app/soorena.cooloop-1/lib/arm/libplaystation.so"
W/linker (16856): libplaystation.so has text relocations. This is wasting memory and prevents security hardening. Please fix.
I/RetroArch(16856): Environ SET_VARIABLES.
I/RetroArch(16856): Version of libretro API: 1
I/RetroArch(16856): Compiled against API: 1
I/PCSX (16856): Starting PCSX-ReARMed r15-369-g1b88529
I/PCSX (16856): Running PCSX Version 1.9 (Mar 9 2014).
I/PCSX (16856): psxMap: warning: wanted to map @1f800000, got 0xb3d22000
I/PCSX (16856): psxMap: warning: wanted to map @1fc00000, got 0xa4e12000
I/PCSX (16856): psxMap: warning: wanted to map @a5000000, got 0xa4e12000
I/PCSX (16856): Error allocating memory!
I/PCSX (16856): PSX emulator couldn't be initialized.
I/PCSX (16856): PCSX init failed.
I/WindowState( 547): WIN DEATH: Window{2e69e21f u0 soorena.cooloop/soorena.cooloop.EmulatorActivity}
I/Zygote ( 197): Process 16856 exited cleanly (1)
I/ActivityManager( 547): Process soorena.cooloop:emulator (pid 16856) has died
W/ActivityManager( 547): Force removing ActivityRecord{29f52f4b u0 soorena.cooloop/.EmulatorActivity t2526}: app died, no saved state
W/art (13756): Attempt to remove local handle scope entry from IRT, ignoring
I think I've already donated, but regardless thankyou again for making the first usable libre PSX emulator.
Since I'm getting back into FFVIII, I decided to knock up a command to start it up from a save state in one go. Unfortunately the following pndrun.sh command fails:
/usr/pandora/scripts/pnd_run.sh -p /media/pandora_1/pandora/menu/pcsx_rearmed_r18.pnd -e pcsx.sh -b pcsx_rearmed -a '-cdfile "/media/pandora_2/files/games/Final Fantasy VIII/Final Fantasy VIII (Europe) (Disc 3).cue"'
The following is logged:
=======================================================================================
PND : /media/pandora_1/pandora/menu/pcsx_rearmed_r18.pnd
PND_FSTYPE : Squashfs
APPDATADIR : /media/pandora_1/pandora/appdata/pcsx_rearmed
APPDD_FSTYPE : ext2
PND_CPUSPEED : <unset>
EXENAME : pcsx
ARGUMENTS : -cdfile "/media/pandora_2/files/games/Final Fantasy VIII/Final Fantasy VIII (Europe) (Disc 3).cue"
=======================================================================================
[ START ]--- Mount the PND ----------
Mounting : mount -t squashfs -o ro "/dev/loop0" "/mnt/utmp/pcsx_rearmed"
Mounting the Union FS : mount -t aufs -o exec,dirs="/media/pandora_1/pandora/appdata/pcsx_rearmed=rw+nolwh":"/mnt/pnd/pcsx_rearmed=rr" none "/mnt/utmp/pcsx_rearmed"
[SUCCESS]--- Mount the PND ----------
[ START ]--- Starting the application (pcsx -cdfile "/media/pandora_2/files/games/Final Fantasy VIII/Final Fantasy VIII (Europe) (Disc 3).cue") ----------
warning: failed to do hugetlb mmap (0x80000000, 2162688): 12
xenv: X vendor: The X.Org Foundation, rel: 10704000, display: :0.0, protocol ver: 11.0
xenv: display is 800x480
fbdev: /dev/fb0: 800x480@16
fbdev initialized.
fbdev: switching to 640x512@16
fbdev: /dev/fb1: 640x512@16
fbdev initialized.
in_evdev: found "keypad" with 84 events (type 00100013)
input: new device #0 "evdev:keypad"
in_evdev: found "nub0" with 3 events (type 00000007)
input: new device #1 "evdev:nub0"
in_evdev: found "nub1" with 3 events (type 00000007)
input: new device #2 "evdev:nub1"
in_evdev: found "gpio-keys" with 16 events (type 00000023)
input: new device #3 "evdev:gpio-keys"
# drv probed binds name
0 0 y y evdev:keypad
1 0 y n evdev:nub0
2 0 y n evdev:nub1
3 0 y y evdev:gpio-keys
found skin.txt
me_id2offset: id 28 not found
Running PCSX Version 1.9 (Jan 6 2013).
Init new dynarec
Loading memory card ./.pcsx/memcards/card1.mcd
Loading memory card ./.pcsx/memcards/card2.mcd
plugin: plugins/builtin_gpu
plugin: plugins/builtin_spu
plugin: plugins/builtin_pad
plugin: plugins/builtin_pad
Plugins loaded.
Error opening CD-ROM plugin!
[ FAILED]--- Starting the application (pcsx -cdfile "/media/pandora_2/files/games/Final Fantasy VIII/Final Fantasy VIII (Europe) (Disc 3).cue") ----------
[ START ]--- Restoring the frame buffer status ----------
[SUCCESS]--- Restoring the frame buffer status ----------
[ START ]--- uMount the PND ----------
[ START ]--- Waiting the Union to be available ----------
[SUCCESS]--- Waiting the Union to be available ----------
auplink:plink.c:223: AUFS_CTL_PLINK_MAINT: Inappropriate ioctl for device
rmdir: failed to remove `/mnt/utmp/pcsx_rearmed': Device or resource busy
[ START ]--- Waiting the PND mount dir to be free ----------
[SUCCESS]--- Waiting the PND mount dir to be free ----------
cleanup done
[SUCCESS]--- uMount the PND ----------
=======================================================================================
Return code is : 4
When started manually, the game works smoothly.
I tried compiling pcsx_rearmed on a Raspberry Pi, but I got the following error message:
g++ -o pcsx libpcsxcore/cdriso.o libpcsxcore/cdrom.o libpcsxcore/cheat.o libpcsxcore/debug.o libpcsxcore/decode_xa.o libpcsxcore/disr3000a.o libpcsxcore/mdec.o libpcsxcore/misc.o libpcsxcore/plugins.o libpcsxcore/ppf.o libpcsxcore/psxbios.o libpcsxcore/psxcommon.o libpcsxcore/psxcounters.o libpcsxcore/psxdma.o libpcsxcore/psxhle.o libpcsxcore/psxhw.o libpcsxcore/psxinterpreter.o libpcsxcore/psxmem.o libpcsxcore/r3000a.o libpcsxcore/sio.o libpcsxcore/socket.o libpcsxcore/spu.o libpcsxcore/gte.o libpcsxcore/gte_nf.o libpcsxcore/gte_divider.o libpcsxcore/gte_arm.o libpcsxcore/new_dynarec/new_dynarec.o libpcsxcore/new_dynarec/linkage_arm.o libpcsxcore/new_dynarec/pcsxmem.o libpcsxcore/new_dynarec/emu_if.o plugins/dfsound/dma.o plugins/dfsound/freeze.o plugins/dfsound/registers.o plugins/dfsound/spu.o plugins/dfsound/out.o plugins/dfsound/nullsnd.o plugins/dfsound/arm_utils.o plugins/dfsound/oss.o plugins/dfsound/alsa.o plugins/dfsound/sdl.o plugins/dfsound/pulseaudio.o plugins/gpulib/gpu.o plugins/gpulib/vout_pl.o plugins/gpu_unai/gpulib_if.o plugins/gpu_unai/gpu_arm.o plugins/cdrcimg/cdrcimg.o plugins/dfinput/main.o plugins/dfinput/pad.o plugins/dfinput/guncon.o frontend/cspace.o frontend/cspace_arm.o frontend/libpicofe/in_sdl.o frontend/libpicofe/plat_sdl.o frontend/libpicofe/plat_dummy.o frontend/libpicofe/linux/in_evdev.o frontend/plat_sdl.o frontend/libpicofe/gl.o frontend/libpicofe/gl_platform.o frontend/plugin_lib.o frontend/libpicofe/linux/plat.o frontend/libpicofe/readpng.o frontend/libpicofe/fonts.o frontend/menu.o frontend/libpicofe/input.o frontend/main.o frontend/plugin.o -L/usr/lib -lSDL -lpthread -lpulse -lasound -lpng -ldl -lm -lpthread -lz -lasound -lEGL -lGLESv1_CM -L/opt/vc/lib -Wl,-Map=pcsx.map
frontend/libpicofe/gl_platform.o: In function gl_platform_init': /home/gyeben/pcsx_rearmed/frontend/libpicofe/gl_platform.c:113: undefined reference to
bcm_host_init'
frontend/libpicofe/gl_platform.o: In function get_window_rect': /home/gyeben/pcsx_rearmed/frontend/libpicofe/gl_platform.c:39: undefined reference to
graphics_get_display_size'
frontend/libpicofe/gl_platform.o: In function submit_rect': /home/gyeben/pcsx_rearmed/frontend/libpicofe/gl_platform.c:81: undefined reference to
vc_dispmanx_display_open'
/home/gyeben/pcsx_rearmed/frontend/libpicofe/gl_platform.c:82: undefined reference to vc_dispmanx_update_start' /home/gyeben/pcsx_rearmed/frontend/libpicofe/gl_platform.c:84: undefined reference to
vc_dispmanx_element_add'
/home/gyeben/pcsx_rearmed/frontend/libpicofe/gl_platform.c:92: undefined reference to vc_dispmanx_update_submit_sync' frontend/libpicofe/gl_platform.o: In function
gl_platform_finish':
/home/gyeben/pcsx_rearmed/frontend/libpicofe/gl_platform.c:125: undefined reference to vc_dispmanx_display_close' /home/gyeben/pcsx_rearmed/frontend/libpicofe/gl_platform.c:126: undefined reference to
bcm_host_deinit'
collect2: error: ld returned 1 exit status
Makefile:249: recipe for target 'pcsx' failed
make: *** [pcsx] Error 1
So I'm trying to build for iOS and I am getting this error when I try to build. Is there an issue with the core or something?
clang: warning: argument unused during compilation: '-mtune=cortex-a8'
clang: warning: argument unused during compilation: '-mno-thumb'
clang: warning: argument unused during compilation: '-D IOS'
clang: warning: argument unused during compilation: '-fPIC'
clang: warning: argument unused during compilation: '-Wall'
clang: warning: argument unused during compilation: '-I include'
clang: warning: argument unused during compilation: '-ffast-math'
clang: warning: argument unused during compilation: '-D NDEBUG'
clang: warning: argument unused during compilation: '-D FRONTEND_SUPPORTS_RGB565'
clang: warning: argument unused during compilation: '-D NO_FRONTEND'
libpcsxcore/gte_neon.S:182:20: error: invalid operand for instruction
vqshl.u32 d11, #15
^
libpcsxcore/gte_neon.S:427:19: error: invalid operand for instruction
vqshl.u32 q8, #15
^
make: *** [libpcsxcore/gte_neon.o] Error 1
make: *** Waiting for unfinished jobs....
Failed to build PCSX ReARMed
cp: pcsx_rearmed_libretro_ios.dylib: No such file or directory
I and several others have been having an issue where even attempting to load the core on JB 6.0 ipad4 causes the screen to flash briefly, and reboot the device. Other emulators that reportedly require JIT to function work without issue (PPSSPP, and the NDS4IOS). Is there some special build required for 6.0? Please tell me there is!!
I wish I didn't have to do this! Apparently I caused this issue myself when I chose to stay put at 6.0 jailbroken (as users in 6.1.2 even on the ipad4 do not have this issue)
Assuming you respond as I expect you will (that there is nothing you can do to test or resolve because you yourself are at 6.1.2 and it's working there), is there anything I could try/do to help the process? I have already searched for log files, but it appears the crash is so instantaneously severe that none are made. I would love to capture a crash report for you (if that would help)... Where should I look for instructions on how to accomplish that (keeping in mind that I only have a snow lepoard hackintosh at my disposal currently).
I will do whatever possible to get this working, please give me orders! In any case, thank you so much for your hard work!! From what I have read, your pcsx_rearmed rocks! (and I am dying to try it myself)
It now uses LLVM instead and it crashes hard on the old code at least.
For now I can still make iOS 6 builds for jailbroken users- but as iOS 7 gets eventually jailbroken it does become a priority to get this to work on the modernday Clang that is inside Xcode 5/iOS 7 SDK.
Would you consider it worthwhile to get the ASM code backwards compatible with LLVM in future?
If you feel up to it, I can let you dial into my OSX box again.
Hello,
I'm using rearmed on raspberry pi using libretro implementation and I wanted to ask you something.
Could you please make the emu write down the memory cards modifications while running ?
Sometimes (really rarely) the games crashes and I lose all my game progress since I started the emu. To avoid this problem, I'm exiting the emu from time to time, but is there another turnaround ?
PCSX ReARMed isn't working on the Raspberry Pi 2. The libretro core works, but not the standalone version.
stingray101 from the Raspberry Pi forums found that it works after changing a memory address in psxmem.c, but doesn't know why:
http://www.raspberrypi.org/forums/viewtopic.php?p=722911#p722911
Any ideas?
Hi,
I've been doing the Blackberry Playbook port of RetroArch - I've gotten things up and running but it seems I have now discovered what could potentially be a showstopping bug in the hardware that would affect a port of PCSX ReARMed libretro to Playbook.
I'm wondering if you might be aware of this.
Themaister/RetroArch@fbb8356#commitcomment-2705165
http://forums.crackberry.com/playbook-apps-games-f243/reason-why-9mm-hd-so-glitchy-727292/
[quote]
The Playbook contains an OMAP4430 chip that has NEON errata and can not accurately run NEON code. The result of running NEON code on Playbook is 1) a huge speed up and 2) glitchy graphics and potentially random crashes.
RIM recommends compiling all code without NEON instructions and yet Gameloft compiled this game with NEON. From my inspection of the binaries involved, I found well over 1000 NEON instructions being used. In particular, it is found in all functions that are known to be buggy in the Playbook version of the game.
Unfortunately, when the game is compiled without NEON, it may become unbearably slow or have reduced graphics.
The best solution for Gameloft would be to implement a workaround of the OMAP4430 errata so that the NEON instructions function correctly. Documentation for these workarounds exist online.
[/quote]
Do you happen to know of any issues related to TI OMAP4430 and NEON and if so, is the NEON ASM code in PCSX ReARMed already set up for this?
Also, in that same thread - some kind of 'workaround' is posted. Is that a solution for this and if so, is it stable enough?
[quote]
Yeah, the solution (workaround) is to add NOPs after these points.
Example:
And then:
...
static inline void speed_up_func() {
// some NEON code here
WORKAROUND_NOP
}
[/quote]
I was wondering if you have any insight to share on this issue.
I am just dumbfounded at what a minefield the mobile landscape is to be honest - it's one nasty surprise after the other. How can any dev target NEON ASM and expect things to 'just work' in a portable fashion given all these potentially buggy SoCs out there?
iOS and Android both have main UI threads that can't be interrupted for too long by any other process/thread. If some thread is blocking, an "Application Not Responding" errror can occur on Android, and in iOS' case, the UI thread will simply kill the entire app.
The source of all problems with people who cannot get PCSX ReARMed to work on iOS even though they can run the code and they have a dynarec-capable jailbreak is to do with the fact that a dynarec task is blocking the UI thread.
One way around this would be to run the dynarec code on a thread so that the dynarec tasks can never block the main thread.
Windows Phone/RT works in a similar way and demands that all tasks be asynchronous for the same reasons (ie. a main thread that can never be blocked for too long). So this affects all mobile platforms post-Pandora really.
Hey there,
Running RetroArch under Linux via SDL meaning its RGUI isn't available to me. Wondering if I can configure the libreto version of pcsx-rearmed via some sort of a text config file :)
With the current version the emulator freezes on a black screen with a frozen mouse cursor when I try to load a game. I tried every GPU plugin with the same result.
Running on Raspbian without X
If you need additional info to debug this let me know.
Hi there. I am running the version of PCSX-Rearmed that ships with RetroPie v 2.6.
I am attempting to play Ape Escape (using a wireless xbox360 pad using xboxdrv run as a daemon) and when trying to run forward (hold the left joystick up) or swing my weapon forward (hold the right joystick up) these actions are not fully recognized.
After doing some research, this is a problem in many emulators (particularly ePSXe, though) where the controller input isn't being mapped to the full range of the axis.
According to my research, Ape escape requires the left stick's y axis to be at 100% to reach a full run, otherwise it allows for analog control of walking speeds, and presumably the right stick's y axis must reach 100% to swing.
I am able to reach the full range of the left stick from the1 o'clock position all the way around to about the 11 o'clock position. It is only when purely trying to press the y axis all the way "up" that it doesn't work.
This is a common issue with this game, but I am wondering if anyone is aware of this issue, as Ape Escape is really "the" game when it comes to analog controls on the PS1.
Everything about this project is awesome, and I love you guys for it!
Since notaz requested a list of the sound problems,here it goes:
FF7
Sound:
*Cursor sound-not whole and sometimes sound is diff. for each movement(sound should be the same)
*The sound produced when equipping materia also is not whole
*At very beginning of the game when the train stops,the sound of steam or pressure is missing
In battle:
*Tifa's punches- sound is so 8-bit.It is supposed to sound like a punch
*Yuffie's attacks-the sound produced is only similar to a single 'tinkle'.It is supposed to sound like a slash.
*Machine gun sounds(from Barret and from some enemies)-it is missing an explosion-like sound at the end.
*Sound while the character summons-a sound effect is missing
*Sound while character is casting a spell-i think it is missing reverb? IDK but something is missing
*Majority of spells(especially fire and bolt spells)-missing explosion like sounds,electricity sounds and other stuff
Music in general-Missing reverb
FF8:
nearly the same as FF7
a sound effect when using diamond dust is missing
FF9:
Similar to FF8
The sound produced when equipping an ability is a bit short and silent(should be whole and loud)
sorry if i could not list all problems
The Internal (HLE) BIOS implementation is incomplete and has issues, so I'll just list the most reported breaking games here in single place. To get these games working, just provide authentic PSX BIOS ROM image, model usually doesn't matter.
It is desirable to have this improved to avoid file dependency, it was also observed on slow devices that some games run faster in HLE mode. Nocash has recently released some information that may help anyone wanting to improve this:
http://nocash.emubase.de/psx-spx.htm#kernelbios
Hi there,
just wanted to let you know we support RGB565 as a color format now - I saw the comment in the libretro.c file and just thought I should let you know about it as soon as we got around to adding it.
To use it, you should update your libretro.h to the latest one in the RetroArch repository and add this to retro_init:
[code]
enum retro_pixel_format rgb565 = RETRO_PIXEL_FORMAT_RGB565;
if(environ_cb(RETRO_ENVIRONMENT_SET_PIXEL_FORMAT, &rgb565))
fprintf(stderr, "Frontend supports RGB565 - will use that instead of XRGB1555.\n");
[/code]
It's just a matter of setting up colors for RGB565 then in your emu core.
Depending on whether or not setting color formats is a runtime or compile-time option, you could put ifdefs around this so that backwards compatibility with older libretro-compatible frontends that don't support RGB565 is still retained. I use a define called 'FRONTEND_SUPPORTS_RGB565' for emulators where setting the color format is a compile-time option.
As the other bug report says, the only way to use .ecm with this 4 disc game now is to simulate the bios. In addition, whenever you need to change discs, it will not recognize the new disc as valid if it's a .ecm. Since only the simulate bios option works, no other bios was tested.
You can test this by making a savegame on disc 1 (a while into the game), booting disc 2 and then trying to load the savegame (while using .ecms). It will try to load, ask to change disc, but blackscreen forever. If you try to insert a normal img on the disc change (even if using a .ecm for the boot disc), it will load.
As of libpng 1.5, structs such as png_infop are opaque. Some code in pcsx references members of this struct:
/* The complete definition of png_info has, as of libpng-1.5.0,
* been moved into a separate header file that is not accessible to
* applications. Read libpng-manual.txt or libpng.3 for more info.
*/
typedef struct png_info_def png_info;
typedef png_info FAR * png_infop;
typedef PNG_CONST png_info FAR * png_const_infop;
typedef png_info FAR * FAR * png_infopp;
This causes some issues:
frontend/common/readpng.o frontend/common/readpng.c
frontend/common/readpng.c: In function 'readpng':
frontend/common/readpng.c:71:16: error: dereferencing pointer to incomplete type
frontend/common/readpng.c:73:71: error: dereferencing pointer to incomplete type
frontend/common/readpng.c:76:21: error: dereferencing pointer to incomplete type
frontend/common/readpng.c:79:20: error: dereferencing pointer to incomplete type
The game display a black screen after 3rd screen on rpi2, it seems to run perfectly on x86_64.
I tried the same english patched iso on both device.
For the record, "iS : Internal Section" is an awesome shoot'them'up by squaresoft on psx (they didn't stop at einhander), and a precursor to Rez.
Hello,
When playing Speed Punks, most of the textures are black.
It's probably a ligthning problem because, when inrace, most textures are overbright.
Not sure if this is too specific a bug for here.
When you summon a GF with Boost ability learnt, during parts of the summon sequence a small image of a finger pointing at a square button appears - when this does, you are supposed to hammer square to get the boost from 75 to 255 (IIRC). Not all of the sequence allows you to boost - parts of it forbidden - a cross icon appears over the hand and any square press resets the count.
On the PlayStation, the hand icon flickers for a short time just before the cross icon appears - this flickering does not happen on pcsx-rearmed, so you just see the hand icon and suddenly a cross.
Makes boosting a GF rather challenging :) Will probably have to remember the seconds on which I can boost.
I can provide a save if needed.
I'm getting segfault with the non neon libretro core, ubuntu 14.04 for arm (odroid u3)
RetroArch [ERROR] :: dylib_load :: dylib_load() failed: "/usr/lib/libretro/pcsx_rearmed_libretro.so: undefined symbol: gteMVMVA_part_neon".
Segmentation fault
Builded with make -f Makefile.libretro platform="armv hardfloat"
How am i supposed to configure pcsx-rearmed-libretro for 3-4 players ? I didn't see anything about that in core option, no multitap option in retroarch input settings either.
As the title suggests, there's a strange issue that only seems to occur on the latest version. I went back to r19 and the game plays flawlessly.
Basically, a guaranteed way to reproduce this is to load up a test drive on the "Route Adonf" track using a Porsche 911 or Ferrari F50. Select manual transmission, and try playing. Many inputs are either delayed or lost entirely. Shifts, changing camera, steering, it's all affected. Audio and video are perfect, which is what baffles me. Possible issue of how it was packed into a libretro core? I tried playing with the emulator's settings and doing things like turning off Vsync and threaded rendering. Nothing I did made a difference. It does seem like it's something to do with the internal timing of the game, because sometimes it can't attain 30FPS (like many PS1 titles). I also tried turning off the new Reverb effects (and sound entirely) to no avail.
Please investigate and see if you can reproduce the issue, thanks.
I was running into a crash on exit in a seemingly random library, and I've tracked it down to a psxUnmap call. It looks like the physical address is being passed as the size. Let me know if this is correct.
See the commit here:
https://github.com/CatalystG/libpcsx-rearmed-bb10/commit/cad7ac0339de7dc0ec46cffbb4c23857d40f607c
Not sure if I have to report such issue here or on another place. So please forgive me if I posted at the wrong location. I come in peace :)
This issue is about Metal Gear Solid. It's pretty easy to reproduce. Instead of the white flash which usually announces/opens a cut scene there is a pixel mess with a kind of stroboscopic effect. Really weird. Let me attach a screenshot as it's worth a thousand words I guess. The first time you face it is right after the very first elevator, after Snake takes his swimsuit off. It appears again just a few seconds later when Snake stares at the Hind-D. Pixel mess every time for sure.
I'm using a RP2, latest Retropie version (3.0 final), this core (https://github.com/libretro/pcsx1-libretro) freshly built (but same behavior with the rearmed core). Core options all by default/auto. No video enhancement turned on or something. I'm using bios SCPH1001.BIN but it makes no difference as same behavior occurs with any other bioses.
Being french I'm playing with the FR version of the game (not the Integral or Special version of the game). Didn't try with another version but I could do so if that helps.
Thanks for your help and assistance.
Ported your latest code to the BlackBerry Z10 and ran into the following bug. In pl_vout_set_mode, the following check will cause issues if forced 16-bit is enabled (pl_rearmed_cbs.only_16bpp):
if (soft_filter) {
if (resolution_ok(w * 2, h * 2) && bpp == 16)
If bpp in this case is suppose to be 24 bpp but has been forced to 16 bpp and resolution_ok passes, then you get rendering only in the top quarter of the screen (w and h double, but the x2 scaling doesn't happen). This is reproducible on the FF7 new game cinematic.
I replaced bpp==16 with a check of the gpu rgb24 status which solves the problem. Not sure if there is a cleaner way.
When playing Ridge Racer turbo,the internal frame in the game would dip from 60 in-game fps to 20 and below fps.It is supposed to run at a constant 60 fps.It's as if pcsx is runing an underclocked playstation when running this game.It is running at constant 100% on pcsx though(the framerate is just emulated incorrectly)
Tested this out today, seems like the runtime .ecm uncompress procedure makes something disagree with the emulation.
The same .ecm uncompressed and turned into a .img it works fine. I used the ubuntu ecm package to compress and uncompress.
This is regardless of another compression on top like zip or 7z or not.
I'm using the libretro port to test these games on Android. GPU plugin used therefore is NEON GPU, sound is nullsnd (I presume). The port is compiled for ARMv7a.
Hopefully these bug reports can prove to be of some use to you.
Tomb Raider - Greatest Hits (NTSC-U) - SLUS-00152
As soon as I press Start or Select ingame it will crash/freeze - by pressing Start it is supposed to normally 'pause' and by pressing Select it's supposed to bring up a ring item select menu.
Ridge Racer Revolution - (NTSC-U) - SLUS-00214
Controls seem to work up until the point where the race begins. All of a sudden controls no longer work - can't press the accelerator, can't do anything.
Will be followed up soon by more bug reports.
pls close if false.
SOME games(I tested ff7 and ff9) ran faster(or maybe it was the music that ran too fast.unsure) than it should.It ran around 61-63 frames per second.
Hi :-)
I tried to compile pcsx_rearmed, but it failed in missing revision.h which is included in frontend/libretro.c.
I created my own revision.h with
in it, not knowing what this variable does exactly, and the compile continues.
This is a very minor nitpick but it is still a legit issue.
The NTSC versions of Final fantasy VII have black top and bottom borders on all parts except on the world map(this also happens on other ps1 emus like epsxe and fpse).On the transition from the world map into a field or on battle,the screen suddenly squishes to make room for the black borders.Pictures below is PCSX-ReArmed on android
This is not what happens on a real console or on much more accurate emus like Mednafen's(shown below.Notice how everything seems taller)
The black Borders are normal on the PAL version of the game though.This is quite annoying since it squishes the graphics
Is this a bit flaky? I tested it - albeit on the main pcsxr-unstable on linux - and it sometimes works, with some files, sometimes it dumps me to the bios as if no cd was there (with slow boot). Both files are 7z .ecm + ccd and both have the same internal folder structure (a single dir with the standardized name containing the files)
P strange (they uncompress fine and work uncompressed).
The game is Koudelka CD1, a 7z'ed ecm of it blackscreens on boot (with fast boot) but a uncompressed ecm goes on to work fine.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.