team-phoenix / Phoenix

A multi-system emulator and library manager designed to be both powerful and easy to use.
http://phoenix.vg
GNU General Public License v2.0
377 stars 40 forks source link

Black screen when launching a core #188

Closed MisterTea closed 9 years ago

MisterTea commented 9 years ago

Here's the log:

Debugging starts
QML debugging is enabled. Only use this in a safe environment.
phoenix.library: Portable mode
phoenix.library: Opening library database /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Metadata/systems.sqlite
phoenix.library: Opening library database /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Metadata/openvgdb.sqlite
QML Debugger: Waiting for connection on port 54835...
phoenix.library: Opening library database /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User Data/gamelibrary.sqlite
phoenix.input: Opening custom controller DB file: /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User Data/gamecontrollerdb.txt
phoenix.input: Loaded custom controller DB successfully.
phoenix.library: mWorkerThread Started...
"/Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User Data/Cover Art Cache/.jpg"
qml: Attempting to load core: /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Cores/bsnes_mercury_balanced_libretro.dylib
qml: Attempting to load game: /Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).zip
phoenix.core: void Core::slotLoadCore(QString) :  "/Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Cores/bsnes_mercury_balanced_libretro.dylib"
phoenix.core: SET_VARIABLES:
phoenix.core:    Core::Variable(bsnes_violate_accuracy=<not set>, description="Respect accuracy-impacting settings", choices=[No, Yes])
phoenix.core:    Core::Variable(bsnes_chip_hle=<not set>, description="Special chip accuracy", choices=[LLE, HLE])
phoenix.core:    Core::Variable(bsnes_superfx_overclock=<not set>, description="SuperFX speed", choices=[100%, 150%, 200%, 300%, 400%, 500%, 1000%])
    RETRO_ENVIRONMENT_GET_LOG_INTERFACE (27) (handled)
    RETRO_ENVIRONMENT_SET_SUBSYSTEM_INFO (34)
    RETRO_ENVIRONMENT_SET_CONTROLLER_INFO (35)
phoenix.core: void Core::slotLoadGame(QString) :  "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).zip"
    RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS (11) (handled)
phoenix.core: RETRO_LOG_INFO: BML map:
phoenix.core: RETRO_LOG_INFO: cartridge region=NTSC
phoenix.core: RETRO_LOG_INFO:   rom name=program.rom size=0xc5568
phoenix.core: RETRO_LOG_INFO:   ram name=save.ram size=0x1000
phoenix.core: RETRO_LOG_INFO:   map id=rom address=00-7f,80-ff:8000-ffff mask=0x8000
phoenix.core: RETRO_LOG_INFO:   map id=ram address=70-7f,f0-ff:0000-ffff
phoenix.core: RETRO_LOG_INFO: [Memory]: ID 7, Request "manifest.bml".
phoenix.core: RETRO_LOG_INFO: Complete load request.
phoenix.core: RETRO_LOG_INFO: [Memory]: ID 8, Request "program.rom".
phoenix.core: RETRO_LOG_INFO: Load ROM.
phoenix.core: RETRO_LOG_INFO: Complete load request.
phoenix.core: RETRO_LOG_INFO: [Memory]: ID 9, Request "save.ram".
phoenix.core: RETRO_LOG_INFO: Complete load request.
phoenix.core: RETRO_LOG_INFO: [Memory]: ID 6, Request "".
phoenix.core: RETRO_LOG_INFO: Complete load request.
Error: Environment command  65572  is not defined in the frontend's libretro.h!.
    RETRO_ENVIRONMENT_GET_OVERSCAN (2) (handled)
    RETRO_ENVIRONMENT_SET_PIXEL_FORMAT (10) (handled)
        Pixel format: XRGB8888


