finalburnneo / FBNeo

FinalBurn Neo - We are Team FBNeo.
http://neo-source.com
Other
936 stars 365 forks source link

Neo Cd on PS3 #355

Closed crystalct closed 4 years ago

crystalct commented 4 years ago

Many CDs tested on PS3, but every time blank screen. To investigate i tested them on PC and they work correctly. Retroarch logs show all correct, finally i tested on emulator RPCS3 to investigate furter... i found this: SYS: 'sys_rsx_memory_allocate' failed with 0x80010004 : CELL_ENOMEM [1] Is it a death sentence?

barbudreadmon commented 4 years ago

SYS: 'sys_rsx_memory_allocate' failed with 0x80010004 : CELL_ENOMEM [1]

translation please ! i don't think there is anyone knowledgeable about ps3 here

crystalct commented 4 years ago

RSX is its graphic chip.. failed video memory allocation

barbudreadmon commented 4 years ago

so what ? rpcs3 bug ?

dinkc64 commented 4 years ago

I have no ps3 or any way of debugging this, so more info is needed: which point in fbn code this failed alloc. error happens?

dinkc64 commented 4 years ago

I did some logging, and would found: an average NeoGeo MVS (not cd) game uses about 17megs of ram a cd game uses about 14megs of ram. There's probably 2-5megs of overhead from cpu/soundcores/tilemap engine on top of that. so curiosly: do regular NeoGeo (non-cd) games work?

crystalct commented 4 years ago

Neo Geo MVS works fine (Sega CDs, but with another core, work fine, too) on PS3 Neo Geo CD blank/blak screen but no crash , like Mortal Kombat roms. One question, where is the layer that talk with the host Graphics card? Inside core on inside Retroarch layer ? If you want make some tests, to start PS3 pkg/self files, you can use RPCS3 emulator, if no PS3 modded is available for you.

barbudreadmon commented 4 years ago

One question, where is the layer that talk with the host Graphics card? Inside core on inside Retroarch layer ?

The core isn't hardware rendered, Retroarch is the one handling the rendering.

crystalct commented 4 years ago

So, the issue could be inside retroarch and not inside fbneo core.... very complex...

barbudreadmon commented 4 years ago

tbh, i doubt the issue is in retroarch, rendering-wise there is probably no reason for the ps3 core to crash the RSX with ngcd games while not crashing it with mvs games. i just think rpcs3 is giving useless and misleading information.

barbudreadmon commented 4 years ago

Just wondering, did you confirm your isos work on pc version of retroarch+fbn core ? fbn expects cue/bin dumps (single bin) or ccd/img/sub

barbudreadmon commented 4 years ago

Also, make sure to follow those guidelines :

crystalct commented 4 years ago

I used RPCS3 after tested the ISOs on PS3, just to see more infos. With PC those ISOs are working.

crystalct commented 4 years ago

I know it, with second method other subsystems are working on PS3.

barbudreadmon commented 4 years ago

Ok, just to eliminate another possible culprit, could you confirm you can run segacd cue/bin games with the genplusgx core on your ps3 ? After that, i guess only big endian issues would be remaining.

crystalct commented 4 years ago

With genplusgx, sega CDs work in all formats (also CHD [great]). Is Big endian issues the absolute evil?

barbudreadmon commented 4 years ago

Big endian issues is the absolute evil?

Yes, little endian is basically what everyone is using, so applications are generally only tested on them. On the other side, big endian is an architecture that was reading pointers another way, it was used in powerpc cpus (apple pre-2006, ps3, xbox360, gc/wii/wiiu, ...), i don't think it has been used in any device marketed for general customers in the last 10+ years, and that's a good thing...

dinkc64 commented 4 years ago

Just curious, can you confirm that you tested your NeoGeoCD images on a current PC version of FBNeo?

crystalct commented 4 years ago

Tested with current Retroach & fbneo core on PC and they work

barbudreadmon commented 4 years ago

@crystalct where did you get latest fbneo for ps3 ? the latest version i found was from january...

Nevermind, it seems the ps1light version contains fbneo

