Homebrew Portal 3DS Alpha demo

  • Thread starter Thread starter gudenau
  • Start date Start date
  • Views Views 85,804
  • Replies Replies 138
  • Likes Likes 24
  • Like
Reactions: Margen67
If anyone gets this compiled and working it should be added to the OP. I would try to compile myself but my computer is in a bad way at the moment.
 
I have a feeling it's like Minecraft3D, where it only works on Ninjhax for some reason, even if it's compiled using very specific versions of libctru.
 
I have a feeling it's like Minecraft3D, where it only works on Ninjhax for some reason, even if its compiled using very specific versions of libctru.
I have a feeling it's like Minecraft3D, where it only works on Ninjhax for some reason, even if its compiled using very specific versions of libctru.
I suspect this has to do with svcCreateThread calls. Both portal3ds and 3dscraft set the processorid to 1. I believe this sets the new thread to use a processor different than the main thread. This only seems to work with ninjhax.
 
I suspect this has to do with svcCreateThread calls. Both portal3ds and 3dscraft set the processorid to 1. I believe this sets the new thread to use a processor different than the main thread. This only seems to work with ninjhax.


The difference though is that 3dscraft renders stuff, but is completely broken graphically (no ground, only shows a flickering sky). Portal just shows a black screen no matter what you do. I guess if I get bored enough I'll try to make Portal run on only one thread, regardless of any performance drops.
 
The difference though is that 3dscraft renders stuff, but is completely broken graphically (no ground, only shows a flickering sky). Portal just shows a black screen no matter what you do. I guess if I get bored enough I'll try to make Portal run on only one thread, regardless of any performance drops.
in 3dscraft the world is loaded in a thread - since the thread never starts the world remains empty. portal3ds run physics in a thread. the physics thread has a mutex. sending physics requests waits on that mutex - since the thread is not running it never gets released == portal3ds waits forever.

in physicsThread.c change
Code:
 Result val = svcCreateThread(&p->thread, physicsThreadMain, (u32)p, (u32*)&p->stack[PHYSICSTHREAD_STACKSIZE/8], 0x18, 1);
to
Code:
 Result val = svcCreateThread(&p->thread, physicsThreadMain, (u32)p, (u32*)&p->stack[PHYSICSTHREAD_STACKSIZE/8], 0x18, 0xfffffffe);

it may work...
 
There's no point if you're looking for a CIA or .3ds build, it just doesn't work. Or were you looking for a .3dsx file?
 
  • Like
Reactions: SimisFul
Wow! I can't believe all these amazing things coming out! what a DAY!

Oh, wait a moment :glare: ..... fuck... totally thought this was a joke
 

Site & Scene News

Popular threads in this forum