libretro / cannonball

Cannonball: An Enhanced OutRun Engine
http://reassembler.blogspot.com
7 stars 17 forks source link

Crashes upon selecting Play Game on Wii U #15

Closed vaguerant closed 4 years ago

vaguerant commented 4 years ago

I have the core files from CannonBall.zip (had to extract manually because extracting archives seems to be nonworking on Wii U) and a verified revision B romset. I can see the Cannonball menu, change my video and audio settings, etc. But as soon as I select "Play Game" the whole system locks up and I need a hard power off.

jk-ps3 commented 4 years ago

Same thing with the PS3 version, the romset works with the PC standalone version. In the PS3's case RetroArch crashes back to the XMB.

vaguerant commented 4 years ago

This seems to have changed since my initial report, but it's been kind of a lateral move. The core now seems to be functioning, but has no visible output whatsoever on Wii U. While the content is running, the screen is entirely black. Audio, input and--to the extent I can tell without seeing it--gameplay seems like it's fully functional, I was able to start the game and hear the initial tire squeal, etc.

I should note that I have the exact same setup working on RetroArch in the Wii U's original Wii backward-compatibility mode using literally the same files (NB: I do not mean a copy of the same files, I have one set of OutRun ROMs on my Wii U's SD card which I'm loading in both cases), so this isn't a problem with the content I'm providing to the core.

Below is a log of the game running on Wii U. As a lay user, the only obvious problem I can see is [libretro WARN] [Cannonball]: Unable to load widescreen tilemaps.

EDIT: Upon disabling the sharp-bilinear.slangp shader, the game seems to be running without issue. It appears that shader has the issue rather than this core, so I'll go ahead and close this issue.

[INFO] RetroArch 1.8.8 (Git 27a0e6a)
[INFO] Redirecting save file to "sd:/retroarch/cores/savefiles/CannonBall.srm".
[INFO] Redirecting save state to "sd:/retroarch/cores/savestates/CannonBall.state".
[INFO] === Build =======================================
[INFO] Capabilities: 
[INFO] Built: Jun  4 2020
[INFO] Version: 1.8.8
[INFO] Git: 27a0e6a
[INFO] =================================================
[INFO] [Overrides] no core-specific overrides found at sd:/retroarch/config/Cannonball/Cannonball.cfg.
[INFO] [Overrides] no content-dir-specific overrides found at sd:/retroarch/config/Cannonball/CannonBall.cfg.
[INFO] [Overrides] no game-specific overrides found at sd:/retroarch/config/Cannonball/CannonBall.cfg.
[INFO] [Environ]: GET_LOG_INTERFACE.
[INFO] [Environ]: SET_VARIABLES.
[INFO] Per-Game Options: game-specific core options found at sd:/retroarch/config/Cannonball/CannonBall.opt
[INFO] [Remaps]: remap directory: sd:/retroarch/config/remaps
[INFO] Redirecting save file to "sd:/retroarch/cores/savefiles/Cannonball/CannonBall.srm".
[INFO] Redirecting save state to "sd:/retroarch/cores/savestates/Cannonball/CannonBall.state".
[INFO] [Environ]: PERFORMANCE_LEVEL: 2.
[INFO] Content loading skipped. Implementation will load it on its own.
[INFO] [Environ]: SET_INPUT_DESCRIPTORS:
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[libretro INFO] Rom directory: sd:/Game Backups/Ports/CannonBall/
[libretro WARN] [Cannonball]: Unable to load widescreen tilemaps.
[INFO] Skipping SRAM load..
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 44055.94 Hz.
[INFO] [Video]: Video @ 1194x672
[INFO] [hid]: initializing instance with 16 pad slots
[INFO] [hid]: initializing HID subsystem driver...
[INFO] [hid]: initializing HID subsystem
[INFO] [hid]: new_hid()
[INFO] [hid]: new_hidclient()
[INFO] [hid]: Initializing events list
[INFO] [hid]: Initializing adapters list
[INFO] [hid]: starting polling thread.
[INFO] [hid]: Device attach event generated.
[INFO]                 handle: 1854446
[INFO]   physical_device_inst: 0
[INFO]                    vid: 0x6d04
[INFO] [INFO]             pid: 0x2bc5

ated
[INFO]         interface_index: 2
[INFO] [hid]: polling thread is starting
             sub_class: 0
