pSNES: Switch Snes9x port

Here is pSNES, a snes9x port to multiple platforms.


screenshot_mini.png


Readme:
https://github.com/Cpasjuste/pemu/blob/master/psnes/README.MD

Source code:
https://github.com/Cpasjuste/pemu/

Download:
https://github.com/Cpasjuste/pemu/releases/

Thanks:
  • devkitPro and libnx people: fincs, WntrMute, yellows8, plutoo...
  • ScHlAuChi for providing a 3.0 Switch! (you rock mate)
 
Last edited by cpasjuste,

LoganK93

Well-Known Member
Member
Joined
Dec 5, 2012
Messages
672
Trophies
1
Age
30
XP
1,755
Country
United States
Not to start a big thing, but the Switch is still fairly young and I was wondering, has anyone been using JUST homebrew and gotten banned? I really just want to use emulators but I actually care about online right now seeing as how the Switch is still new. Normally I'd be on these things but it just feels too... early.
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,480
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,214
Country
United States
That would be pseudo hi-res mode 7, used in a fair no. of games. Snes9x has emulated for years, not entirely sure why it's acting up on Switch. Looks like it's
not emulating it right for some reason.
Incorrect on it being mode 7. Kirby's DL3 uses Mode 1 (3 layers, 2 being 4-bit, 1 being 2-bit), but you are correct that it utilizes pseudo hi-res (set by BIT3 in register $2133), which sets up half-pixels and alternates between main screen and sub screen displays (sub screen being first). With this game, the background layers excluding the water layer are enabled on both main and sub screens. The water is only enabled on one of the screen (can't remember which one). My thought is that this pseudo setting isn't quite implemented, as is general hi-res modes such as Mode 5 + 6 as the OP mentioned. Jurassic Park is another game that uses this combination (but also includes Color Math I think).

The implementation of SNES hi-res (512) into a SNES normal-res (256) for these is by adding the pixel color of main and sub screen together, dividing by 2, and then adding the color from COLDATA.

(main + sub) / 2 + coldata
 
Last edited by DiscostewSM,

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
37
Location
Dr. Wahwee's castle
XP
18,941
Country
United States
Incorrect on it being mode 7. Kirby's DL3 uses Mode 1 (3 layers, 2 being 4-bit, 1 being 2-bit), but you are correct that it utilizes pseudo hi-res (set by BIT3 in register $2133), which sets up half-pixels and alternates between main screen and sub screen displays (sub screen being first). With this game, the background layers excluding the water layer are enabled on both main and sub screens. The water is only enabled on one of the screen (can't remember which one). My thought is that this pseudo setting isn't quite implemented, as is general hi-res modes such as Mode 5 + 6 as the OP mentioned. Jurassic Park is another game that uses this combination (but also includes Color Math I think).

Okay, right, it was pseudo hi-res, using some weird resolution like 512 x 244, 512 x 448, etc, but whatever the reason, it's not emulating correctly on this, why, I don't know. Secret of Mana used some funky resolutions too. Hopefully it will be soon.
 

Rabbid4240

i dont know
Member
Joined
Jun 16, 2018
Messages
1,141
Trophies
1
Age
35
Location
your mom
XP
3,609
Country
United States
Incorrect on it being mode 7. Kirby's DL3 uses Mode 1 (3 layers, 2 being 4-bit, 1 being 2-bit), but you are correct that it utilizes pseudo hi-res (set by BIT3 in register $2133), which sets up half-pixels and alternates between main screen and sub screen displays (sub screen being first). With this game, the background layers excluding the water layer are enabled on both main and sub screens. The water is only enabled on one of the screen (can't remember which one). My thought is that this pseudo setting isn't quite implemented, as is general hi-res modes such as Mode 5 + 6 as the OP mentioned. Jurassic Park is another game that uses this combination (but also includes Color Math I think).

The implementation of SNES hi-res (512) into a SNES normal-res (256) for these is by adding the pixel color of main and sub screen together, dividing by 2, and then adding the color from COLDATA.

(main + sub) / 2 + coldata
me:
lolwut.png
 
Last edited by Rabbid4240,

FanNintendo

Well-Known Member
Member
Joined
Apr 16, 2018
Messages
1,466
Trophies
0
Age
50
XP
2,160
Country
United States
great Job Super Mario World 2 = Yoshi's Island in black screen sometime when you exit the images will disappear it would frozen in pSNES. Anyone get Yoshi's Island running?? :cry:
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
37
Location
Dr. Wahwee's castle
XP
18,941
Country
United States
  • Like
Reactions: FanNintendo

Elessor

