Skip to content

sceAac needs implementing #3870

Closed
Closed

Description

@scraggles80

games like Knight Fortix 2 (doesn't boot) and Zodiac (freezes up during the intro)
need sceAac added

Games using sceAac:
NPUZ00300 - Knight Fortix 2
NPJH00028 - Zodiac
NPUZ00016 - Fortix
NPJH00092 - Nozomi Kanaetamae - Daydream Reconstruct

Games using sceMp4Aac:
NPUZ00256/NPEZ00390 - Speedball 2 Evolution
NPUH10069 - Auditorium

Activity

  1. unknownbrackets commented on Sep 22, 2013

    @unknownbrackets
    Collaborator

    A log would be useful.

    -[Unknown]

  2. sum2012 commented on Sep 22, 2013

    @sum2012
    Collaborator

    The log is short,I think can post here rather than gist

    53:38:231 EmuThread.cpp:116 I[BOOT]: Done.
    53:42:059 EmuScreen.cpp:67 I[BOOT]: Starting up hardware.
    53:42:059 System.cpp:259 I[BOOT]: PPSSPP v0.9.1-1159-g806e482
    53:42:060 MemArena.cpp:368 I[MM]: Found valid memory base at 08000000 after 29 tries.
    53:42:060 MemMap.cpp:96 I[MM]: Memory system initialized. RAM at 0C800000 (mirror at 0 @ 10000000, uncached @ 10000000)
    53:42:082 Loaders.cpp:176 I[LOAD]: Identifying file...
    53:42:082 PSPLoaders.cpp:121 I[LOAD]: NPUZ00300 : Knight Fortix 2
    53:42:083 PSPLoaders.cpp:192 I[LOAD]: Loading disc0:/PSP_GAME/SYSDIR/EBOOT.BIN...
    53:42:083 HLE\sceKernelMemory.cpp:213 I[KERNEL]: Kernel and user memory pools initialized
    53:42:083 HLE\sceIo.cpp:432 I[IO]: Starting up I/O...
    53:42:083 FileUtil.cpp:253 I[COMMON]: CreateFullPath: path E:\Downloads\ppsspp-v0.9.1-1159-g806e482-windows-x86\ppsspp\memstick
    53:42:083 FileUtil.cpp:257 I[COMMON]: CreateFullPath: path exists E:\Downloads\ppsspp-v0.9.1-1159-g806e482-windows-x86\ppsspp\memstick
    53:42:083 FileUtil.cpp:253 I[COMMON]: CreateFullPath: path E:\Downloads\ppsspp-v0.9.1-1159-g806e482-windows-x86\ppsspp\flash0
    53:42:083 FileUtil.cpp:257 I[COMMON]: CreateFullPath: path exists E:\Downloads\ppsspp-v0.9.1-1159-g806e482-windows-x86\ppsspp\flash0
    53:42:100 FileUtil.cpp:253 I[COMMON]: CreateFullPath: path cheats
    53:42:100 FileUtil.cpp:257 I[COMMON]: CreateFullPath: path exists cheats
    53:42:100 FileUtil.cpp:253 I[COMMON]: CreateFullPath: path E:\Downloads\ppsspp-v0.9.1-1159-g806e482-windows-x86\ppsspp\memstick\PSP\PPSSPP_STATE
    53:42:100 FileUtil.cpp:257 I[COMMON]: CreateFullPath: path exists E:\Downloads\ppsspp-v0.9.1-1159-g806e482-windows-x86\ppsspp\memstick\PSP\PPSSPP_STATE
    53:42:137 HLE\sceKernel.cpp:141 I[KERNEL]: Kernel initialized.
    53:42:144 HLE\sceKernelModule.cpp:695 I[MODULE]: Decrypting ~PSP file
    53:42:200 C:\BuildAgent\work\acf56f986e98e7c9\Core/ELF/ElfReader.h:58 I[LOAD]: ElfReader: 0E800020
    53:42:202 Util\BlockAllocator.cpp:379 I[HLE]: -----------
    53:42:202 Util\BlockAllocator.cpp:383 I[HLE]: Block: 08800000 - 08804000 size 00004000 taken=0 tag=(untitled)
    53:42:202 Util\BlockAllocator.cpp:383 I[HLE]: Block: 08804000 - 08a5db00 size 00259b00 taken=1 tag=ELF
    53:42:202 Util\BlockAllocator.cpp:383 I[HLE]: Block: 08a5db00 - 0a000000 size 015a2500 taken=0 tag=(untitled)
    53:42:205 ELF\ElfReader.cpp:516 N[LOAD]: ELF loading completed successfully.
    53:42:256 HLE\sceKernelModule.cpp:800 I[LOAD]: Module Nemesys: 00000000 089c2ed0 089c2ee8
    53:42:257 HLE\sceKernelModule.cpp:612 W[LOAD]: Unknown syscall in known module: sceAac 0xd7c51541
    53:42:257 HLE\sceKernelModule.cpp:980 I[LOAD]: Exporting ent 0 named Nemesys, 2 funcs, 4 vars, resident 089c31cc
    53:42:257 HLE\sceKernelModule.cpp:1249 I[LOAD]: Module entry: 088046f0
    53:42:272 root N[SCEGE]: GLES\Framebuffer.cpp:222 GPU Vendor : NVIDIA Corporation
    53:42:361 root N[BOOT]: EmuScreen.cpp:111 Loading E:/ISO/sceaac/PSP-knight-fortix-2.iso...
    53:42:362 root I[KERNEL]: HLE\sceKernelThread.cpp:2075 276=sceKernelCreateThread(name=user_main, entry=08804810, prio=20, stacksize=262144)
    53:42:362 root I[KERNEL]: HLE\sceKernelThread.cpp:2126 sceKernelStartThread(thread=276, argSize=33, argPtr=09fffe00)
    53:42:362 root I[KERNEL]: HLE\sceKernelThread.cpp:2204 __KernelReturnFromThread: 0
    53:42:362 user_main I[HLE]: Util\BlockAllocator.cpp:379 -----------
    53:42:362 user_main I[HLE]: Util\BlockAllocator.cpp:383 Block: 08800000 - 08804000 size 00004000 taken=0 tag=(untitled)
    53:42:362 user_main I[HLE]: Util\BlockAllocator.cpp:383 Block: 08804000 - 08a5db00 size 00259b00 taken=1 tag=ELF
    53:42:362 user_main I[HLE]: Util\BlockAllocator.cpp:383 Block: 08a5db00 - 09f23800 size 014c5d00 taken=1 tag=UserSbrk
    53:42:362 user_main I[HLE]: Util\BlockAllocator.cpp:383 Block: 09f23800 - 09fbfc00 size 0009c400 taken=0 tag=(untitled)
    53:42:362 user_main I[HLE]: Util\BlockAllocator.cpp:383 Block: 09fbfc00 - 09fffc00 size 00040000 taken=1 tag=stack/user_main
    53:42:362 user_main I[HLE]: Util\BlockAllocator.cpp:383 Block: 09fffc00 - 0a000000 size 00000400 taken=0 tag=stack/root
    53:42:435 user_main I[UTIL]: Dialog\PSPSaveDialog.cpp:58 sceUtilitySavedataInitStart(099adadc)
    53:42:435 user_main I[UTIL]: Dialog\PSPSaveDialog.cpp:59 Mode: 0
    53:42:438 user_main I[KERNEL]: HLE\sceKernelThread.cpp:2075 285=sceKernelCreateThread(name=SceWaveMain, entry=089b0a80, prio=10, stacksize=512)
    53:42:438 user_main I[KERNEL]: HLE\sceKernelThread.cpp:2126 sceKernelStartThread(thread=285, argSize=12, argPtr=08a5b618)
    53:42:510 user_main I[KERNEL]: HLE\sceKernelThread.cpp:2075 287=sceKernelCreateThread(name=musicUpdaterThreadMain, entry=0897a4d4, prio=10, stacksize=32768)
    53:42:510 user_main I[KERNEL]: HLE\sceKernelThread.cpp:2126 sceKernelStartThread(thread=287, argSize=0, argPtr=00000000)
    53:42:510 musicUpdater E[HLE]: HLE\HLE.cpp:455 Unimplemented HLE function sceAacInitResource
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 272: Thread "idle0": pc= 08000000 sp= 083fff00 RUN (wt=0 wid=0 wv= 00000000 )
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 273: Thread "idle1": pc= 08000000 sp= 083fef00 READY (wt=0 wid=0 wv= 00000000 )
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 274: Module "Nemesys": name=Nemesys gp=00000000 entry=088046f0
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 276: Thread "user_main": pc= 089a978c sp= 09fff570 WAIT (wt=17 wid=1 wv= 00000000 )
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 277: MemoryPart "UserSbrk": MemPart: 08a5e000 - 09f23d00 size: 014c5d00
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 278: CallBack "exit": thread=276, argument= 00000000
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 279: Mutex "NmsUmdIo": -
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 280: Mutex "NmsMsIo": -
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 281: EventFlag "SceGuSignal": init=00000001 cur=00000001 numwait=0
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 282: OpenFile "disc0:/PSP_GAME/USRDIR/fortix2_psp.blob": Seekpos: 048cf4c7
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 284: EventFlag "SceWaveMainEvf": init=00000000 cur=00000000 numwait=0
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 285: Thread "SceWaveMain": pc= 089b0c20 sp= 09fffe50 WAIT (wt=4 wid=284 wv= 00000000 )
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 286: EventFlag "musicUpdaterThreadMain": init=00000001 cur=00000003 numwait=0
    53:52:985 idle0 I[KERNEL]: HLE\sceKernel.cpp:492 KO 287: Thread "musicUpdaterThreadMain": pc= 0897a7c4 sp= 09fbfa70 WAIT (wt=2 wid=287 wv= 00000000 )
    53:52:986 idle0 I[KERNEL]: HLE\sceKernel.cpp:152 Shutting down kernel - 14 kernel objects alive
    53:52:986 HLE\sceKernelMemory.cpp:248 I[KERNEL]: Shutting down user memory pool:
    53:52:986 Util\BlockAllocator.cpp:379 I[HLE]: -----------
    53:52:986 Util\BlockAllocator.cpp:383 I[HLE]: Block: 08800000 - 0a000000 size 01800000 taken=0 tag=(untitled)
    53:52:986 HLE\sceKernelMemory.cpp:251 I[KERNEL]: Shutting down "kernel" memory pool:
    53:52:986 Util\BlockAllocator.cpp:379 I[HLE]: -----------
    53:52:986 Util\BlockAllocator.cpp:383 I[HLE]: Block: 08000000 - 08400000 size 00400000 taken=0 tag=threadrethack
    53:52:987 MemMap.cpp:119 I[MM]: Memory system shut down.
    53:52:988 Config.cpp:259 E[LOAD]: Error saving config - can't read ini ppsspp.ini
    53:52:992 Config.cpp:388 I[LOAD]: Config saved: ppsspp.ini
    53:52:992 Config.cpp:393 E[LOAD]: Error saving config - can't read ini controls.ini
    53:52:995 Config.cpp:400 I[LOAD]: Controller config saved: controls.ini
    53:53:026 Config.cpp:388 I[LOAD]: Config saved: ppsspp.ini
    53:53:027 Config.cpp:400 I[LOAD]: Controller config saved: controls.ini

  3. unknownbrackets commented on Sep 23, 2013

    @unknownbrackets
    Collaborator

    Might try having sceAacInitResource() return 0.

    -[Unknown]

  4. sum2012 commented on Sep 23, 2013

    @sum2012
    Collaborator

    No help (Real PSP also return this value)
    maybe thread issue.
    Debug log;
    https://docs.google.com/file/d/0B3OaSdeV0L8kLURIazZzalR1VGs/edit?usp=sharing

    edit:JPCSP can run to title
    JPCSP log
    https://gist.github.com/sum2012/3e52b69cee01b7969f42

  5. unknownbrackets commented on Oct 12, 2013

    @unknownbrackets
    Collaborator

    Updated the issue with a list of reported games that use sceAac.

    -[Unknown]

  6. unknownbrackets commented on Jan 22, 2014

    @unknownbrackets
    Collaborator

    The list of games in the initial post are still the only ones reported to use sceAac.

    None of these seem to have demos and I had trouble finding if they do or do not work at all in PPSSPP currently. I assume they are missing music or effects or voices or something, if they even run.

    A more recent log would be useful, it should note better how the functions are used.

    -[Unknown]

  7. sum2012 commented on Jan 22, 2014

    @sum2012
    Collaborator
  8. sum2012 commented on Feb 20, 2014

    @sum2012
    Collaborator

    Test on Fortix Eur version (NPEZ00096) on -v0.9.7.2-52
    No blackground music
    log:https://drive.google.com/file/d/0B3OaSdeV0L8kX0lEbXJtLUZ2c0E/edit?usp=sharing

  9. sum2012 commented on Feb 20, 2014

    @sum2012
    Collaborator
  10. sum2012 commented on Feb 20, 2014

    @sum2012
    Collaborator

    NPEZ00390 : Speedball 2 Evolution Black screen
    https://gist.github.com/sum2012/92abd24b250492de921b

  11. dbz400 commented on Apr 26, 2014

    @dbz400

    @sum2012 , just wonder are those games working better now?

  12. sum2012 commented on Apr 26, 2014

    @sum2012
    Collaborator

    @raven02 Only Fortix Eur is fixed
    Knight Fortix and NPEZ00390 : Speedball 2 Evolution still have problem

  13. dbz400 commented on Apr 27, 2014

    @dbz400

    I see. thanks @sum2012 .

  14. sum2012 commented on Sep 16, 2014

    @sum2012
    Collaborator

    PPSSPP v0.9.9.1-458-g94c865b Windows 64 bit
    NPUZ00300 - Knight Fortix 2 is fixed
    log:
    https://gist.github.com/sum2012/9a9177292b54f5ddfed2

  15. Panderner commented on Mar 23, 2020

    @Panderner
    Contributor

    SceAac uses AAC. AAC files can be played in most devices, Windows, IOS, Android, can play AAC files
    I don't think I needed to implement AAC via ffmpeg or faac

  16. hrydgard commented on Mar 23, 2020

    @hrydgard
    Owner

    We try to not rely on platform APIs for stuff like that wherever possible, because there's always a chance that they'll behave differently on one platform than another. So it's best to use FFMPEG. Either way, that's not really the problem here, it's just that the sceAac API needs to be better figured out and hooked up.

  17. added this to the v1.19.0 milestone on Apr 14, 2024
  18. modified the milestones: v1.19.0, v1.20 on Feb 13, 2025
  19. Unknowncat1991 commented on Mar 23, 2025

    @Unknowncat1991

    I tried Knight Fortix 2 no audio issue

    Image

    Speedball Evolution 2 stay on blackscreen but pressing start can start the game similar to this #15004

    Image

  20. Panderner commented on Apr 13, 2025

    @Panderner
    Contributor

    Needs game testings after #20246

  21. hrydgard commented on Apr 13, 2025

    @hrydgard
    Owner

    Hm, not really, since that one is for sceAudiocodec, the lower level library that sceAac uses internally. sceMp4 is a bit different, it's not just audio but also video, and it seems to be a wrapper around a lower level mp4 library called mp4msv to handle a lot of the parsing (but also calls sceAudiocodec for the audio).

    Although, for sceAac specifically, it might be possible to just do DisableHLE for it and let it take care of itself, assuming the game ships a copy of sceAac.prx...

  22. modified the milestones: v1.20, Future-Prio on Jul 20, 2025
  23. hrydgard commented on Jul 20, 2025

    @hrydgard
    Owner

    Actually this issue is a bit outdated. sceAac is implemented and working through an AuCtx.

    The remaining issue is sceMp4, which isn't really what this issue is about. Creating a separate issue for that.

  24. modified the milestones: Future-Prio, v1.20 on Jul 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions