Homebrew CTRX - PS1 Emulator

  • Thread starter Thread starter machinamentum
  • Start date Start date
  • Views Views 183,827
  • Replies Replies 502
  • Likes Likes 62
OHHH, ok thanks !
But, we can't start a homebrew/game with this version ???
 
I know, but we can't start other homebrew psx with the current version of the emulator ???
 
  • Like
Reactions: Margen67
Keep in mind that the 3DS is not going to render the games at nearly the same resolutions that your computer would, and that the hardware will pretty much be entirely dedicated to the emulator (as opposed to your computer, which is likely doing a lot more than that at any given time).
Huh, yeah, I understand now.
 
Yeah, but what if you wanted to play a game that uses L1, L2, R1, R2, and the dual analog at the same time on the o3DS? You can't. You'd need an n3DS.

On PSP you had an special command to input BOTH L2 and R2.
I think you had to hold down the circle stick. I remember it from FF8 where you had to escape from a robot at the start of the game.
So it would be the same for O3DS.
 
  • Like
Reactions: AtlasFontaine
On PSP you had an special command to input BOTH L2 and R2.
I think you had to hold down the circle stick. I remember it from FF8 where you had to escape from a robot at the start of the game.
So it would be the same for O3DS.
That doesn't really fix the issue. What if you wanted to push L1 and R2 at the same time? And dual analog games? You'd need a circle pad pro on the o3DS.
 
That doesn't really fix the issue. What if you wanted to push L1 and R2 at the same time? You'd need a circle pad pro on the o3DS.
I don't see what are you trying to imply, if you have a N3ds fine you don't have to remap anything but the people who have O3DS can input those buttons.
 
I don't see what are you trying to imply, if you have a N3ds fine you don't have to remap anything but the people who have O3DS can input those buttons.
What? I'm not implying anything. I'm just stating facts. It doesn't have enough buttons. The o3DS doesn't even have two analogs... Are you really going to remap every time you want to press a diferent combo of L1/L2/R1/R2?
 
Please note that memory access bits only restrict page access internally by the CPU. Asking the GPU to write data to main memory allows writing to arbitrary locations (although the GPU can only access a limited portion of main memory). This is how ninjhax ROP-chains load the payload that loads the homebrew menu. See gspwn info on 3dbrew. All we need to know is which memory pages are safe to be written to at run time without overwriting parts of the emulator or other important data.

Ah ok. That makes sense. Good luck man!
 
So? I don't see what are you trying to prove lol, if this is successful O3ds can play psx games without the analogs like the psp and that's what al matters :mellow:
I don't see what you're trying to prove. What I'm saying is just true... Dual analog games and games that require heavy use of L1/L2/R1/R2 won't work very well.
 
What does icache mean? Just curious :P
The CPU internally has a very, very fast, but very small amount of built-in memory called a cache. Data and CPU instructions are stored in the cache for quick access when you want to manipulate or visit specific memory locations many times. Reading from the cache as opposed to main memory is what gives you performance. When you try to read from a location not in the cache, a line of the cache is invalidated and the new location is read into that cache line, this has the consequence of waiting an extremely long time to get a few bytes of data into the CPU. "icache" is just a short hand way to refer to the cache lines dedicated to the CPU instructions (instruction cache).

Additionally, the icache doesn't just update from writing memory to an executable page because using gspwn to do the write instead of the CPU doesn't invalidate the instruction cache lines.
 
The CPU internally has a very, very fast, but very small amount of built-in memory called a cache. Data and CPU instructions are stored in the cache for quick access when you want to manipulate or visit a specific memory locations many times. Reading from the cache as opposed to main memory is what gives you performance. When you try to read from a location not in the cache, a line of the cache is invalidated and the new location is read into that cache line, this has the consequence of waiting an extremely long time to get a few bytes of data into the CPU. "icache" is just a short hand way to refer to the cache lines dedicated to the CPU instructions (instruction cache).

Ah ok. Another question: How can you determine if a specific area of ram is executable or not?

Also, how do you get instructions into the icache?

(Was kinda wanting to experiment around with this myself :P)
 
  • Like
Reactions: teampleb

Site & Scene News

Popular threads in this forum