dinkc64 commented 4 years ago

At the very least, osman/joe and mac returns (dataeast) should - in theory(*) - work fine on big endian machines now.

best regards,

crystalct commented 4 years ago

I compile fbneo for PS3 and i try it. Thanks

crystalct commented 4 years ago

Nothing to do... still blank screen. From log file it seems all ok:

[INFO] Updating firmware status for: /dev_hdd0/game/FBNE00123/USRDIR/cores/fb_neo.SELF on /dev_hdd0/game/FBNE00123/USRDIR/cores/system [INFO] Using content: /dev_hdd0/ROMS/neocd/cd.cue. [INFO] arg #0: retroarch [INFO] arg #1: /dev_hdd0/ROMS/neocd/cd.cue [INFO] arg #2: -s [INFO] arg #3: /dev_hdd0/game/FBNE00123/USRDIR/cores/savefiles [INFO] arg #4: -S [INFO] arg #5: /dev_hdd0/game/FBNE00123/USRDIR/cores/savestates [INFO] arg #6: -c [INFO] arg #7: /dev_hdd0/game/FBNE00123/USRDIR/retroarch.cfg [INFO] arg #8: -v [INFO] Content ran for a total of: 00 hours, 00 minutes, 00 seconds. [INFO] Unloading game.. [INFO] Unloading core.. [INFO] Unloading core symbols.. [INFO] [CG]: Destroying programs. [INFO] [CG]: Destroying context. [INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames. [INFO] Redirecting save file to "/dev_hdd0/game/FBNE00123/USRDIR/cores/savefiles/cd.srm". [INFO] Redirecting savestate to "/dev_hdd0/game/FBNE00123/USRDIR/cores/savestates/cd.state". [INFO] === Build ======================================= [INFO] Capabilities: VMX [INFO] Built: May 22 2020 [INFO] Version: 1.8.5 [INFO] ================================================= [INFO] [Overrides] no core-specific overrides found at /dev_hdd0/game/FBNE00123/USRDIR/FinalBurn Neo/FinalBurn Neo.cfg. [INFO] [Overrides] no content-dir-specific overrides found at /dev_hdd0/game/FBNE00123/USRDIR/FinalBurn Neo/neocd.cfg. [INFO] [Overrides] no game-specific overrides found at /dev_hdd0/game/FBNE00123/USRDIR/FinalBurn Neo/cd.cfg.

[INFO] Special game type: CBS ColecoVision Ident: cv ID: 1 Content: [INFO] Rom (required) [INFO] Special game type: MSX 1 Ident: msx ID: 4 Content: [INFO] Rom (required) [INFO] Special game type: Nec PC-Engine Ident: pce ID: 5 Content: [INFO] Rom (required) [INFO] Special game type: Nec SuperGrafX Ident: sgx ID: 7 Content: [INFO] Rom (required) [INFO] Special game type: Nec TurboGrafx-16 Ident: tg16 ID: 9 Content: [INFO] Rom (required) [INFO] Special game type: Nintendo Entertainment System Ident: nes ID: 11 Content: [INFO] Rom (required) [INFO] Special game type: Nintendo Family Disk System Ident: fds ID: 12 Content: [INFO] Rom (required) [INFO] Special game type: Sega GameGear Ident: gg ID: 2 Content: [INFO] Rom (required) [INFO] Special game type: Sega Master System Ident: sms ID: 8 Content: [INFO] Rom (required) [INFO] Special game type: Sega Megadrive Ident: md ID: 3 Content: [INFO] Rom (required) [INFO] Special game type: Sega SG-1000 Ident: sg1k ID: 6 Content: [INFO] Rom (required) [INFO] Special game type: ZX Spectrum Ident: spec ID: 10 Content: [INFO] Rom (required) [INFO] Special game type: Neogeo CD Ident: neocd ID: 13 Content: [INFO] Iso (required) [INFO] Redirecting save file to "/dev_hdd0/game/FBNE00123/USRDIR/cores/savefiles/cd.srm". [INFO] Redirecting savestate to "/dev_hdd0/game/FBNE00123/USRDIR/cores/savestates/cd.state".