phoenix.core: void Core::loadSRAM(const QString &) "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).srm" (true)
phoenix.audiooutput: slotAudioFormat( 32040 Hz, 60.098812 fps (core), 60.000000 fps (host) )
phoenix.video: pixelformat = 1 width = 512 height = 448 pitch = 2048 coreFPS = 60.0988 hostFPS = 60
phoenix.controller: slotStateChanged( "Ready" , 0 )
phoenix.controller: Begin emulation.
QQuickText QVariant(Invalid) QRect(0,0 0x0)
false
false
phoenix.audiooutput: audioFormatIn QAudioFormat(32040Hz, 16bit, channelCount=2, sampleType=SignedInt, byteOrder=LittleEndian, codec="audio/pcm")
phoenix.audiooutput: audioFormatOut QAudioFormat(44100Hz, 16bit, channelCount=2, sampleType=SignedInt, byteOrder=LittleEndian, codec="audio/pcm")
phoenix.audiooutput: sampleRateRatio 1.3764
phoenix.audiooutput: Using nearest format supported by sound card: 44100Hz 16bits
2015-10-19 14:11:50.674 Phoenix[90111:13325497] 14:11:50.674 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
phoenix.audiooutput: ActiveState
phoenix.audiooutput: State changed: SuspendedState
phoenix.audiooutput: Allocated 44 kb for resampling.
phoenix.audiooutput: Started
phoenix.audiooutput: audioOut underrun
TextField_QMLTYPE_107 QVariant(Invalid) QRect(0,0 0x0)
phoenix.audiooutput: QAudio::OpenError, attempting reset...
2015-10-19 14:11:57.694 Phoenix[90111:13325497] 14:11:57.694 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
phoenix.audiooutput: ActiveState
false
phoenix.controller: ===========QCoreApplication::aboutToQuit()===========
phoenix.audiooutput: slotShutdown() start
phoenix.audiooutput: State changed: StoppedState
phoenix.audiooutput: slotShutdown() end
phoenix.core: void Core::slotShutdown() start
void Core::saveSRAM(const QString &) :  "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).srm" (Failed)
phoenix.core: void Core::slotShutdown() end
"/Users/jgauci/Library/Preferences/vg.phoenix.Phoenix.plist"
Debugging has finished
athairus commented 9 years ago

What version of OS X is this?

MisterTea commented 9 years ago

El Capitan

MisterTea commented 9 years ago

FWIW I run the same core using Retroarch itself and it's fine (using retroarch instead of phoenix). I'm using the latest master Retroarch so maybe pheonix is using an older version?

./pkg/apple/build/Debug/RetroArch.app/Contents/MacOS/RetroArch -L /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Cores/bsnes_mercury_balanced_libretro.dylib /Volumes/pawn/Roms/No-Intro/Nintendo\ -\ Super\ Nintendo\ Entertainment\ System/7th\ Saga,\ The\ \(USA\).zip
athairus commented 9 years ago

Do you hear any audio output? Or do you just have a blank screen?

athairus commented 9 years ago

Also, are you using the latest nightly cores or the stable ones? Please pull and try again (update backend subrepo too) as we've made some changes.

MisterTea commented 9 years ago

