lolSnes -- SNES emulator for DS

Discussion in 'NDS - Emulation and Homebrew' started by StapleButter, Aug 19, 2013.

  1. profi200

    profi200 Banned

    Banned
    3
    Sep 3, 2011
    Gambia, The
    Wow, this is awesome! One of the first games, which should run, is definitely Super Metroid. The sprite priority handling of SNEmulDS is shit. Hope you can get it working better ;) Oh, and btw. Please include a option to disable sound interpolation. I don't like interpolation.
     
  2. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    22
    GBAtemp Patron
    the_randomizer is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Apr 29, 2011
    United States
    Dr. Wahwee's castle

    If the DS can handle it being on or off with this emulator, it would be a first for sure. It has a lot of potential :P
     
  3. StapleButter
    OP

    StapleButter 'New Member' registered since 2009. Fuck yea.

    Member
    9
    Dec 5, 2009
    France
    So I got some help from #dsdev, and hopefully the annoying freeze is fixed for good.

    Once I find out why saving isn't working, I'll give out a release I guess.
     
  4. Sheimi

    Sheimi A cute Vixen!

    Member
    7
    Oct 22, 2009
    United States
    tried this on my 3ds (US Model). Crashes and bring up Software Closed.
     
  5. Coto

    Coto

    Member
    6
    Jun 4, 2010
    Chile


    Trust me I do it everyday ;), it's just this is my first time guessing how NDS works internally. Not that easy considering this project is 5 years old, and lots of opcodes are directly translated on ARM asm.
     
  6. Luigi2012SM64DS

    Luigi2012SM64DS G-old member

    Banned
    2
    Aug 27, 2011
    Canada
    Minecrapt
  7. StapleButter
    OP

    StapleButter 'New Member' registered since 2009. Fuck yea.

    Member
    9
    Dec 5, 2009
    France
    I know, you already showed me.


    So I got saving to work finally. I tested Super Metroid and it doesn't work for whatever reason, looking into it...
     
  8. DanTheManMS

    DanTheManMS aka Ricochet Otter

    Member
    4
    Jun 2, 2007
    United States
    Georgia
    So hey, I'm a huge "SNES emulation on the GBA and DS" nut for some reason (I think this was the first video I made about it). I haven't visited GBATemp in the past half-week, so I apologize for the delayed response.

    A lot of the issues you're going through seem to be the same issues faced by SNES DS, SnezziDS, and SNEmulDS that were eventually resolved. I would like to offer the following link to Snezziboy's SourceForge page which should offer sourcecode downloads for help, even though it's all in ARM7 assembly: http://sourceforge.net/projects/snezziboy/

    Random side note: If I remember correctly, only SMW and the first two levels of Donkey Kong Country actually care about this "background color" property. All other games I tested had no difference when toggling that specific setting in Snezziboy.

    Best of luck to you dude. I'll be checking in much more often now that I know of this project's existence.

    EDIT: I'm probably one of the few people left who still understand the format of the snesadvance.dat file. If you have any questions about it, let me know. Long story short, the first fields are for the game's checksum and human-recognizeable name, and the last field is all the speedhacks and sound fixes and such. Everything in the middle is specific to SNES Advance and was stuff like proper graphics layering settings and main character autoscroll settings. So it's the first, second, and last fields you want to concern yourself with.

    EDIT 2: of course, SNEmulDS managed to auto-detect about 90% of the idle loops that make up the vast majority of the speedhacks in the "snesadvance.dat" file, rendering that file obsolete. I don't know how he managed to detect them all, but it was a much more preferable solution to having a hardcoded patch file.
     
    VatoLoco likes this.
  9. DanTheManMS

    DanTheManMS aka Ricochet Otter

    Member
    4
    Jun 2, 2007
    United States
    Georgia
    If anyone is curious as to the way SNES games can be "speedhacked" by emulators like this I did make a video about this several years ago (I do apologize for the intense volume increase halfway through)



    Hopefully I strike a good balance of being technical enough to explain things thoroughly without sounding like I'm just spouting jargon the whole time.

    EDIT: To the author here, snesadvance.org is still alive. Loopy's "technotes.txt" file there may help.
     
  10. StapleButter
    OP

    StapleButter 'New Member' registered since 2009. Fuck yea.

    Member
    9
    Dec 5, 2009
    France
    Cool! I'm enjoying it too, feels like a challenge to emulate the SNES as closely as possible on a DS :) That must be even trickier on the GBA considering it only has 25% of the DS's ARM9 power, and there's no way sound can be emulated there...

    I have seen those emulators' sources already, infact the design of lolSnes' CPU core is inspired by those. It's not a direct rip-off though, there are several differences in the way they work...

    As for snesadvance.dat, I considered adding support for it, but yeah, doing speedhacks automatically sounds like a better option. lolSnes has some support for that. The technique is actually the same as in SNES Advance, except it's applied automatically. It can recognize two forms of idle loops, hopefully it should cover several games.

    And graphics layering, ah, that's the main issue, with that per-tile priority thing. I have a few tricks in mind for emulating that that should work for most games, but if not, there'll have to be game-specific hacks. And then come more insane features, like offset-per-tile. Blarg.

    Anyway, thanks!


    -----------------------------------------------


    lolSnes 1.0 is out.

    It supports SRAM with auto-saving, and it has a basic ROM selection menu (renaming ROMs around was becoming a major pain in the ass).

    What else is there to say? Graphics support is still incomplete (namely, no mode 7, no windows, etc), no sound, and I hope to fix those lacks in the next version.

    Get it from the link in the main post. Feedback is welcome.
     
    the_randomizer likes this.
  11. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    22
    GBAtemp Patron
    the_randomizer is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Apr 29, 2011
    United States
    Dr. Wahwee's castle

    For testing, would it be okay for me to test on Desmume since I uh, don't have any way of loading on a real DS or would that not be efficacious? :unsure:
     
  12. StapleButter
    OP

    StapleButter 'New Member' registered since 2009. Fuck yea.

    Member
    9
    Dec 5, 2009
    France
    You can run it on desmume, but you need a good PC-- emulator on emulator is not something light to run. Even on my quad core powered PC, it doesn't always reach fullspeed.

    Also, desmume may ignore some crashes that would cause a 'Guru Meditation' error on the DS, because it doesn't emulate memory protection.
     
  13. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    22
    GBAtemp Patron
    the_randomizer is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Apr 29, 2011
    United States
    Dr. Wahwee's castle

    Oh, my PC is plenty powerful, I don't have a flash cart to test it on though. Ugh, maybe it's not such a good idea for me to test it on Desmume after all. :huh:
    I'd love to test, I really would, but....yeah like you said, lack of memory protection emulation....yeah. Damn.
     
  14. StapleButter
    OP

    StapleButter 'New Member' registered since 2009. Fuck yea.

    Member
    9
    Dec 5, 2009
    France
    That isn't a problem. It only makes a difference if a ROM malfunctions.
     
    the_randomizer likes this.
  15. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    22
    GBAtemp Patron
    the_randomizer is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Apr 29, 2011
    United States
    Dr. Wahwee's castle

    But not actual actual emulation for Snes hardware (DSP, CPU, DMA, etc)? Well, in that case, I can definitely test games out after all and post results of what I test in this thread (or another one if need be). B-) I mean, if that's what you want me to do ;)
     
  16. StapleButter
    OP

    StapleButter 'New Member' registered since 2009. Fuck yea.

    Member
    9
    Dec 5, 2009
    France
    Go ahead and post results in this thread :)
     
    the_randomizer likes this.
  17. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    22
    GBAtemp Patron
    the_randomizer is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Apr 29, 2011
    United States
    Dr. Wahwee's castle

    Cool, cool, will do! How does having multiple ROM files work in the ROM folder? Don't they all have to be named ROM.smc, esp. when testing with Desmume? I mean, do I do it the same way I did before? Sorry for the numerous questions, I just want to make sure I test this right. :D

    lolsnes folder, then roms/rom.smc or can there several ROM files in the same folder?
     
  18. Aqua1234

    Aqua1234 GBAtemp Regular

    Member
    1
    Aug 8, 2013
    Canada
    Alright, downloaded this installed it on my Root of my R4 card for my DS Lite. Played Super Mario World for about 5 minutes, it works perfect. However there is no sound, and that sucks :/. Does anyone know why?
     
  19. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    22
    GBAtemp Patron
    the_randomizer is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Apr 29, 2011
    United States
    Dr. Wahwee's castle

    Please read the first post, there is no sound emulation yet, he has to implement it, so we need to wait. Right now, we're testing ROMs mostly.



    I however, am confident SPC700/S-SMP can be done. I'll help with testing.
     
  20. StapleButter
    OP

    StapleButter 'New Member' registered since 2009. Fuck yea.

    Member
    9
    Dec 5, 2009
    France
    Hoping to do sound for the next version :)

    Also, the ROMs can be named anything. They just have to be in a folder named 'snes'.

    Oh and you can't complete SMW. Autoscroll malfunctions in Donut Plains 2, and that bug probably affects every autoscrolling level in the game. (except the second part in Iggy's Castle apparently...)
     
    the_randomizer likes this.
Loading...