New Member
Newbie
Joined
Jun 20, 2018
Messages
2
Trophies
0
Age
72
XP
64
Country
Azerbaijan
First of all thanks for all the hard work sofar. This emulator is working on my switch 5.1.0 (hekate) as opposed to the existing snes9x2010 which is also available (doesn't save state or actual saves).

in your 1.1 beta i don't encounter any immediate issues other than the sleep -> slow bug / ordering of roms whiche are already mentioned (if i find any i will post here or create an issue on GH).

what i'd like to know is if in the future there will be an option to also config the folders where states / saves / sram will be stored by the emulator?

i would like to keep my files bundled up in specific folder lay-outs and right now the saves and states are stored in ./saves/ , .sram/ and not sure where states are saved.


p.s. for all who is wondering. Psnes v1.1 (beta) also supports non zipped files in a configured folder (to prevent sd card corruption)
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,480
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,214
Country
United States
Okay, right, it was pseudo hi-res, using some weird resolution like 512 x 244, 512 x 448, etc, but whatever the reason, it's not emulating correctly on this, why, I don't know. Secret of Mana used some funky resolutions too. Hopefully it will be soon.
Secret of Mana specifically uses BGMode 5 for its menu (hi-res, not pseudo, with one 4-bit layer and one 2-it layer). If it's what I imagine it looks like, the text looks like it's skipping every other letter like this (taken from an old BlargSNES build)
LGeNfzC.png


when it should look like this with correct sizing with only one of the two half pixels (still 256 horizontal pixels)

rN6dkHU.png


Then ultimately merging the half pixels together into one full pixel (still 256 horizontal pixels)

zTruXOS.png
 

cpasjuste

Well-Known Member
OP
Member
Joined
Aug 27, 2015
Messages
1,108
Trophies
1
Age
43
XP
4,236
Country
France
Secret of Mana specifically uses BGMode 5 for its menu (hi-res, not pseudo, with one 4-bit layer and one 2-it layer). If it's what I imagine it looks like, the text looks like it's skipping every other letter like this (taken from an old BlargSNES build)
LGeNfzC.png


when it should look like this with correct sizing with only one of the two half pixels (still 256 horizontal pixels)

rN6dkHU.png


Then ultimately merging the half pixels together into one full pixel (still 256 horizontal pixels)

zTruXOS.png
That's good to know, I did notice strange text in my port (like your 2nd image). I'll take a closer look soon.
 
Last edited by cpasjuste,

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
37
Location
Dr. Wahwee's castle
XP
18,941
Country
United States
Secret of Mana specifically uses BGMode 5 for its menu (hi-res, not pseudo, with one 4-bit layer and one 2-it layer). If it's what I imagine it looks like, the text looks like it's skipping every other letter like this (taken from an old BlargSNES build)
LGeNfzC.png


when it should look like this with correct sizing with only one of the two half pixels (still 256 horizontal pixels)

rN6dkHU.png


Then ultimately merging the half pixels together into one full pixel (still 256 horizontal pixels)

zTruXOS.png

Ugh, shows what I know, I'll keep my comments about the Snes to myself :lol: Sorry.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Skelletonike @ Skelletonike:
    3h left until work finishes, bah
  • Skelletonike @ Skelletonike:
    link doesn't work
    +2
  • Skelletonike @ Skelletonike:
    1H left, such a slow week.
  • Sonic Angel Knight @ Sonic Angel Knight:
    Okay, I had spaghetti :P
  • SylverReZ @ SylverReZ:
    Hope they made lots of spaget
  • K3N1 @ K3N1:
    Chill dog
  • SylverReZ @ SylverReZ:
    Chilli dog
  • Skelletonike @ Skelletonike:
    Damn, I'm loving the new zelda.
  • xtremegamer @ xtremegamer:
    loving the new zelda, i started a game, it was so fucking good, so i
    am waiting on my friend to get home so we can start a new one together
  • Skelletonike @ Skelletonike:
    I just dislike that they don't let me choose the voices before the game starts. Happened with botw as well, had to change to japanese and restart.
  • K3N1 @ K3N1:
    But the important question is can you choose gender
  • Skelletonike @ Skelletonike:
    Same way you can choose Gerald's gender.
  • Skelletonike @ Skelletonike:
    *Geralt, damn autocorrect.
  • Psionic Roshambo @ Psionic Roshambo:
    But can he be trans? Lol
  • K3N1 @ K3N1:
    Zelda transforms into link
  • Psionic Roshambo @ Psionic Roshambo:
    Link I'm not the princess your looking for.... *Pulls a crying game*
  • K3N1 @ K3N1:
    *skirt up* it's exactly what I always wanted
  • Skelletonike @ Skelletonike:
    Just scanned all my zelda amiibos, took a while but didn't get anything that cool, did get the lon lon ranch hylian fabrics though.
  • Skelletonike @ Skelletonike:
    It was pretty funny when I scanned wolf link and got a shit load of meat.
  • K3N1 @ K3N1:
    @Skelletonike, btw I ran that custom for mgs4 on the deck I'm amazed it got that far in game
  • K3N1 @ K3N1:
    Plug in*
    K3N1 @ K3N1: Plug in*