There's no audio output, just a blank screen. I'm using the latest master cores (built myself) and the latest Phoenix master. When I run as release I get this crash:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff887c80ae __pthread_kill + 10
1   libsystem_pthread.dylib         0x00007fff8c8b6500 pthread_kill + 90
2   libsystem_c.dylib               0x00007fff897ae37b abort + 129
3   libsystem_malloc.dylib          0x00007fff937af3a6 szone_error + 626
4   libsystem_malloc.dylib          0x00007fff937a50f9 small_malloc_from_free_list + 1093
5   libsystem_malloc.dylib          0x00007fff937a1b74 szone_malloc_should_clear + 1411
6   libsystem_malloc.dylib          0x00007fff937a15b1 malloc_zone_malloc + 71
7   libsystem_malloc.dylib          0x00007fff937a00dc malloc + 42
8   com.apple.vImage                0x00007fff873da77a vImageConverter_CreateCGPassList + 12234
9   com.apple.vImage                0x00007fff873d5ecc vImageConverter_CreateWithColorSyncCodeFragment + 252
10  com.apple.CoreGraphics          0x00007fff922cf819 __get_vImage_converter_block_invoke + 105
11  libdispatch.dylib               0x00007fff87fae453 _dispatch_client_callout + 8
12  libdispatch.dylib               0x00007fff87fae34b dispatch_once_f + 67
13  com.apple.CoreGraphics          0x00007fff922cf4cb convert_icc + 2721
14  com.apple.CoreGraphics          0x00007fff922cea1a CGCMSConverterConvertData + 91
15  com.apple.CoreGraphics          0x00007fff922fc914 CGColorTransformConvertData + 381
16  com.apple.CoreGraphics          0x00007fff922f163b img_colormatch_read + 582
17  com.apple.CoreGraphics          0x00007fff922f136b img_alphamerge_read + 531
18  com.apple.CoreGraphics          0x00007fff922ef568 img_data_lock + 9218
19  com.apple.CoreGraphics          0x00007fff922ec293 CGSImageDataLock + 151
20  libRIP.A.dylib                  0x00007fff8e70e234 ripc_AcquireImage + 972
21  libRIP.A.dylib                  0x00007fff8e70ccde ripc_DrawImage + 1011
22  com.apple.CoreGraphics          0x00007fff922eb6cf CGContextDrawImageWithOptions + 684
23  com.apple.CoreGraphics          0x00007fff922eb407 CGContextDrawImage + 73
24  com.apple.AppKit                0x00007fff899e3b36 __74-[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke + 773
25  com.apple.AppKit                0x00007fff899e363a -[NSImageRep drawInRect:fromRect:operation:fraction:respectFlipped:hints:] + 1110
26  com.apple.AppKit                0x00007fff899eb57d __71-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]_block_invoke1045 + 1119
27  com.apple.AppKit                0x00007fff899aac58 -[NSImage _usingBestRepresentationForRect:context:hints:body:] + 164
28  com.apple.AppKit                0x00007fff899eb03c -[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:] + 2117
29  com.apple.AppKit                0x00007fff899ebac4 -[NSImage drawInRect:fromRect:operation:fraction:] + 97
30  com.apple.AppKit                0x00007fff89d6f2aa -[NSCursor _premultipliedARGBBitmaps] + 1354
31  com.apple.AppKit                0x00007fff899b0d46 -[NSCursor _reallySet] + 175
32  com.apple.AppKit                0x00007fff899b0c36 -[NSCursor set] + 219
33  com.apple.AppKit                0x00007fff899fdb22 -[NSWindow(NSCarbonExtensions) _setCursorForMouseLocation:] + 412
34  com.apple.AppKit                0x00007fff8a04bc02 ___NSWindowGetDisplayCycleObserver_block_invoke6334 + 1571
35  com.apple.AppKit                0x00007fff899fb19e __37+[NSDisplayCycle currentDisplayCycle]_block_invoke19 + 292
36  com.apple.QuartzCore            0x00007fff8e0f991d CA::Transaction::run_commit_handlers(CATransactionPhase) + 85
37  com.apple.QuartzCore            0x00007fff8e0f8f3b CA::Context::commit_transaction(CA::Transaction*) + 515
38  com.apple.QuartzCore            0x00007fff8e0f8a98 CA::Transaction::commit() + 508
39  com.apple.QuartzCore            0x00007fff8e10428f CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 71
40  com.apple.CoreFoundation        0x00007fff8edfae07 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
41  com.apple.CoreFoundation        0x00007fff8edfad77 __CFRunLoopDoObservers + 391
42  com.apple.CoreFoundation        0x00007fff8edd9d58 CFRunLoopRunSpecific + 328
43  com.apple.HIToolbox             0x00007fff82de4d55 RunCurrentEventLoopInMode + 235
44  com.apple.HIToolbox             0x00007fff82de4a97 ReceiveNextEventCommon + 184
45  com.apple.HIToolbox             0x00007fff82de49cf _BlockUntilNextEventMatchingListInModeWithFilter + 71
46  com.apple.AppKit                0x00007fff89875236 _DPSNextEvent + 1067
47  com.apple.AppKit                0x00007fff89874665 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
48  com.apple.AppKit                0x00007fff898691c8 -[NSApplication run] + 682
49  libqcocoa.dylib                 0x000000010f9317fd QCocoaEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 2189
50  org.qt-project.QtCore           0x000000010b9d88cd QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 381
51  org.qt-project.QtCore           0x000000010b9db78a QCoreApplication::exec() + 346
52  Jason.Phoenix                   0x000000010a7efefd main + 2221 (main.cpp:196)
53  Jason.Phoenix                   0x000000010a7eef14 start + 52
athairus commented 9 years ago

Only thing I can imagine is happening here is heap corruption (resulting in this later crash), or maybe a Qt bug (unlikely). I can't reproduce, I'm using the latest nightly cores from the libretro buildbot.

Can you post your log from the release crash? It should be written to disk under User Data/Logs

MisterTea commented 9 years ago

The logs folder is empty:

~ ❯ ls -l github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User\ Data/Logs/
~ ❯

I tried to run as release again and it didn't crash (probably memory corruption so it isn't reproducible) but I still got the black screen.

athairus commented 9 years ago

Log files are only written on release builds... seems strange none appeared when you crashed. Are you sure you built a release build?

MisterTea commented 9 years ago

Whoops. I think I ran without the debugger, but it was still a debug build.

I tried with the nightly libretro cores and I still just get the black screen. There are some logs that are suspicious:

