Homebrew Do you think a PS1/PSX emulator would be possible?

  • Thread starter Thread starter DutchyDutch
  • Start date Start date
  • Views Views 20,506
  • Replies Replies 116
  • Likes Likes 2
Status update on current efforts: the current interpreter is now pretty stable. It's still missing exception handling and a handful of instructions, but enough of the instruction set is implemented to run simple homebrews (or at least run some code written to be run without a BIOS, which is near non-existent besides a few BIOS replacements floating around). As of today, the emulator is stable enough to draw simple 2D quads (command 0x28). The kernel included in my GitHub can be built to test the emulator.
 
Status update on current efforts: the current interpreter is now pretty stable. It's still missing exception handling and a handful of instructions, but enough of the instruction set is implemented to run simple homebrews (or at least run some code written to be run without a BIOS, which is near non-existent besides a few BIOS replacements floating around). As of today, the emulator is stable enough to draw simple 2D quads (command 0x28). The kernel included in my GitHub can be built to test the emulator.
You should make a New Thread for your PSX Emulator and provide a compiled 3dsx for people so they can help test :D
 
  • Like
Reactions: Margen67 and SLiV3R
PSP had the luxury of having a working emulator in the system in the first place. Sony made one, for their digital shop, and it just works.
Just like if we get a homebrew for running injection, we got emulators for several systems already.

What will most likely happen is that somebody will attempt to port over a already existing emulator, which won't run because it has retarded system requirements, or will only games that works on that emu's speedhacks.

Actually, they wrote a virtual machine, not an emulator, hence why PSX games run perfectly, same CPU architecture for PSP and PSX (MIPS), big difference lol.
 
  • Like
Reactions: Margen67
Right, 96MB, i forgot nintendo gave alittle more space for the devs. Initially it as 64.


NVM, i was fucking right about the 64 MB -> "At the moment, ninjhax only allows users to access 64MB of RAM, including on the New 3DS. This may change in the future."

Source : http://3dbrew.org/wiki/Ninjhax

Secondly, as i read on the citragba topic, for the moment, they can't write a dynamic recompiler because we can't allow arbitrary pages of code to be executed with the current hacks (tubehacks / ironhacks. We need at least a kernel exploit, which is not going to happen before a while. -> So it is very unlikely we'll end up with a good PSX emulator. -> you can't hope to have a decent framerate with an interpreter on a 266 Mhz ARM... -> Don't even dream about it.
 
Right, 96MB, i forgot nintendo gave alittle more space for the devs. Initially it as 64. I disagree on some facts about the PICA200 being on par with gamecube GPU.
Homebrew only had one RAM die access. I think Nintendo gave devs up to 96MB RAM mode depending on the demands of their game.

And i don't get why you brought the gamecube on topic, since I talked about WiiSX on the Wii :
In comparison to the old 3DS which is on par with the Gamecube in CPU power. It can't hold a candle to the New 3DS.
Reviewing the past post. We can see that I was correcting you about comparing the old 3DS to the Wii, saying that old 3DS is closer to the GC than the Wii, which would be better compared with the N3DS.

i don't see any good PSX emulator on the gamecube : gcsx never gone further than the proof of concept.
There is are fully operational PSX and N64 emulators for GC, I don't know if they became public or the extent of compatibility, but the fact of the matter is that they do exist and run flagship titles just fine. If the GC indeed can't run games past the more basic ones in the PSX/N64 library. That would only provide explanation that 6th gen-tier hardware generally isn't powerful enough for the task, not just that the old 3DS alone(with it's ARM architecture to keep in mind) isn't up to it.

OK the pica 200 handle shaders that didn't event existed on the gamecube GPU (it was using GX special shading language but really poor in comparison), so yes it can achieve nicer lightings and texture effects, BUT its raw horsepower; the fillrate is lower.
In a gaming system, a GPU's primary purpose is to produce the best visual techniques with the screen it is given. Fillrate is heavily dependent on screen size/resolution. Comparing handheld/mobile screens to that of home consoles is like comparing apples to oranges. It's like saying the PSX had a better GPU than the DS because it output a better fillrate, polycount, resolution, etc. But anyone can look at the games and talk to people who have worked with the hardware and draw a fair conclusion that the DS's hardware, with the given screen the visuals are being displayed on, compares favourably to the PSX. Even the Vita with it's monsterous fillrate and polycount when blown up on an HDTV without PSTV magic will look closer to, if not worse than the best Wii or GC visuals, yet we know which hardware in that comparison has the better GPU. When Capcom said the Pica200 was more capable than the hollywood in the Wii, they were talking about the shader/polycount which allowed them to do more with the GPU. The Pica200 was preferable to the hollywood if you were looking to produce better graphics.

