Hacking [HELP WANTED] Desmume PSP

TheMrIron2

Well-Known Member
OP
Member
Joined
Aug 5, 2017
Messages
218
Trophies
0
XP
978
Country
Ireland
Hey everyone, a friend of mine who goes by the name hcfcoder (or just hcf) recently made a rudimentary port of Desmume's last stable release (from 2015) to PSP. It runs and boots games, but as everything is running on layered code using SDL and everything is completely unoptimised (interpreter used, all code running on CPU, no GPU at all...) so right now, it purely exists as a proof of concept. It runs about as well as Mupen64 on Vita for the very same reasons.

That's where I want some help! Using DSonPSP (another proof of concept, but with hardware acceleration and some improvements) by Yoshihiro as a reference, I'd like to:
- Use Exophase's gpSP ARM7-to-MIPS dynarec instead of the slow ARM7 interpreter
- Move ARM7 code (the DS secondary CPU) to the PSP's secondary CPU, the Media Engine
- Make everything native, removing the abstraction layers (eg. SDL)
- Hardware accelerate the graphics

Eventually, down the line, a dynarec for the main ARM9 CPU would be a goal and so would a bit of assembly to speed up important parts of the code base, but right now that's for the distant future. If anyone is interested, please let me know. One or two DaedalusX64 programmers have some interest in working on this as well, but we will need more people than that.

I am optimistic about this project but we'll need people onboard. Yoshihiro's code is based on Desmume code that is over 10 years old, yet using only interpreters and some hardware acceleration it attains 30-40% speed in games such as Ace Attorney and Yoshi's Island. That's incredible - DaedalusX64 in interpreter mode only reaches those speeds on a select few titles as well, and that's a well optimized emulator! It will require work and time to get it to a good state, but it is definitely doable.

The GitHub repository can be found here, with an invite to our PSP discord if you have questions: https://github.com/TheMrIron2/DeSmuME-PSP/ and it compiles under Minimal PSP SDK. (Update: as of 17/6/19 it compiles on the latest toolchain!)
And here is a video of the code booting Zoo Keeper:

If you can't contribute to the programming yourself, please let people know who might be able to - thanks!
 
Last edited by TheMrIron2,

TheMrIron2

Well-Known Member
OP
Member
Joined
Aug 5, 2017
Messages
218
Trophies
0
XP
978
Country
Ireland
but is that possible? to get a nds emulator work with full speed on psp?
Absolutely, I believe so. Yoshihiro's unfinished DSonPSP runs some games between 30-40% speed, which is dreadfully optimised by emulating both CPUs and all sound on the main CPU, and it uses an interpreter which is very slow.. and yet it runs the same as DaedalusX64, an optimised emulator, in interpreter mode!

Even if it isn't possible without serious assembly, it would be a great proof of concept.
 
  • Like
Reactions: Malckyor and Manana

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    Hey Kennyboy, have you found any decent mini Pc for around $200-250? Fast enough to play most Pc games.
  • K3Nv2 @ K3Nv2:
    I'd say save another $100 anythtwith 8core upgradeable ram I'm thinking about ordering the acemagic still
    +1
  • BigOnYa @ BigOnYa:
    Damn, I haven't turn on my OG Xbox one in ages, just did now and ofcourse, 32GB update required, gonna take forever.
  • BigOnYa @ BigOnYa:
    Edit: nevermind, I forgot I up-ed my internet speed, only 30 min remaining.
  • BigOnYa @ BigOnYa:
    Will a mobo with a M2ssd slot work without a M2ssd installed, using a sata ssd temporary?
  • K3Nv2 @ K3Nv2:
    As long as sata just point bios to boot to it as main drive
    +1
  • SylverReZ @ SylverReZ:
    @K3Nv2, Is that a compilation of you?
  • K3Nv2 @ K3Nv2:
    M.2 is more of a luxury you can still boot from Ide if you really wanted to
    +1
  • K3Nv2 @ K3Nv2:
    I mean as long as the motherboard still has sata ports unless you're still in celeron days
  • Xdqwerty @ Xdqwerty:
    wut
  • BigOnYa @ BigOnYa:
    Nuh it has Sata 3
  • K3Nv2 @ K3Nv2:
    It should still have a Bootable option in bios select drive
    +1
  • Xdqwerty @ Xdqwerty:
    whats sata?
  • K3Nv2 @ K3Nv2:
    How you were born
  • BigOnYa @ BigOnYa:
    Sata is the type of interface/cable connection of hard drives/disc drives for Pc.
    +1
  • K3Nv2 @ K3Nv2:
    Don't tell them about old bank drives may explode
  • BigOnYa @ BigOnYa:
    Mini pcs in the 70's
  • K3Nv2 @ K3Nv2:
    128kbs of storage
    +1
  • K3Nv2 @ K3Nv2:
    How do I connect this to my emachine
  • K3Nv2 @ K3Nv2:
    The Tattooist of Auschwitz is pretty good so far
    K3Nv2 @ K3Nv2: The Tattooist of Auschwitz is pretty good so far