2015-10-19 21:46:04.207 Phoenix[6112:13507453] 21:46:04.206 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
phoenix.audiooutput: ActiveState
phoenix.audiooutput: State changed: SuspendedState
phoenix.audiooutput: Allocating 1.99871 MB for resampling...
phoenix.audiooutput: Started
TextField_QMLTYPE_85 QVariant(Invalid) QRect(0,0 0x0)
false
false
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
2015-10-19 21:46:16.040 Phoenix[6112:13507453] 21:46:16.040 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
2015-10-19 21:46:22.663 Phoenix[6112:13507453] 21:46:22.663 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
false
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
false
false
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
2015-10-19 21:46:40.462 Phoenix[6112:13507453] 21:46:40.462 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
false
false
false
false
false
false
false
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
2015-10-19 21:47:20.009 Phoenix[6112:13507453] 21:47:20.009 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
phoenix.audiooutput: ActiveState
phoenix.audiooutput: audioOut underrun
phoenix.audiooutput: QAudio::OpenError, attempting reset...
athairus commented 9 years ago

Those are pretty typical with OS X. Can you run other SNES games well enough?

Also, please post full logs so I can see what happens as the core inits!

MisterTea commented 9 years ago

I've only tried this one rom on Phoenix but it works fine using the same core and Retroarch so I don't think it's an issue with the rom.

Here's the full log:

Debugging starts
QML debugging is enabled. Only use this in a safe environment.
phoenix.library: Portable mode
phoenix.library: Opening library database /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Metadata/systems.sqlite
phoenix.library: Opening library database /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Metadata/openvgdb.sqlite
QML Debugger: Waiting for connection on port 65106...
phoenix.library: Opening library database /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User Data/gamelibrary.sqlite
phoenix.input: Opening custom controller DB file: /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User Data/gamecontrollerdb.txt
phoenix.input: Loaded custom controller DB successfully.
phoenix.library: mWorkerThread Started...
"/Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User Data/Cover Art Cache/.jpg"
qml: Attempting to load core: /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Cores/bsnes_mercury_balanced_libretro.dylib
qml: Attempting to load game: /Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).zip
phoenix.core: void Core::slotLoadCore(QString) :  "/Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Cores/bsnes_mercury_balanced_libretro.dylib"
phoenix.core: SET_VARIABLES:
phoenix.core:    Core::Variable(bsnes_violate_accuracy=<not set>, description="Respect accuracy-impacting settings", choices=[No, Yes])
phoenix.core:    Core::Variable(bsnes_chip_hle=<not set>, description="Special chip accuracy", choices=[LLE, HLE])
phoenix.core:    Core::Variable(bsnes_superfx_overclock=<not set>, description="SuperFX speed", choices=[100%, 150%, 200%, 300%, 400%, 500%, 1000%])
    RETRO_ENVIRONMENT_GET_LOG_INTERFACE (27) (handled)
    RETRO_ENVIRONMENT_SET_SUBSYSTEM_INFO (34)
    RETRO_ENVIRONMENT_SET_CONTROLLER_INFO (35)
phoenix.core: void Core::slotLoadGame(QString) :  "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).zip"
    RETRO_ENVIRONMENT_SET_INPUT_DESCRIPTORS (11) (handled)
phoenix.core: RETRO_LOG_INFO: BML map:
phoenix.core: RETRO_LOG_INFO: cartridge region=NTSC
phoenix.core: RETRO_LOG_INFO:   rom name=program.rom size=0xc5568
phoenix.core: RETRO_LOG_INFO:   ram name=save.ram size=0x1000
phoenix.core: RETRO_LOG_INFO:   map id=rom address=00-7f,80-ff:8000-ffff mask=0x8000
phoenix.core: RETRO_LOG_INFO:   map id=ram address=70-7f,f0-ff:0000-ffff
phoenix.core: RETRO_LOG_INFO: [Memory]: ID 7, Request "manifest.bml".
phoenix.core: RETRO_LOG_INFO: Complete load request.
phoenix.core: RETRO_LOG_INFO: [Memory]: ID 8, Request "program.rom".
phoenix.core: RETRO_LOG_INFO: Load ROM.
phoenix.core: RETRO_LOG_INFO: Complete load request.
phoenix.core: RETRO_LOG_INFO: [Memory]: ID 9, Request "save.ram".
phoenix.core: RETRO_LOG_INFO: Complete load request.
phoenix.core: RETRO_LOG_INFO: [Memory]: ID 6, Request "".
phoenix.core: RETRO_LOG_INFO: Complete load request.
Error: Environment command  65572  is not defined in the frontend's libretro.h!.
    RETRO_ENVIRONMENT_GET_OVERSCAN (2) (handled)
    RETRO_ENVIRONMENT_SET_PIXEL_FORMAT (10) (handled)
        Pixel format: XRGB8888