Gamecube side was estimated on 600MPixels with one pipe you could use 2 but let's get honest, not multiply by two and let's assume it reach on best case ~900Mpixels/sec peak, the pica200 clocked at 200 Mhz is at 800Mpixels/sec peak. And for the emulation, it's not the shaders that matters.
The GC could not pull off such as feat without sacrificing other functions. Rouge squadrin was famous for doing that as well as reaching into the CPU for additional polycounts. The end result was less available CPU power to than normal. On a 3DS, this wouldn't happen on normal settings.

BUT, forget about that, since the fillrate won't be a problem because the resolution is lower. And, i said on my first topic that the PICA200 was the good side.
Ok, so you get my point.

The real downside is the rather low CPU.

The ARM core present on the 3DS is really not enough... And moreover we only get one core on user mode...
Which brings us back to the previous point I made. The ARM CPU in the old 3DS is about as capable as the one in the GC. Since 6th gen systems seem to have trouble with compatiblity from what I've seen so far, coupled with the ARM-based architecture, PSX/N64 emulation issues might be more the fault of architecture than raw power. The 3DS is by raw power capable of running both consoles games via emulation, it's the ARM architecture I'm worried about.

Prove me i'm wrong, I challenge you to do so. But I'm pretty sure I'm not. I'm following the scene for more than 10 years (dreamcast / nds / gamecube / wii / 3DS and wii U) and i highly doubt we'll have the perfect PSX emulator that everyone is waiting for. We'll pretty much get some nice proof of concept but nothing close of the emulation we can already have on PC / high end android tablets / ...)

Let's face the history :
Dreamcast : bleamcast -> Commercial product / very low compatibility despite sharing some base processor wide -> garbage
Gamecube : gcsx -> POC / No menu / no CDXA / Low compatiblity -> Garbage
Wii : WiiSX -> fairly good compatibility but unfinished business -> best one we ever had but miles away from other devices. (personnaly, I never achieved to run mednafen on my wii)

I highly doubt of a polished homebrew, but I'm still ready for someone to shut my mouth with a nice demo.
As I am not a utility homebrew dev, I cannot personally attempt to prove it myself. However if someone can whip up a test emulator on both 3DS models to benchmark the emulation capabilities, then we can get somewhere.
 
I'd fancy a Playstation 2 emulator to be honest.
Muahahaha Nah.

If you search CTRX on Github, there's an emulator in the works, and you're able to compile it and use it. It doesn't boot any games or even the BIOS yet I don't believe. (I personally haven't tried) It just emulates the PSOne kernel with debugging on an interpreter at the moment, I think. I'm just going by what I think is going on due to the source changes. It's being worked on, don't worry. It's just some days, you won't see an update for a few days. It's considered to be a "Research Project" right now.

The author is waiting until he can actually boot I think at least PSOne homebrew before he even thinks about making a new thread for it. Machinamentum said if you're able, contributions are very welcome! I'm not a programmer so I can't do so, but I would if I could. Don't leave him hanging! If you're an experienced programmer, help out! :) He's the only one that's worked on it!

Here's the link for it: https://github.com/machinamentum/CTRX
 
Last edited by Selim873,
  • Like
Reactions: Margen67
If you search CTRX on Github, there's an emulator in the works, and you're able to compile it and use it. It doesn't boot any games or even the BIOS yet I don't believe. (I personally haven't tried) It just emulates the PSOne kernel with debugging on an interpreter at the moment, I think. I'm just going by what I think is going on due to the source changes. It's being worked on, don't worry. It's just some days, you won't see an update for a few days. It's considered to be a "Research Project" right now.
It won't boot the official BIOS, but fear not! A lot of BIOS functions are now implemented in the freeware BIOS included in the source distribution. At this point, it requires a PSX EXE placed at sdmc:/3ds/CTRX/boot.exe. The CTRX BIOS expects the PSX EXE to be loaded at specific address then jumps to it post-initialization (the address is a default address used by open source PSX SDK's). Also the BIOS is the Kernel in this context.
 

Site & Scene News

Popular threads in this forum