Homebrew [SNEmulDS] Rebirth the project and update it for the last DKP

DanTheManMS

aka Ricochet Otter
Member
Joined
Jun 2, 2007
Messages
4,453
Trophies
1
Age
34
Location
Georgia
XP
751
Country
United States
Darn, I should have read the ReadMe first! That's the point of it being named ReadMe in the first place!

Unfortunately, I'm still having trouble. Thank you for the guidance so far. I downloaded ToolchainGenericDS-multiboot and the other files in the arm7dldi-ntr folder to the root of my SD card.

I went from the Supercard launcher, to ToolchainGenericDS-multiboot, chose SNEmulDS_dsp.nds and the optional argument of the Super Mario Kart rom file. It booted, but with the exact same behavior as before. Froze at the exact same spot.

This could be user error. I haven't updated my Supercard's firmware in a long time.
 
  • Like
  • Sad
Reactions: Coto and Nikokaro

NightScript

Well-Known Member
Member
Joined
Feb 7, 2016
Messages
951
Trophies
1
Age
20
XP
2,237
Country
United States
Added an experimental DSP-only branch (which means other games than DSP won't work, if that's the case please use TGDS1.65 branch instead):

View attachment 331312

Source

Note: tweak sprite settings
Oh wow. Is it possible to detect which games use DSP so this could all be in one branch, or would it be a major bottleneck to have the DSP in the main binary?
 
  • Like
Reactions: Coto

exavadeathwitch

Member
Newcomer
Joined
May 31, 2019
Messages
18
Trophies
0
Age
22
XP
106
Country
United States
Thanks!

Yes, all TGDS software (SnemulDS included) needs to be ran through ToolchainGenericDS-multiboot. Both NTR and TWL modes.
I updated README.MD in dsp branch as well.

edit: Also got fixed an issue with SnemulDS branch not downloading due to excessive repository size, it's back to normal now so it should be available again.
Are there any plans to increase performance for the emulator? Or do you think that this is as good as it'll get.
 
  • Like
Reactions: Coto

exavadeathwitch

Member
Newcomer
Joined
May 31, 2019
Messages
18
Trophies
0
Age
22
XP
106
Country
United States
I am not a dev but I will try to answer you about that : the main reason is the portability. ZSNES has been made around X86 code to match the X86 platform as much as possible. This is why it outperformed other SNES emulators (in terms of speed) back in the time like SNES9X (SNES96 +97 AFAIR).
The pros is the emulation speed. The cons is the difficulty to improve its accuracy and port it to other platforms.

SNES9X is very portable and accurate (I mean far better than ZSNES), this is why it was alway a good choice by devs to port it.
However is needs too much juice for our DS. Maybe the DSi can handle it but with a lot of frameskip.

Just like ZSNES, the best way to have a good emulation on a weak device is to develop a dedicated emulator, but this is another story...
is there an equivalent of zsnes with fast emulation for the sega genesis? I'm looking into picodrive's code to improve performance, there's some optimization needed for the genesis cpu and I want to try and make the rendering faster. If there's a better emulator, might make sense to port from scratch something new. Also is this the zsnes code? Seems like it's in C, so maybe translation to the ds hardware might be doable?
https://github.com/xyproto/zsnes
 

Cris1997XX

Well-Known Member
Member
Joined
Oct 31, 2021
Messages
472
Trophies
0
Age
23
XP
1,270
Country
Italy
is there an equivalent of zsnes with fast emulation for the sega genesis? I'm looking into picodrive's code to improve performance, there's some optimization needed for the genesis cpu and I want to try and make the rendering faster. If there's a better emulator, might make sense to port from scratch something new. Also is this the zsnes code? Seems like it's in C, so maybe translation to the ds hardware might be doable?
https://github.com/xyproto/zsnes
There's JenesisDS, but it's still not that accurate and features cropped game visuals (Along with a stupid 3MB size limit for the titles because of the RAM)
 

Cris1997XX

