Repository navigation
Call of Duty: Black Ops (PPSA34501) #5389
alexpournaras
started this conversation in
Game bring-up
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Tested
sce_module.Status
On the
games/blackopsbranch (based onmainfrom before #4672): in game on Windows. Campaign starts at Cuba, which is playable with rendering, reflections, music, speech, sound effects and the HUD working. Zombies is also playable in Solo mode.On current
main(c422b57, 2026-10-13): stops at start-up.Also not working: Multiplayer, Zombies Online, Zombies Split-Screen (No second controller input).
games/blackopsHow to run it
The
games/blackopsbranch is a fork frommainc422b57 plus the changes I did to make the game boot and play campaign and zombies solo mode, without multiplayer and zombies online crashing it.relinker --windows source/eboot.bin app.exe. Copybuild/core/libs/libs/*.prxintolibs/. Also copylibSceCesCs.prxaslibSceCesCs-module.prx: the title imports Ces under that module name and the build does not make that file. Theapp0/data directories are junctions into the extracted data.Environment variables:
APS5_TIME_SCALE=4: needed. Guest clocks run 4 times faster, so the game keeps its normal speed at the low frame rates in the table above. Without it the game runs in slow motion. The window title FPS counts host time, so it stays correct with this setPerformance
Performance is currently the main bottleneck, especially in areas with high draw counts.
A 30-second campaign capture replay (9,312 draws/frame, 7,460 shaders) averages 9.52 FPS (~88,690 draws/s). Profiling points to CPU-side draw preparation, shader processing, and resource handling as the main bottlenecks. I'm experimenting with reusable draw templates, multithreaded preparation, and GPU-driven batching to reduce per-draw CPU overhead.
The long-term target is 10,000 draws/frame at 30 FPS.
Pull Requests
unresolved ELF import ZiDCxUUGbec: feat(ces): implement sceCesUcsProfileInitSJis1997Cp932 #5153unresolved ELF import qYu6y1E0Qbg: feat(libSceCesCs): declare sceCesRefersUcsProfileCp1250 #5546sceVoiceGetPortAttr: attribute 1001 not implemented: feat(libSceVoice): implement sceVoiceGetPortAttr #5956libSceCesCs-module.prxnot needed: feat(libSceCesCs): build libSceCesCs-module from the libSceCesCs source #5425All reactions