[INFO] Content loading skipped. Implementation will load it on its own. [libretro INFO] [FBNEO] subsystem neocd identified from parent folder [libretro INFO] Setting save dir to /dev_hdd0/game/FBNE00123/USRDIR/cores/savefiles [INFO] [Environ]: SYSTEM_DIRECTORY: "/dev_hdd0/game/FBNE00123/USRDIR/cores/system". [libretro INFO] Setting system dir to /dev_hdd0/game/FBNE00123/USRDIR/cores/system

[INFO] Controller port: 1 [INFO] Classic (ID: 5) [INFO] Modern (ID: 517) [INFO] Mouse (ball only) (ID: 773) [INFO] Mouse (full) (ID: 514) [INFO] Pointer (ID: 6) [INFO] Lightgun (ID: 4) [INFO] Controller port: 2 [INFO] Classic (ID: 5) [INFO] Modern (ID: 517) [INFO] Mouse (ball only) (ID: 773) [INFO] Mouse (full) (ID: 514) [INFO] Pointer (ID: 6) [INFO] Lightgun (ID: 4) [libretro INFO] DIP switches offset: 22. [libretro INFO] Initialize DIP switches.

[INFO] [Environ]: GET_VARIABLE fbneo-cpu-speed-adjust: 100 [INFO] [Environ]: GET_VARIABLE fbneo-allow-depth-32: enabled [INFO] [Environ]: GET_VARIABLE fbneo-vertical-mode: disabled [INFO] [Environ]: GET_VARIABLE fbneo-load-subsystem-from-parent: enabled [INFO] [Environ]: GET_VARIABLE fbneo-frameskip: 0 [INFO] [Environ]: GET_VARIABLE fbneo-diagnostic-input: Hold Start [INFO] [Environ]: GET_VARIABLE fbneo-hiscores: enabled [INFO] [Environ]: GET_VARIABLE fbneo-sample-interpolation: 4-point 3rd order [INFO] [Environ]: GET_VARIABLE fbneo-fm-interpolation: 4-point 3rd order [INFO] [Environ]: GET_VARIABLE fbneo-analog-speed: 100 [libretro INFO] [FBNEO] Archive: neocdz [libretro INFO] [FBNEO] Archive: neogeo [libretro INFO] [FBNEO] Using ROM with good CRC and name neocd.bin from archive /dev_hdd0/ROMS/neocd/neocdz [libretro INFO] [FBNEO] Using ROM with good CRC and name 000-lo.lo from archive /dev_hdd0/ROMS/neocd/neocdz [libretro INFO] [FBNEO] No missing files, proceeding [libretro INFO] [FBNEO] Samplerate set to 44100 [libretro DEBUG] Image file: /dev_hdd0/ROMS/neocd/cd.bin [libretro DEBUG] CD image TOC - [libretro DEBUG] Disk At Once (.BIN/.CUE) format [libretro DEBUG] Track 01: 00:02:00 [libretro DEBUG] total running time 00:17:01 [INFO] [Environ]: GET_VARIABLE fbneo-dipswitch-neocdz-Region: Europe [libretro INFO] [FBNEO] Applied dipswitches from core options [libretro DEBUG] Cheat cpu-register INIT. [libretro DEBUG] CPU-registry: 68k cpu #0 ... [libretro DEBUG] CPU-registry: Z80 cpu #0 ... [libretro INFO] [FBNEO] Initializing driver for neocdz [libretro INFO] [FBNEO] Adjusted audio buffer to match driver's refresh rate (59.590000 Hz) [libretro INFO] [FBNEO] EEPROM succesfully loaded from /dev_hdd0/game/FBNE00123/USRDIR/cores/savefiles/fbneo/neocdz.fs [libretro WARN] [FBNEO] System - media selected seperately [INFO] [Environ]: SET_ROTATION: 0 [INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888. [libretro INFO] [FBNEO] Driver neocdz was successfully started : game's full name is Neo Geo CDZ system [INFO] [RCHEEVOS]: ext_hash 0b886782 ('cue') [INFO] [RCHEEVOS]: Load task finished [INFO] Skipping SRAM load.. [INFO] Version of libretro API: 1 [INFO] Compiled against API: 1 [INFO] [Cheats]: Load game-specific cheatfile: /dev_hdd0/game/FBNE00123/USRDIR/cores/cheats/FinalBurn Neo/cd.cht [INFO] [Audio]: Set audio input rate to: 44355.64 Hz. [INFO] [Video]: Video @ 1194x672 [INFO] [GL]: Found GL context: ps3 [INFO] [GL]: Detecting screen resolution 1280x720. [INFO] [GL]: Vendor: Sony Computer Entertainment Inc., Renderer: JETSTREAM-A. [INFO] [GL]: Version: OpenGL ES-CM 1.0. [INFO] [GL]: Using resolution 1280x720 [INFO] [GL]: Default shader backend found: cg. [INFO] [Shaders]: preset directory: /dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/presets [INFO] [Shader driver]: Using Cg shader backend. [INFO] [CG]: Vertex profile: sce_vp_rsx [INFO] [CG]: Fragment profile: sce_fp_rsx [INFO] [CG]: Loading stock Cg file. [INFO] [GL]: Using 4 textures. [INFO] [GL]: Loaded 1 program(s). [INFO] [Joypad]: Found joypad driver: "ps3". [INFO] [Font]: Using font rendering backend: bitmap. [INFO] [Video]: Found display server: null [INFO] Found shader "/dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/5xBRetro.cg" [INFO] Found shader "/dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/bead.cg" [INFO] Found shader "/dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/blinky.cg" [INFO] Found shader "/dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/ddt-waterpaint.cg" [INFO] Found shader "/dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/ddt.cg" [INFO] Found shader "/dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/pixellate.cg" [INFO] Found shader "/dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/Quilez.cg" [INFO] Found shader "/dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/scanline.cg" [INFO] Found shader "/dev_hdd0/game/FBNE00123/USRDIR/cores/shaders/stock.cg" [INFO] [Menu]: Found menu display driver: "gl". [INFO] [Font]: Using font rendering backend: stb-unicode. [INFO] [Font]: Using font rendering backend: stb-unicode.