[INFO]               protocol: 0
[INFO]     max_packet_size_rx: 32
[INFO]     max_packet_size_tx: 0
[ERROR] [hid]: Failed to locate driver for device vid=6d04 pid=2bc5
[INFO] [hid]: Device attach event generated.
[INFO]                 handle: 1931637
[INFO]   physical_device_inst: 0
[INFO]                    vid: 0x6d04
[INFO]                    pid: 0x2bc5
[INFO]        interface_index: 1
[INFO]              sub_class: 1
[INFO]               protocol: 2
[INFO]     max_packet_size_rx: 8
[INFO]     max_packet_size_tx: 0
[ERROR] [hid]: Failed to locate driver for device vid=6d04 pid=2bc5
[INFO] [hid]: Device attach event generated.
[INFO]                 handle: 1972701
[INFO]   physical_device_inst: 0
[INFO]                    vid: 0x8f0e
[INFO]                    pid: 0x300
[INFO]        interface_index: 0
[INFO]              sub_class: 0
[INFO]               protocol: 0
[INFO]     max_packet_size_rx: 8
[INFO]     max_packet_size_tx: 0
[ERROR] [hid]: Failed to locate driver for device vid=8f0e pid=0300
[INFO] [hid]: Device attach event generated.
[INFO]                 handle: 2059418
[INFO]   physical_device_inst: 0
[INFO]                    vid: 0x6d04
[INFO]                    pid: 0x2bc5
[INFO]        interface_index: 0
[INFO]              sub_class: 1
[INFO]               protocol: 1
[INFO]     max_packet_size_rx: 8
[INFO]     max_packet_size_tx: 0
[ERROR] [hid]: Failed to locate driver for device vid=6d04 pid=2bc5
[INFO] [hid]: init success
[INFO] [hid]: instance initialization complete.
[INFO] [Joypad]: Found joypad driver: "wiiu".
[INFO] Setting refresh rate to: 59.940 Hz.
[INFO] [Audio]: Set audio input rate to: 44055.94 Hz.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Shaders]: preset directory: sd:/retroarch/config
[INFO] [Shaders]: preset directory: sd:/retroarch/
[INFO] [Shaders]: preset directory: sd:/retroarch/shaders/presets
[INFO] [Shaders]: Specific shader preset found at sd:/retroarch/shaders/presets/global.slangp.
[INFO] [Shaders]: global shader preset found.
[INFO] [Video]: Found display server: null
[INFO] Found shader "sd:/retroarch/shaders/retroarch.slangp"
[INFO] Found shader "sd:/retroarch/shaders/stock.slang"
[INFO] [Menu]: Found menu display driver: "gx2".
[INFO] [Menu]: Found menu display driver: "gx2".
[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] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [Font]: Using font rendering backend: stb-unicode.
[INFO] [LED]: LED driver = 'null' 0xd528db8
[INFO] [MIDI]: Initializing ...
[INFO] [MIDI]: Input disabled.
[INFO] [MIDI]: Output disabled.
[INFO] [MIDI]: Initialized "null" driver.
[INFO] Loading favorites file: [sd:/retroarch/content_favorites.lpl].
[INFO] [kpad]: got slot 0
[INFO] [config] Saved new config to "sd:/retroarch/retroarch.cfg".
[INFO] Content ran for a total of: 00 hours, 00 minutes, 37 seconds.
[ERROR] [runtime] failed to create directory for runtime log: sd:/retroarch/cores/playlists/logs/Cannonball.
[INFO] Unloading game..
[INFO] Unloading core..
[INFO] Unloading core symbols..
[INFO] [Core Options]: Saved game-specific core options to "sd:/retroarch/config/Cannonball/CannonBall.opt"
[INFO] [hid]: destroying instance
[INFO] [hid]: tearing down HID subsystem driver...
[INFO] [hid]: stopping polling thread.
[INFO] [hid]: polling thread is stopping
[INFO] Waiting for in-flight reads to finish.
[INFO] All in-flight reads complete.
[INFO] [hid]: delete_hidclient()
[INFO] [hid]: delete_hid()
[INFO] [hid]: destroying pad data...
[INFO] [hid]: wiping instance data...
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
DracoSage commented 3 years ago

@vaguerant How did you get it to function? Mine keeps freezing/crashing after selecting "Play game". I have tried so many options and nothing... And second, how do you disable that shader? I'm not using the shader option from what I know Thanks for any reply

vaguerant commented 3 years ago

For me, updating the core was what fixed it. It wasn't working in January 2020, but when I updated the core in June 2020, it started working. I'm not sure which commit between January and June made the difference, but hopefully any build from about June 2020 or later should work. Do you know what version you're using?

If it's any help, here's RetroArch 1.8.9 from archive.org. This was released in July 2020, pretty close to when I had it working, so it might be worth a shot. I don't really recommend later versions right now; 1.9.0 introduced a lot of controller bugs on Wii U (Pro Controllers don't work, if Wiimotes disconnect, you need a full RetroArch restart to get them working again, etc.).