phoenix.core: void Core::loadSRAM(const QString &) "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).srm" (true)
phoenix.video: pixelformat = 1 width = 512 height = 448 pitch = 2048 coreFPS = 60.0988 hostFPS = 60
phoenix.audiooutput: slotAudioFormat( 32040 Hz, 60.098812 fps (core), 60.000000 fps (host) )
phoenix.controller: slotStateChanged( "Ready" , 0 )
phoenix.controller: Begin emulation.
QQuickText QVariant(Invalid) QRect(0,0 0x0)
phoenix.audiooutput: audioFormatIn QAudioFormat(32040Hz, 16bit, channelCount=2, sampleType=SignedInt, byteOrder=LittleEndian, codec="audio/pcm")
phoenix.audiooutput: audioFormatOut QAudioFormat(44100Hz, 16bit, channelCount=2, sampleType=SignedInt, byteOrder=LittleEndian, codec="audio/pcm")
phoenix.audiooutput: sampleRateRatio 1.3764
phoenix.audiooutput: Using nearest format supported by sound card: 44100Hz 16bits
2015-10-19 21:54:13.317 Phoenix[6977:13519550] 21:54:13.317 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
phoenix.audiooutput: ActiveState
phoenix.audiooutput: State changed: SuspendedState
phoenix.audiooutput: Allocating 1.99871 MB for resampling...
phoenix.audiooutput: Started
TextField_QMLTYPE_102 QVariant(Invalid) QRect(0,0 0x0)
phoenix.core: Moving from thread QSGRenderThread(0x10255eeb0, name = "Render thread") to thread QThread(0x10250b5d0, name = "QML thread")
phoenix.controller: slotStateChanged( "Finished" , 0 )
phoenix.audiooutput: Paused
phoenix.audiooutput: State changed: SuspendedState
phoenix.audiooutput: slotShutdown() start
phoenix.audiooutput: State changed: StoppedState
phoenix.audiooutput: slotShutdown() end
phoenix.core: void Core::slotShutdown() start
void Core::saveSRAM(const QString &) :  "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).srm" (Failed)
phoenix.controller: slotStateChanged( "Uninitialized" , 0 )
phoenix.core: void Core::slotShutdown() end
Slider_QMLTYPE_26 QVariant(Invalid) QRect(0,0 0x0)
Slider_QMLTYPE_26 QVariant(Invalid) QRect(0,0 0x0)
QQuickText QVariant(Invalid) QRect(0,0 0x0)
Button_QMLTYPE_172 QVariant(Invalid) QRect(0,0 0x0)
Button_QMLTYPE_172 QVariant(Invalid) QRect(0,0 0x0)
Button_QMLTYPE_172 QVariant(Invalid) QRect(0,0 0x0)
Button_QMLTYPE_172 QVariant(Invalid) QRect(0,0 0x0)
Button_QMLTYPE_172 QVariant(Invalid) QRect(0,0 0x0)
Button_QMLTYPE_172 QVariant(Invalid) QRect(0,0 0x0)
Button_QMLTYPE_172 QVariant(Invalid) QRect(0,0 0x0)
TextField_QMLTYPE_102_QML_185 QVariant(Invalid) QRect(0,0 0x0)
TextField_QMLTYPE_102_QML_185 QVariant(Invalid) QRect(0,0 0x0)
TextField_QMLTYPE_102_QML_185 QVariant(Invalid) QRect(0,0 0x0)
TextField_QMLTYPE_102_QML_185 QVariant(Invalid) QRect(0,0 0x0)
QQuickText QVariant(Invalid) QRect(216,111 0x0)
"/Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User Data/Cover Art Cache/.jpg"
phoenix.library: mWorkerThread Started...
phoenix.controller: ===========QCoreApplication::aboutToQuit()===========
"/Users/jgauci/Library/Preferences/vg.phoenix.Phoenix.plist"
Debugging has finished
athairus commented 9 years ago

You'd be surprised.

I'd like to know if any other core works. Have you ever heard audio output with Phoenix yet with anything?

MisterTea commented 9 years ago

I do have this change to support zip files, it's possible that I broke Phoenix somehow:

