lolSnes -- SNES emulator for DS

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

  1. 2ndApex

    2ndApex GBAtemp Advanced Fan

    Member
    4
    Jul 12, 2012
    United States
    CATSFC redux, TempGBA, GameYob, and now lolSnes? 2013 is getting exponentially more awesome for DS homebrew. Can't wait to see where this goes.
     
    KazoWAR, jerbear64 and TyBlood13 like this.
  2. loganino

    loganino Advanced Member

    Newcomer
    1
    Nov 9, 2011
    United States
    Tim's Sideburns
    Hurrah! 2 Emulators in one year :D
     
  3. Snailface

    Snailface My frothing demand for 3ds homebrew is increasing

    Member
    10
    Sep 20, 2010
    Engine Room with Cyan, watching him learn.
    Don't forget. :D

    Tested sudokuhax DSi Mode with Super Punch out and Mario World, both games hung on game loading text.
     
  4. caribou007

    caribou007 GBAtemp Regular

    Member
    2
    Dec 19, 2010
    Canada
    Lake Ontario
    I'm just so happy.:rofl:
     
  5. loco365

    loco365 GBAtemp Guru

    Member
    11
    Sep 1, 2010
    Final Fantasy III/VI errored almost as soon as I started it. No big surprise, really. It's still so heavily in the works haha.
     
  6. pilladoll

    pilladoll GBAtemp Regular

    Member
    4
    Nov 14, 2004
    Mexico
    Somewhere in cyberspace
    Great work! Can't wait to try it on my Ds.
     
  7. StapleButter
    OP

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

    Member
    9
    Dec 5, 2009
    France
    You can run any ROM you want; it just have to be snes/rom.smc.

    Oh also, it can take SFC (headerless) ROMs. You need to change your ROM's extension, though :P

    lolSnes isn't made to run in DSi mode. I also can't test, no DSi or compatible flashcart here.

    3DS homebrew would be nice, but the 3DS isn't hacked yet. Also given the 3DS's power, you could just port Snes9x, so there wouldn't be as much fun :P
     
  8. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    17
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Mar 17, 2010
    Norway
    Alola
    Good to see that someone is still working on SNES emulation on the DS. Hope this manages to surpass SNemulDS in time :)
     
  9. Nathan Drake

    Nathan Drake Obligations fulfilled, now I depart.

    Member
    11
    Jan 2, 2011
    Hopefully your interest holds out, as, although I don't have exceptionally high hopes for this being amazing, seeing as I recognize the DS is very limited where SNES emulation is concerned, I'm thinking you can surpass SNemulDS by quite a bit by making it a point to build this emulator the way that you are.

    Though, I'd suggest maybe trying to get your hands on a cheap DSlite and a basic R4 card to test the emulator on proper hardware. If you happen to have access to it, maybe try using it. It seems slightly silly to me to design an emulator that only an emulator can run properly.
     
  10. StapleButter
    OP

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

    Member
    9
    Dec 5, 2009
    France
    I already have a DSLite and a linker, actually. It's a SuperCard One, not a R4, but that doesn't matter.

    I do test it on the real hardware to ensure it works there, but most of the time I use desmume because it's more practical.

    What I meant is that it may break on some linkers due to subtle differences I don't know about, or whatever. I don't know. This is why testing is welcome.
     
    Rydian likes this.
  11. Nathan Drake

    Nathan Drake Obligations fulfilled, now I depart.

    Member
    11
    Jan 2, 2011
    Ah, I see. I was slightly worried, as the first post made it sound like it may not work on flash carts period with each new revision. Glad to hear that it's just the standard "it may or may not work on your specific cart for a number of reasons".
     
  12. overlord00

    overlord00 A motherfucking birdplane

    Member
    3
    Sep 12, 2009
    any chance you will change the name? lolsnes? really?
    could just be me.

    other than that, sounds promising.
     
  13. StapleButter
    OP

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

    Member
    9
    Dec 5, 2009
    France
    What's wrong with it? I'm unoriginal, and 'SNESDS' is already taken :P
     
    zfreeman, 2ndApex and Rydian like this.
  14. Fishaman P

    Fishaman P Speedrunner

    Member
    6
    Jan 2, 2010
    United States
    Wisconsin
    Proper SMW emulation is all I'm asking for!
    At the current rate of progress, SMW will run full speed with little to no glitches in a month, correct?

    Well, maybe sound will take longer.

    EDIT: lolSNES is a great name; I haven't seen such an original name in a long time.
     
  15. StapleButter
    OP

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

    Member
    9
    Dec 5, 2009
    France
    It mostly depends on my motivation.

    Tile priority will be tricky to emulate without major overhead, too. But eventually I'll find a way. :)

    As for sound, well... I hope interpolation will be feasible, but dunno. The SPC700 core is already taking quite a bit of the ARM7's power.
     
  16. 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
    We need more programmers like you to help keep the scene alive :P I for one look forward to good Snes emulation without having to get an expensive flash cart ;) Gaussian or linear interpolation would be awesome B-)
     
  17. StapleButter
    OP

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

    Member
    9
    Dec 5, 2009
    France
    Also, seems like someone made a site about my emulator already (lolsnes.com). Ignore that site. It's definitely not mine. It's part of some fake emu site network. It links to desmume.com and nogba.com which are the same kind of site. They don't even mention my name or link to the repo.
     
  18. Luigi2012SM64DS

    Luigi2012SM64DS G-old member

    Banned
    2
    Aug 27, 2011
    Canada
    Minecrapt
  19. Coto

    Coto

    Member
    6
    Jun 4, 2010
    Chile

    This got me working the whole day (today) of work!

    after reading gbatek , and doing bitwise tests myself all day..

    Code:
    *(u32*)0x04000210 |= 0x00000008(hex); //6th bit left-shifted must be set at least --> [ (0x04000218) = | (1<<6) ]
    //which (according to gbatek) refers to  -- 4000214h  4  IF  - Interrupt Request Flags (R/W)
    //(03h IF) 4th Interrupt Request Flag
     
    //also writing to 32 unsigned integer??
    //why the other valus are 16 unsigned, then this one 32bit? I'm quite curious about this (i love assembly hehe)
     
    *(u16*)0x04000100 = 0xFBE9; //timer 0 should happen every 64489 cycles then?
     
    *(u16*)0x04000102 = 0x00C0; //timer (0) (as next timer should be at 0x04000110) should forcefully have 192 cycles ahead(writing to 0x04000103)?
     
    
    trust me this is harder to get at first, not like n64 mips asm, but quite similar. :lol:

    edit: one of you must be wintermute then, welcome here!
     
  20. StapleButter
    OP

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

    Member
    9
    Dec 5, 2009
    France
    That's still not quite right... I'd recommend you learn a bit about hex and that stuff ;)


    As for lolSnes, well, I'm planning to release a proper build very soon. I made it so BG3 becomes the topmost layer if BG3 high priority is enabled, assuming most games would do that to use BG3 as a HUD layer. It works quite well for SMW. I don't think it'll be good for every game, though.

    I still want to come up with better ways of handling per-tile priority, though. I'll likely be resorting to SNemulDS's tricks (ie using extra layers in modes other than mode 0, or switching the whole BG to higher prio per-line if all the tiles on a given line are high-prio or empty). I could also try using spare sprites to handle individual tiles that don't get covered by the other workarounds.

    I'm also trying to add support for saves. So far it reads saves fine. But then I tested on my DS, and that annoying issue came back: CPU->SPC700 transfers hang inbetween for some mysterious reason, and then both CPUs get stuck waiting for eachother to do stuff. Given how they normally communicate, this shouldn't happen, I still need to investigate it. Annoyingly, it never seems to happen on desmume.
     
Loading...