Shaders aren't enabled by default, you have to compile them yourself or find them precompiled online, so you'd definitely know if you were using shaders.

DracoSage commented 3 years ago

I'm using 1.9.0 sctually. I'll try with that other core version and see if it works or something.

DracoSage commented 3 years ago

Tried with 1.8.9 (the link you shared with me) and didn't work, crashed again. Could you tell me how to make a log from the game please?

vaguerant commented 3 years ago

Go into Settings > Logging and set it up something like this:

2020_11_11 9_27 PM Office Lens (2)

The exact log levels, like 0 (Debug) and 1 (Info) are up to you, but setting the Core Logging Level to 0 (Debug) will probably result in enormous logs, since it will log a bunch of data every single frame, which is most likely more than is useful for any normal purpose.

The log file will be written out to sd:/RetroArch/cores/logs/RetroArch.log.

DracoSage commented 3 years ago

The only thing I can imagine to make it work is to use that exact core version you're using (1.8.8) Could you please be so kind to share it with me? I've been looking on google and couldn't found it. Thanks in advance.

DracoSage commented 3 years ago

Here is what my log file says btw: [INFO] RetroArch 1.8.9 (Git 4c6b139) [INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/CannonBall.srm". [INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/CannonBall.state". [INFO] === Build ======================================= [INFO] Capabilities: [INFO] Built: Jun 19 2020 [INFO] Version: 1.8.9 [INFO] Git: 4c6b139 [INFO] ================================================= [INFO] [Overrides]: No core-specific overrides found at sd:/retroarch/config/Cannonball/Cannonball.cfg. [INFO] [Overrides]: No content-dir-specific overrides found at sd:/retroarch/config/Cannonball/CannonBall.cfg. [INFO] [Overrides]: No game-specific overrides found at sd:/retroarch/config/Cannonball/CannonBall.cfg.

[INFO] Per-Game Options: game-specific core options found at sd:/retroarch/config/Cannonball/CannonBall.opt [INFO] [Remaps]: remap directory: sd:/retroarch/config/remaps [INFO] [Overrides]: Redirecting save file to "sd:/retroarch/cores/savefiles/CannonBall.srm". [INFO] [Overrides]: Redirecting save state to "sd:/retroarch/cores/savestates/CannonBall.state". [INFO] [Environ]: PERFORMANCE_LEVEL: 2. [INFO] [CONTENT LOAD]: Content loading skipped. Implementation will load it on its own.

[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565. [libretro INFO] Rom directory: sd:/retroarch/downloads/CannonBall/ [INFO] [SRAM]: Skipping SRAM load.. [INFO] Version of libretro API: 1 [INFO] Compiled against API: 1 [INFO] [Audio]: Set audio input rate to: 44055.94 Hz. [INFO] [Video]: Video @ 1194x672 [INFO] [hid]: initializing instance with 16 pad slots [INFO] [hid]: initializing HID subsystem driver... [INFO] [hid]: initializing HID subsystem

[INFO] [hid]: Initializing events list [INFO] [hid]: Initializing adapters list [INFO] [hid]: starting polling thread. [INFO] [hid]: init success [INFO] [hid]: instance initialization complete. [INFO] [Joypad]: Found joypad driver: "wiiu". [INFO] [hid]: polling thread is starting [INFO] Setting refresh rate to: 59.940 Hz. [INFO] [Audio]: Set audio input rate to: 44055.94 Hz. [INFO] [Font]: Using font rendering backend: stb-unicode. [INFO] [Video]: Found display server: null [INFO] [Shaders]: Found shader "sd:/retroarch/shaders/bilinear.slangp" [INFO] [Shaders]: Found shader "sd:/retroarch/shaders/nearest.slangp" [INFO] [Shaders]: Found shader "sd:/retroarch/shaders/retroarch.slangp" [INFO] [Shaders]: Found shader "sd:/retroarch/shaders/stock.slang" [WARN] Audio rate control was desired, but driver does not support needed features. [INFO] [Display]: Found display driver: "gx2". [INFO] [Font]: Using font rendering backend: stb-unicode. [INFO] [Font]: Using font rendering backend: stb-unicode. [INFO] [Font]: Using font rendering backend: stb-unicode.

vaguerant commented 3 years ago

Sorry, I actually updated to the 1.8.9 stable core from the link I gave above after taking that photo, but Cannonball is still working perfectly on my end with the 1.8.9 core, so the exact core version doesn't seem to be the problem. Is it possible your OutRun ROMs are corrupted in some way? I'm not sure if there's a list of hashes somewhere to compare against to make sure the ROMs are correct.

Elvins0102 commented 3 years ago

@DracoSage so did you got it working if so can you help I have tried everything and it still crashes