[INFO] Subsystem ID: 0 Special game type: CBS ColecoVision Ident: cv ID: 1 Content: [INFO] Rom (required) [INFO] Subsystem ID: 1 Special game type: MSX 1 Ident: msx ID: 4 Content: [INFO] Rom (required) [INFO] Subsystem ID: 2 Special game type: Nec PC-Engine Ident: pce ID: 5 Content: [INFO] Rom (required) [INFO] Subsystem ID: 3 Special game type: Nec SuperGrafX Ident: sgx ID: 7 Content: [INFO] Rom (required) [INFO] Subsystem ID: 4 Special game type: Nec TurboGrafx-16 Ident: tg16 ID: 9 Content: [INFO] Rom (required) [INFO] Subsystem ID: 5 Special game type: Nintendo Entertainment System Ident: nes ID: 11 Content: [INFO] Rom (required) [INFO] Subsystem ID: 6 Special game type: Nintendo Family Disk System Ident: fds ID: 12 Content: [INFO] Rom (required) [INFO] Subsystem ID: 7 Special game type: Sega GameGear Ident: gg ID: 2 Content: [INFO] Rom (required) [INFO] Subsystem ID: 8 Special game type: Sega Master System Ident: sms ID: 8 Content: [INFO] Rom (required) [INFO] Subsystem ID: 9 Special game type: Sega Megadrive Ident: md ID: 3 Content: [INFO] Rom (required) [INFO] Subsystem ID: 10 Special game type: Sega SG-1000 Ident: sg1k ID: 6 Content: [INFO] Rom (required) [INFO] Subsystem ID: 11 Special game type: ZX Spectrum Ident: spec ID: 10 Content: [INFO] Rom (required) [INFO] Subsystem ID: 12 Special game type: Neogeo CD Ident: neocd ID: 13 Content: [INFO] Iso (required) [INFO] Subsystems: 13 [INFO] [LED]: LED driver = 'null' 176a0ec [INFO] [MIDI]: Initializing ... [INFO] [MIDI]: Input disabled. [INFO] [MIDI]: Output disabled. [INFO] [MIDI]: Initialized "null" driver.

