libretro / FBNeo

FBNeo - We are Team FBNeo.
https://neo-source.com
Other
226 stars 136 forks source link

NES and FDS games only a gray screen on PS3 #592

Closed crystalct closed 3 years ago

crystalct commented 3 years ago

image

Big Endian issue? Looking into d_nes.cpp i see only UINT8 pointers, no UINT16 or UINT32.... i suppose this depend on MOS 6502 an 8 bit CPU. So what is wrong with a Big Endian Machine like PS3?

Log example:

[INFO] [Overrides]: Redirecting save file to "/dev_hdd0/game/FBNE00123/USRDIR/cores/savefiles/aliensfix.srm".
[INFO] [Overrides]: Redirecting save state to "/dev_hdd0/game/FBNE00123/USRDIR/cores/savestates/aliensfix.state".
[INFO] === Build =======================================
[INFO] Capabilities:  VMX
[INFO] Built: Nov 21 2020
[INFO] Version: 1.9.0
[INFO] =================================================
[INFO] [Input]: Found input driver: "null".
[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/fds.cfg.
[INFO] [Overrides]: No game-specific overrides found at /dev_hdd0/game/FBNE00123/USRDIR/FinalBurn Neo/aliensfix.cfg.
[INFO] [Environ]: SET_SUBSYSTEM_INFO.
[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: SNK Neo Geo Pocket
  Ident: ngp
  ID: 14
  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] [Remaps]: remap directory: /dev_hdd0/game/FBNE00123/USRDIR/cores/savestates
[INFO] [Overrides]: Redirecting save file to "/dev_hdd0/game/FBNE00123/USRDIR/cores/savefiles/aliensfix.srm".
[INFO] [Overrides]: Redirecting save state to "/dev_hdd0/game/FBNE00123/USRDIR/cores/savestates/aliensfix.state".
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: GET_MESSAGE_INTERFACE_VERSION.
[INFO] [Environ]: SET_AUDIO_BUFFER_STATUS_CALLBACK.
[INFO] [CONTENT LOAD]: Content loading skipped. Implementation will load it on its own.
[libretro INFO] [FBNeo] subsystem fds identified from parent folder
[INFO] [Environ]: GET_SAVE_DIRECTORY.
[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
[libretro INFO] DIP switches offset: 18.
[INFO] [Environ]: SET_CONTROLLER_INFO.
[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] Initialize DIP switches.
[INFO] [Environ]: GET_CORE_OPTIONS_VERSION.
[INFO] [Environ]: RETRO_ENVIRONMENT_SET_CORE_OPTIONS_INTL.
[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-frameskip-v2:
    disabled
[INFO] [Environ]: GET_VARIABLE fbneo-frameskip-v2-threshold:
    33
[INFO] [Environ]: GET_VARIABLE fbneo-hiscores:
    enabled
[INFO] [Environ]: GET_VARIABLE fbneo-allow-patched-romsets:
    enabled
[INFO] [Environ]: GET_VARIABLE fbneo-samplerate:
    48000
[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
[INFO] [Environ]: GET_VARIABLE fbneo-lightgun-hide-crosshair:
    enabled
[libretro INFO] [FBNeo] Searching all possible locations for romset aliensfix
[libretro INFO] [FBNeo] No patched romset found at /dev_hdd0/game/FBNE00123/USRDIR/cores/system/fbneo/patched/aliensfix
[libretro INFO] [FBNeo] Romset found at /dev_hdd0/ROMS/fds/aliensfix
[libretro INFO] [FBNeo] No romset found at /dev_hdd0/game/FBNE00123/USRDIR/cores/system/fbneo/aliensfix
[libretro INFO] [FBNeo] No romset found at /dev_hdd0/game/FBNE00123/USRDIR/cores/system/aliensfix
[libretro INFO] [FBNeo] Searching all possible locations for romset fdsbios
[libretro INFO] [FBNeo] No patched romset found at /dev_hdd0/game/FBNE00123/USRDIR/cores/system/fbneo/patched/fdsbios
[libretro INFO] [FBNeo] Romset found at /dev_hdd0/ROMS/fds/fdsbios
[libretro INFO] [FBNeo] No romset found at /dev_hdd0/game/FBNE00123/USRDIR/cores/system/fbneo/fdsbios
[libretro INFO] [FBNeo] No romset found at /dev_hdd0/game/FBNE00123/USRDIR/cores/system/fdsbios
[libretro INFO] [FBNeo] Using ROM with good CRC and name Aliens - Alien 2 (Prototype)(Fix Hack).fds from archive /dev_hdd0/ROMS/fds/aliensfix
[libretro INFO] [FBNeo] Using ROM with good CRC and name fdsbios.nes from archive /dev_hdd0/ROMS/fds/fdsbios
[libretro INFO] [FBNeo] No missing files, proceeding
[libretro INFO] [FBNeo] Samplerate set to 48000
[INFO] [Environ]: GET_VARIABLE fbneo-dipswitch-fds_aliensfix-Sprite_Limit:
    On
[INFO] [Environ]: GET_VARIABLE fbneo-dipswitch-fds_aliensfix-Auto_Insert/Eject:
    On
[INFO] [Environ]: GET_VARIABLE fbneo-dipswitch-fds_aliensfix-Aspect_Ratio:
    Off
[INFO] [Environ]: GET_VARIABLE fbneo-dipswitch-fds_aliensfix-Stereoizer:
    Off
[INFO] [Environ]: GET_VARIABLE fbneo-dipswitch-fds_aliensfix-Palette:
    Famicom
[libretro INFO] [FBNeo] Applied dipswitches from core options
[libretro DEBUG] Cheat cpu-register INIT.
[libretro DEBUG] ROM Name: 䅬楥湳‭⁁汩敮′
偲潴潴祰攩⡆楸⁈慣欩⹦摳
[libretro DEBUG] ROM Length: 131016
[libretro DEBUG] FDS Loader
[libretro DEBUG] * FDS DISK patch: Can't Load/Not Found.
[libretro DEBUG] * Skipping useless fds header..
[libretro DEBUG] Disk Size: 131016 (2 sides)
[libretro DEBUG] PRG Size: 32768
[libretro DEBUG] CHR Size: 0
[libretro DEBUG] Using RAM CHR data (8k bytes)
[libretro DEBUG] Cartridge RAM: 8192
[libretro DEBUG] Cartridge Mapper: 2056   Mirroring: [libretro DEBUG] Vertical[libretro DEBUG]  (1)
[libretro DEBUG] Mapper #2056 init/reset!
[libretro DEBUG] Game-specific configuration:
[libretro DEBUG] CPU-registry: M6502 cpu #0 ...
[libretro DEBUG] Mapper #2056 init/reset!
[libretro INFO] [FBNeo] Initialized driver for fds_aliensfix
[libretro INFO] [FBNeo] Adjusted audio buffer to match driver's refresh rate (60.000000 Hz)
[INFO] [Environ]: SET_ROTATION: 0
[INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888.
[libretro INFO] [FBNeo] Driver fds_aliensfix was successfully started : game's full name is Aliens - Alien 2 (Fix Hack)
[INFO] [SRAM]: 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/aliensfix.cht
[INFO] [Audio]: Set audio input rate to: 47952.05 Hz.
[INFO] [Video]: Video @ 768x672
[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] [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] [Display]: Found display driver: "gl".
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Environ]: SET_SUBSYSTEM_INFO.
[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: SNK Neo Geo Pocket
  Ident: ngp
  ID: 14
  Content:
[INFO]     Rom (required)
[INFO] Subsystem ID: 12
Special game type: ZX Spectrum
  Ident: spec
  ID: 10
  Content:
[INFO]     Rom (required)
[INFO] Subsystem ID: 13
Special game type: Neogeo CD
  Ident: neocd
  ID: 13
  Content:
[INFO]     Iso (required)
[INFO] Subsystems: 14
[INFO] [Display]: Found display driver: "gl".
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "null" driver.
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO]  RetroPad, Port 1, Button "B (bottom)" => "Button B"
[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 A"
[INFO]  RetroPad, Port 1, Button "L3" => "Eject/Insert Disk"
[INFO]  RetroPad, Port 1, Button "R3" => "Swap Disk Side"
[INFO]  RetroPad, Port 2, Button "B (bottom)" => "Button B"
[INFO]  RetroPad, Port 2, Button "Select" => "Microphone"
[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 A"
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO]  RetroPad, Port 1, Button "B (bottom)" => "Button B"
[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 A"
[INFO]  RetroPad, Port 1, Button "L3" => "Eject/Insert Disk"
[INFO]  RetroPad, Port 1, Button "R3" => "Swap Disk Side"
[INFO]  RetroPad, Port 2, Button "B (bottom)" => "Button B"
[INFO]  RetroPad, Port 2, Button "Select" => "Microphone"
[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 A"
[INFO] Disconnecting device from port 6.
[INFO] Disconnecting device from port 7.
[INFO] Disconnecting device from port 8.
[INFO] Disconnecting device from port 9.
[INFO] Disconnecting device from port 10.
[INFO] Disconnecting device from port 11.
[INFO] Disconnecting device from port 12.
[INFO] Disconnecting device from port 13.
[INFO] Disconnecting device from port 14.
[INFO] Disconnecting device from port 15.
[INFO] Disconnecting device from port 16.
[INFO] [Playlist]: Loading history file: [/dev_hdd0/game/FBNE00123/USRDIR/content_history.lpl].
[INFO] [Playlist]: Loading history file: [/dev_hdd0/game/FBNE00123/USRDIR/content_music_history.lpl].
[INFO] [Playlist]: Loading favorites file: [/dev_hdd0/game/FBNE00123/USRDIR/content_favorites.lpl].
[INFO] [GL]: VSync => on
[INFO] [Playlist]: Written to playlist file: /dev_hdd0/game/FBNE00123/USRDIR/content_history.lpl
barbudreadmon commented 3 years ago

My guess would be the various unions in d_nes.cpp, you should probably take a look at how i fixed unions for pgm sound board : https://github.com/libretro/FBNeo/commit/a18eb560db402923201cb2a70c7cf6901ca89131

However, don't expect too much speed-wise from our nes driver, it's highly accurate so i believe it won't run full speed on ps3.

crystalct commented 3 years ago

Your info was precious. image