Homebrew CTRX - PS1 Emulator

  • Thread starter Thread starter machinamentum
  • Start date Start date
  • Views Views 183,808
  • Replies Replies 502
  • Likes Likes 62
Oh well ok
You know something b
That can play? Something cool?
Currently, event handling (such as vblank) is broken in the BIOS and that is required to run anything other than the few modified homebrews I've uploaded that have vblank syncing disabled. This is the current problem I'm working on.
 
it say iso support but not file browser how to load ?
As this is at a conceptual "alpha" phase, luxuries, like file browsing, are not planned to be implemented for awhile. However, you can name an ISO file "puzzle.hsf" and place it in the CTRX folder, and it will attempt to run. However, note that it doesn't support the "raw ISO" format which seems to be virtually the same but with file directory entires stripped (cue/bin combination).
 
So we have PCSX-ReARMed on Retroarch now, it plays games around 1/3 speed on O3DS and about 4/5 speed on N3DS.

Not saying you should stop working on this, being written from the ground up and not a port, it's sure to run games faster when it's done. Just like mGBA runs games faster than other, ported, emulators.
 
So we have PCSX-ReARMed on Retroarch now, it plays games around 1/3 speed on O3DS and about 4/5 speed on N3DS.

Not saying you should stop working on this, being written from the ground up and not a port, it's sure to run games faster when it's done. Just like mGBA runs games faster than other, ported, emulators.
Well, yeah. He should keep making this. I'd love to see where it goes. But gpSP runs some games much faster then mGBA, even without a kernel hack.
 
@machinamentum I heard in the CitrAGB thread that if you do this you can have pseudo dynarec on the latest firmwares. (If I understand correctly.)
I thought about doing that for several weeks now. Since dynrec isn't a priority, I've yet to try it. It should work though. The idea is to fill the icache with garbage so the processor is forced to refetch instructions from main memory. I assume it's incredibly slow, however, as not only do you get huge cache missing from clearing the cache but you're also wasting a lot of CPU time just doing nothing. It'd be far more efficient to write 32k of linear code that actually does something useful.
 
I thought about doing that for several weeks now. Since dynrec isn't a priority, I've yet to try it. It should work though. The idea is to fill the icache with garbage so the processor is forced to refetch instructions from main memory. I assume it's incredibly slow, however, as not only do you get huge cache missing from clearing the cache but you're also wasting a lot of CPU time just doing nothing. It'd be far more efficient to write 32k of linear code that actually does something useful.
I think it's still worth a shot though! :)
 
I think it's still worth a shot though! :)
Well your not doing the programming.

I thought about doing that for several weeks now. Since dynrec isn't a priority, I've yet to try it. It should work though. The idea is to fill the icache with garbage so the processor is forced to refetch instructions from main memory. I assume it's incredibly slow, however, as not only do you get huge cache missing from clearing the cache but you're also wasting a lot of CPU time just doing nothing. It'd be far more efficient to write 32k of linear code that actually does something useful.
Yeah I imagine it would slow things down although you can mitigate it slightly by doing a jump every 4 opcodes but yeah it might be quicker to just force a thread switch to clear the cache... like have the actual dynarec'd code run in its own thread and when it gets to something thats not translated it just tells the main thread what to dynarec next then sleeps/exits the thread or something.
 
Well your not doing the programming.


Yeah I imagine it would slow things down although you can mitigate it slightly by doing a jump every 4 opcodes but yeah it might be quicker to just force a thread switch to clear the cache... like have the actual dynarec'd code run in its own thread and when it gets to something thats not translated it just tells the main thread what to dynarec next then sleeps/exits the thread or something.
I'm just saying, if it might improve performance then try it! I'm not forcing him to do it....
 
  • Like
Reactions: Margen67
If people dare to tell this guy that he should stop, that people must be high or something.

(EDIT: Awww, ur likes makes me blush)
High........Or Stupid.

In all seriousness, though, machinamentum, You're doing great! This emulator is developing at an amazing pace, and, I think I speak for us all, We can't wait to see the finished product! Best of luck to you, Sir and/or Madame!
 

Site & Scene News

Popular threads in this forum