diff --git a/frontend/cpp/library/gamelauncher.cpp b/frontend/cpp/library/gamelauncher.cpp
index 3314cc9..95a7e20 100644
--- a/frontend/cpp/library/gamelauncher.cpp
+++ b/frontend/cpp/library/gamelauncher.cpp
@@ -68,5 +68,10 @@ QString GameLauncher::trimmedGame(QString game) {

     }

+    bool gameExists = QFile::exists( game );
+    if( !gameExists ) {
+        game = game.left(game.length()-3) + QString("zip");
+    }
+
     return game;
 }
athairus commented 9 years ago

For testing's sake, can you try stashing that change and testing with an extracted ROM along with testing other ROMs and cores?

MisterTea commented 9 years ago

Whoops, it's my fault :-(

I tried with an unzipped rom and it works fine. Sorry about the distraction.

athairus commented 9 years ago

Glad to hear it worked out. I thought we already had zip support :P

MisterTea commented 9 years ago

no, zip support doesn't work

athairus commented 9 years ago

Is your volume writeable?

MisterTea commented 9 years ago

Yes. Here's a log of what happens when you try to launch a game that is zipped:

Debugging starts
QML debugging is enabled. Only use this in a safe environment.
phoenix.library: Portable mode
phoenix.library: Opening library database /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Metadata/systems.sqlite
phoenix.library: Opening library database /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/Metadata/openvgdb.sqlite
QML Debugger: Waiting for connection on port 65262...
phoenix.library: Opening library database /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User Data/gamelibrary.sqlite
phoenix.library: Initializing database schema
phoenix.input: Opening custom controller DB file: /Users/jgauci/github/build-phoenix-Desktop_Qt_5_5_0_clang_64bit-Debug/frontend/Phoenix.app/Contents/MacOS/User Data/gamecontrollerdb.txt
phoenix.input: Loaded custom controller DB successfully.
phoenix.library: mWorkerThread Started...
phoenix.library: "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).zip"  does not exist!
void Library::GameFileInfo::prepareMetadata() "B3ABDDE6"
phoenix.library: Worker Started...
ImportData:  "Super Nintendo" "zip:///Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).zip<><>7th Saga, The (USA).sfc" "http://img.gamefaqs.net/box/4/0/0/22400_front.jpg"
phoenix.library: Worker Finished...
phoenix.library: "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).sfc"  does not exist. Launch will fail...
athairus commented 9 years ago

phoenix.library: "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).zip" does not exist!

Can you confirm that's false?

MisterTea commented 9 years ago

Yes:

~ ❯ ls -l "/Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).zip"
-rw-r--r--  1 jgauci  staff  808296 Apr 23 00:25 /Volumes/pawn/Roms/No-Intro/Nintendo - Super Nintendo Entertainment System/7th Saga, The (USA).zip
~ ❯ 
athairus commented 9 years ago

That warning prints when it tries to open the given URL as a directory and urlDirectory.exists() is false.

How exactly did you import that game? I wasn't aware you COULD import individual files yet. You did pick the folder, right?

Druage commented 9 years ago

MisterTea, first off, very clever name, secondly, by the time Core::slotLoadGame is called, the QString that it recieves should not contain an archive extension, but yours does, this is because the GameLauncher class should be uncompressing it as long as it has a "zip://" prefix attached to GameFIleInfo::fullFilePath().

This leads me to think that you either are not 100% up to date with the master, or you imported your game on an earlier commit. I edited the schema in the past few commits, which would cause this issue for ya.

I would delete your gamelibrary.sqlite file, and reimport your game. It should work after that. The location of gamelibrary.sqlite is printed out to the console as one of the sql databases that are opened when Phoenix first starts up.

Bear with us with deleting and reimporting your library, this should solidify soon.

MisterTea commented 9 years ago

I imported the zip by dragging the zip onto Pheonix. I couldn't add the zip through the add dialog because the zip files were grayed out. I'll try to add the folder later today and see if it fixes the problem.

I'm using the latest Phoenix and delete the game library, so this issue is in latest master.

On Mon, Oct 19, 2015 at 10:20 PM athairus notifications@github.com wrote:

That warning prints when it tries to open the given URL as a directory and urlDirectory.exists() is false.

How exactly did you import that game? I wasn't aware you COULD import individual files yet. You did pick the folder, right?

— Reply to this email directly or view it on GitHub https://github.com/team-phoenix/Phoenix/issues/188#issuecomment-149435492 .