Well-Known Member
Member
Joined
Oct 31, 2021
Messages
472
Trophies
0
Age
23
XP
1,270
Country
Italy
jenesisds is closed source, I'm talking about open source emulators on pc that run fast that could be ported to ds.
I mean...there's very few old emulators that are also open source, plus you still need to keep the difference in hardware into account. As an example, a computer from 2010-11 playing Kega Fusion will run circles around the DSi, not to mention the original model
 

Coto

-
Member
Joined
Jun 4, 2010
Messages
2,979
Trophies
2
XP
2,565
Country
Chile
Darn, I should have read the ReadMe first! That's the point of it being named ReadMe in the first place!

Unfortunately, I'm still having trouble. Thank you for the guidance so far. I downloaded ToolchainGenericDS-multiboot and the other files in the arm7dldi-ntr folder to the root of my SD card.

I went from the Supercard launcher, to ToolchainGenericDS-multiboot, chose SNEmulDS_dsp.nds and the optional argument of the Super Mario Kart rom file. It booted, but with the exact same behavior as before. Froze at the exact same spot.

This could be user error. I haven't updated my Supercard's firmware in a long time.
This environment is recommended for Supercard SD + TGDS homebrew:
https://bitbucket.org/Coto88/preset-homebrew-layouts/src/master/

Also SnemulDS has some synchronization issues (i've fixed most of them but still bugs remain), so it may require a few tries to get sound working.

Are there any plans to increase performance for the emulator? Or do you think that this is as good as it'll get.
You'd be amazed, but actually the NDS CPU isn't busy rendering Mode7 stuff, but the emulator cycle duty is very close to what the NDS can do. This means the slowdown comes from SnemulDS and not NDS and there is little that can be done about it, stealing cycles is what i've tried to speed it up. But that breaks compatibility, so, it's isolated as a standalone branch, named DSP

Example

Oh wow. Is it possible to detect which games use DSP so this could all be in one branch, or would it be a major bottleneck to have the DSP in the main binary?
Not enough space sadly, the emulator alone has to coexist with TGDS API, SnemulDS UI both allocating memory... of which can't be higher than 0x020c0000 (768K, and since SnemulDS takes up to 531K, that's 0xC0000-0x84C00= 0x3B400 or 240K of free malloc memory), since after that there's the linear 3MB ROM address (to support 3M games without paging).

CX4 could be merged into TGDS1.65 because the HLE core fits. DSP requires a standalone branch.
 
Last edited by Coto,

Nikokaro

Lost philosopher... searching for a way out...
Member
Joined
Feb 3, 2020
Messages
2,191
Trophies
1
Location
Nautilus (under) Lake Como, Italy 🇮🇹
XP
6,775
Country
Italy
is there an equivalent of zsnes with fast emulation for the sega genesis? I'm looking into picodrive's code to improve performance
Try looking at  Genecyst (C++) and also  Kgen98 (assembly): at that time they were the best Genesis emulators around for ms-dos: both very fast and very compatible.
 

NightScript

Well-Known Member
Member
Joined
Feb 7, 2016
Messages
951
Trophies
1
Age
20
XP
2,237
Country
United States
An idea for SNEmulDS, If you own like a DSTWO card, you can use the built in CPU to boost preformace and compatibility
At that point, though, it wouldn't really be called SNEmulDS. Maybe rename it to SNEmulTWO.
Also, in comparison to all the devices that can run SNEmulDS, the sales of the DSTWO barely make up 1% of that. Why limit the device to such a small install base, when there is already an emulator for you guys on the DSTWO?
 

sombrerosonic

Idiot machine
Member
Joined
Jan 12, 2022
Messages
1,455
Trophies
2
Location
The Tower of pizza
XP
2,899
Country
United States
At that point, though, it wouldn't really be called SNEmulDS. Maybe rename it to SNEmulTWO.
Also, in comparison to all the devices that can run SNEmulDS, the sales of the DSTWO barely make up 1% of that. Why limit the device to such a small install base, when there is already an emulator for you guys on the DSTWO?
I was thinking about a way to add a upgraded preformance mode that utilized parts of the DSTWO.

Also, u all still using the ARM7 at all? just wondering
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: https://i.imgur.com/bG1pQld.mp4 +1