NDSSFC/CATSFC revival

Discussion in 'Supercard' started by Nebuleon, Dec 22, 2012.

?

What sort of additional hotkeys do you want?

  1. Quickly save/load a saved state

    50.0%
  2. Move emulation to/from the bottom screen

    28.1%
  3. Toggle aspect ratio: [3] Middle of screen to [4] Entire screen anti-aliased

    41.7%
  4. Toggle CPU frequency: 5 to 2

    26.0%
  5. Toggle 8-bit era sound, with triangle waves and noise

    26.0%
Multiple votes are allowed.
Dec 22, 2012

NDSSFC/CATSFC revival by Nebuleon at 4:10 AM (116,025 Views / 14 Likes) 703 replies

  1. Nebuleon
    OP

    Member Nebuleon MAH BOI/GURL

    Joined:
    Dec 22, 2012
    Messages:
    900
    Country:
    Canada
    If I ignore NOPs and focus on the other two opcodes it'll be good. That is, if I implement speed hacks, and if I implement them that way. I'm a fan of just-in-time rewriting. :)
     


  2. Nebuleon
    OP

    Member Nebuleon MAH BOI/GURL

    Joined:
    Dec 22, 2012
    Messages:
    900
    Country:
    Canada
    So... NDSSFC graphics mode 3 (Cropped, showing middle) + SNES BG Mode 5. I think I got it.
    mana-menu-20130101.png

    The little sprite that allows you to see the active letter in the name selection is a bit messed up, though.
    mana-menu-sprite.png
    Hint: The active letter is B!

    This is committed to GitHub right now, waiting for the next release. I don't know yet whether I can deal with the sprite without breaking every single other sprite game in existence.

    What does GBAtemp think?

    Also, it's late, and I've been working on this way longer than I should have. Happy New Year. :lol:
     
  3. DiscostewSM

    Member DiscostewSM GBAtemp Psycho!

    Joined:
    Feb 10, 2009
    Messages:
    4,948
    Location:
    Sacramento, California
    Country:
    United States
    Aren't sprites always in the 256x224 format? I thought it was just the BG layers that were capable of high-resolution.
     
  4. nl255

    Member nl255 GBAtemp Addict

    Joined:
    Apr 9, 2004
    Messages:
    2,171
    Country:
    Couldn't you make the hack for that sprite specific to whatever games need it?
     
  5. Nebuleon
    OP

    Member Nebuleon MAH BOI/GURL

    Joined:
    Dec 22, 2012
    Messages:
    900
    Country:
    Canada
    Yes, but the "rendered width" becomes 512 if ever a single pixel is Mode 5, which messes up the calculations everywhere, including sprites. Though maybe I adjusted the half-widthedness a little bit too much -- and I shouldn't have done so for sprites --, if I didn't adjust for it, then the sprite for the active letter appeared to be at Z when it was really at M. Moving it to the right when it appeared to be at Z wrapped it back to A, but on the next scanline (!)

    I'm not particularly fond of hacks. I'll look at the sprite behaviour first and see what's up.
     
  6. Nebuleon
    OP

    Member Nebuleon MAH BOI/GURL

    Joined:
    Dec 22, 2012
    Messages:
    900
    Country:
    Canada
    And thus Secret of Mana gets readable. In 1.13, I also included a little surprise: You can set the display mode to "[4] Entire screen, anti-aliased". Now you can see the whole screen if you need to do so for a game, and it won't look like crap! :D
     
    2ndApex and Sicklyboy like this.
  7. Sicklyboy

    Global Moderator Sicklyboy Resident Mechanical Keyboard Addict

    Joined:
    Jul 15, 2009
    Messages:
    5,662
    Location:
    [̲̅$̲̅(̲̅ ͡° ͜ʖ ͡°̲̅)̲̅$̲̅]
    Country:
    United States
    Dude, I can't wait to get my Supercard set back up to try your continuation out. You're adding some nice stuff into this.
     
  8. 2ndApex

    Member 2ndApex GBAtemp Advanced Fan

    Joined:
    Jul 12, 2012
    Messages:
    676
    Country:
    United States
    I WANT IT NAO
     
  9. Nebuleon
    OP

    Member Nebuleon MAH BOI/GURL

    Joined:
    Dec 22, 2012
    Messages:
    900
    Country:
    Canada
    Download's in the first post :D Go go go!
     
  10. DiscostewSM

    Member DiscostewSM GBAtemp Psycho!

    Joined:
    Feb 10, 2009
    Messages:
    4,948
    Location:
    Sacramento, California
    Country:
    United States
    Did you fix the sprites in high-rez mode? I'll need to check this out. In any case, good job.
     
  11. Nebuleon
    OP

    Member Nebuleon MAH BOI/GURL

    Joined:
    Dec 22, 2012
    Messages:
    900
    Country:
    Canada
    Unfortunately, I haven't. I couldn't follow the halving and doubling of pixels at all...

    If you (or anyone else) care(s) to check it out, the background-mode-5 part of the fix is at GitHub commit 3cd20e203f3b0af8c32921f86547a126d74b34eb. The affected file is source/gfx.cpp, function S9xDrawOBJS.
     
  12. Ammako

    Member Ammako GBAtemp Guru

    Joined:
    Dec 22, 2009
    Messages:
    6,386
    Country:
    Canada
    Can we have a picture of what the [4] Entire screen, anti-aliased display mode looks like?
     
  13. Nebuleon
    OP

    Member Nebuleon MAH BOI/GURL

    Joined:
    Dec 22, 2012
    Messages:
    900
    Country:
    Canada
    Certainly. Here are screenshots of the glorious Forest of Illusion 3 level in Super Mario World, first using [3] Middle, square pixels and second using [4] Entire screen, anti-aliased. I need to see the entire level here, otherwise I fall to my untimely death. Be the judge :)

    smw-5-3-mode3-middle.png smw-5-3-mode4-aa.png
     
    Ammako and Sicklyboy like this.
  14. spinal_cord

    Member spinal_cord Knows his stuff

    Joined:
    Jul 21, 2007
    Messages:
    2,939
    Location:
    somewhere
    Country:
    United Kingdom
    As the full NDS side of the SDK is available, it might be possible to do hardware scaling using the alphalurp method used by nesds and my build of frodods, freeing up a little processing time for emulation. If the full screen can be sent to the DS, rather than just 256x192, then scale the screen down on vbl, alternating the offset every second frame, you get a nice antialiased effect without the overhead. Although I haven't actually looked at how the dstwo sends data to the nds, I'm only assuming it's possible.
     
  15. DiscostewSM

    Member DiscostewSM GBAtemp Psycho!

    Joined:
    Feb 10, 2009
    Messages:
    4,948
    Location:
    Sacramento, California
    Country:
    United States
    I haven't been keeping up with the SDK, but if the NDS side is now accessible, would it be possible to move the audio code to it?
     
  16. 2ndApex

    Member 2ndApex GBAtemp Advanced Fan

    Joined:
    Jul 12, 2012
    Messages:
    676
    Country:
    United States
    Just tried this out on my DSTWO, the anti-aliasing makes full display mode SO much better.


    Could you fix save states so that you can override old ones instead of using a new slot every time a save is made? It'd be nice to get manual save state/save file loading too.
     
  17. spinal_cord

    Member spinal_cord Knows his stuff

    Joined:
    Jul 21, 2007
    Messages:
    2,939
    Location:
    somewhere
    Country:
    United Kingdom
    Just got round to trying it. Could you add an option for frameskip? I hate auto frameskip more that anything in existence. I would rather have slowdowns than frameskips.
     
  18. ShadauxCat

    Newcomer ShadauxCat Member

    Joined:
    Mar 6, 2011
    Messages:
    45
    Location:
    Austin, Texas
    Country:
    United States
    I'm all in favor of changing the name if Nebuleon wants to. This isn't my project anymore and since I haven't had access to my DSTWO in over a year, I don't foresee myself being able to pick it back up any time soon. My only thing is I'd like to see the repository itself remain where it is for the sake of centralizing it.

    What's happened so far is that different people keep picking up the project, and then rereleasing it. My primary goal for CATSFC (even more than the changes I made) was to make it a community project, not a me project or a BassAceGold project or a Supercard Team project. So the emphasis for me was on creating a public repository that anyone was free to contribute to. I'm happy to hand leadership of the project over to Nebuleon since I don't have the means to contribute anymore, and with that, I'm happy to give Nebuleon the freedom to decide to change the project's name if he so desires. Just so long as the repository remains situated such that everyone can still contribute to it freely, and such that people looking for it can still find it easily. (The latter is a point in favor of keeping the name the same, but it might be prudent to make a one-time change of name to something more generic that doesn't credit anyone in the name itself, and possibly add an about or credits section inside the app.)
     
    Boriar, Sicklyboy and VatoLoco like this.
  19. Sicklyboy

    Global Moderator Sicklyboy Resident Mechanical Keyboard Addict

    Joined:
    Jul 15, 2009
    Messages:
    5,662
    Location:
    [̲̅$̲̅(̲̅ ͡° ͜ʖ ͡°̲̅)̲̅$̲̅]
    Country:
    United States
    Meaning the ds itself can also process now instead of just being used as a screen and controller and having all processing done on the dstwo?
     
  20. the_randomizer

    Member the_randomizer The Temp's official fox whisperer

    Joined:
    Apr 29, 2011
    Messages:
    19,252
    Location:
    Unknown
    Country:
    United States
    ^This. The emulator really needs an overhaul or at least some improvement in the audio department...if possible. Is it based off of 1.51 or 1.43?
     

Share This Page