[INFO] RetroPad, Port 1, Button "B (bottom)" => "Button A" [INFO] RetroPad, Port 1, Button "Y (left)" => "Button C" [INFO] RetroPad, Port 1, Button "Select" => "Select" [INFO] RetroPad, Port 1, Button "Start" => "Start" [INFO] RetroPad, Port 1, Button "D-Pad Up" => "Up" [INFO] RetroPad, Port 1, Button "D-Pad Down" => "Down" [INFO] RetroPad, Port 1, Button "D-Pad Left" => "Left" [INFO] RetroPad, Port 1, Button "D-Pad Right" => "Right" [INFO] RetroPad, Port 1, Button "A (right)" => "Button B" [INFO] RetroPad, Port 1, Button "X (up)" => "Button D" [INFO] RetroPad, Port 2, Button "B (bottom)" => "Button A" [INFO] RetroPad, Port 2, Button "Y (left)" => "Button C" [INFO] RetroPad, Port 2, Button "Select" => "Select" [INFO] RetroPad, Port 2, Button "Start" => "Start" [INFO] RetroPad, Port 2, Button "D-Pad Up" => "Up" [INFO] RetroPad, Port 2, Button "D-Pad Down" => "Down" [INFO] RetroPad, Port 2, Button "D-Pad Left" => "Left" [INFO] RetroPad, Port 2, Button "D-Pad Right" => "Right" [INFO] RetroPad, Port 2, Button "A (right)" => "Button B" [INFO] RetroPad, Port 2, Button "X (up)" => "Button D" [INFO] Loading history file: [/dev_hdd0/game/FBNE00123/USRDIR/content_history.lpl]. [INFO] Loading history file: [/dev_hdd0/game/FBNE00123/USRDIR/content_music_history.lpl]. [INFO] Loading favorites file: [/dev_hdd0/game/FBNE00123/USRDIR/content_favorites.lpl]. [INFO] [GL]: VSync => on [INFO] Written to playlist file: /dev_hdd0/game/FBNE00123/USRDIR/content_history.lpl [libretro DEBUG] ---init cycles etc --- [libretro DEBUG] 68k cycles total: 202752 [libretro DEBUG] z80 cycles total: 67584 / 4000000

barbudreadmon commented 4 years ago

It should be fixed for the most part, there are still some crackling issues

crystalct commented 4 years ago

If i see neo cd working on PS3 i'll cry for joy.....

Il dom 2 ago 2020, 20:12 barbudreadmon notifications@github.com ha scritto:

It should be fixed for the most part, there are still some crackling issues

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/finalburnneo/FBNeo/issues/355#issuecomment-667706920, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMY7LIZQ3TXW5IREWGP4ADR6WUB7ANCNFSM4M65QHHA .

barbudreadmon commented 4 years ago

@dinkc64 i'm getting quite confused by this one, i managed to get bgm & sfx working right separately, but as soon as i try to mix them together (and i tried in a lot of ways) it becomes a crackling fest, let's consider this line (x4) : https://github.com/finalburnneo/FBNeo/blob/10fcc51fa5c01d9dd8f7b6cd2e85224988b6536f/src/intf/cd/win32/cd_img.cpp#L841

if i do this, i'll get the bgm right :

dst[i] = BURN_ENDIAN_SWAP_INT16(CLIP(src[i]));

if i do this, i'll get the sfx right :

dst[i] = CLIP(src[i]);

Somehow this one seems ok but quite different from the original intention :

dst[i] = BURN_ENDIAN_SWAP_INT16(CLIP(src[i])) + CLIP(dst[i]); i--;

Any suggestion ?

barbudreadmon commented 4 years ago

fixed

crystalct commented 4 years ago

image