Homebrew blargSnes -- SNES emulator for the 3DS (WIP)

Status
Not open for further replies.

bobmcjr

Well-Known Member
Member
Joined
Apr 26, 2013
Messages
1,156
Trophies
1
XP
3,274
Country
United States
I know people are asking for a lot since this is still early but will super mario world romhacks be supposed soon? There are so many of those.
Depends on the romhack. Obviously the ones that use the SA-1 aren't supported, but the couple of dumb mods I've tried work flawlessly (including the ones that are expanded to 3MB).
 

weatMod

Well-Known Member
Member
Joined
Aug 24, 2013
Messages
3,311
Trophies
2
Age
47
XP
3,395
Country
United States
reporting super ghouls and ghosts not working game starts intro mode 7 works , 1st level cant see anything but it moves and there is sound
i don't think this game used any special chip but i could be wrong
 

loco365

Well-Known Member
Member
Joined
Sep 1, 2010
Messages
5,457
Trophies
0
XP
2,927
Has anyone tried using the SNES test program yet?

I make a point of running this official service testing program on all kinds of SNES emulators, and blargSnes 1.2 trips up on a lot of things.

1. Electronics Test
Fails - Doesn't even display the usual "FAILED ELECTRONICS TEST" message, instead emulator debugger returns "UNSUPPORTED VRAM MODE 84"

2. Character Test
Most things work, but there are failures.
- After Star sprite rows, debug message "!! SMALL SPRITES"
- Does not display the two halves of Service Mario graphic
- SMB3 promo art test fails to do the mosaic pixelation effect
- Cannot display the "Look for stars" portion at all, or the multiple Service Marios frame.
- Mario rotating test is slow (performance issue)
- Unable to flip the SMB3 promo art, despite being able to flip the Princess Peach sprite earlier

3. Controller Test
Each button press is responded to with a sound effect, but there are no visuals.

4. Sound Test
Sound output is pretty clear, but it's monaural, including speaker or headphone jack output.

5. Color Test
No issues at all, pixel-perfect on 3DS display.
There is some overscan that bleeds out of the top and bottom of the boarder.

6. Accessory Test
Detects that no super scope is inserted, and that no mouse is inserted. Menus function fine.

There's another one that I have, and when I get the chance, I'll run it and see if it works. Previously, it didn't boot, so I'll try this new version on both Ninjhax and as a CIA and see how it goes.

Edit: The Burn-In Test rom still fails to boot, and Final Fantasy III completely locks up blargSnes, so heads up on that. Final Fantasy II runs decently, it no longer sounds like a crashing airplane, although cutins and cutouts seem to not display properly.

Edit 2: F-Zero also fails to boot, and locks up blargSnes.

Edit 3: Undake 30 Same Game Daisakusen - Mario Version still crashes when you press Start. Nothing is dumped, it just seems to enter some kind of endless loop that locks up the emulator.

Edit 4: Sutte Hakkun also still crashes when selecting Password or Start Game from the main screen.
 

Strife89

Member
Newcomer
Joined
Oct 17, 2012
Messages
7
Trophies
0
Age
34
Location
Georgia
Website
goo.gl
XP
87
Country
United States
Is there an official place to report which games do and do not work? I briefly skimmed the thread and the website, but found nothing.

I tested Chrono Trigger (U), Super Mario All Stars (E), and Mega Man X (U). All three caused the emulator (v 1.2) to hang on the file picker.

Super Mario World (U) runs, natch.

Tested with blargSNES v 1.2.
Launch method: Ninjhax/Homebrew Launcher
 

piratesephiroth

I wish I could read
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,234
Country
Brazil
These are the classic games I use for tests that don't even show anything when run:

Axelay
Metal Warriors
Donkey Kong Country 2
Rendering Ranger R2
 

piratesephiroth

I wish I could read
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,234
Country
Brazil
I tested Chrono Trigger (U), Super Mario All Stars (E), and Mega Man X (U). All three caused the emulator (v 1.2) to hang on the file picker.

Tested with blargSNES v 1.2.
Launch method: Ninjhax/Homebrew Launcher

Megaman X (U) (v1.1) runs fine (at least on the CIA version, but they should have the same compatibility I think)
 
  • Like
Reactions: Strife89

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,072
Trophies
2
XP
4,733
Country
Japan
Is there an official place to report which games do and do not work? I briefly skimmed the thread and the website, but found nothing.

I tested Chrono Trigger (U), Super Mario All Stars (E), and Mega Man X (U). All three caused the emulator (v 1.2) to hang on the file picker.

Super Mario World (U) runs, natch.

Tested with blargSNES v 1.2.
Launch method: Ninjhax/Homebrew Launcher
Super Mario All-Stars + Super Mario World (U) works for me, so maybe try that.

I have the same issue with Chrono Trigger, however.
 
  • Like
Reactions: Strife89

9thSage

Well-Known Member
Member
Joined
Aug 8, 2008
Messages
457
Trophies
0
XP
587
Country
United States
I've tried mostly Soul Blazer, Breath of Fire II (the retranslation project...the streaming audio in the intro works surprisingly well on the emulator), and Terranigma. All of them work pretty well! One game I found that didn't is Tenchi Muyo. I'd wager it's a sound bug. The first screen you see is the Banpresto logo, and it's meant to say Banpresto. It's not playing the sound and just hanging there. This game seems really sensitive to bugs in sound emulation...back in the days of snesDS the game was super unstable there because of it (sometimes getting past the Banpresto screen, then crashing later when some other sound refused to play).

I'm sure it'll work a lot better in blargSNES eventually. :)
 
  • Like
Reactions: the_randomizer

dronesplitter

Well-Known Member
Member
Joined
Sep 30, 2007
Messages
595
Trophies
0
XP
421
Country
United States
I came to report that v1.2 is a big leap in progress. Mega Man X now runs the text boxes as you can see and I don't really experience any slowdown for MMX now, which is awesome.
opJCIf1.jpg


Super Metroid runs so well now and I've been able to view the ending with no glitches (Tourian actually runs full speed even when stuff is blowing up, crazy)
pCbqXCq.jpg


And Super Caltevania IV is also running almost perfectly other than some spots that slow the action down. Level 9 in Super Castlevania IV is really hard on the emu, as it has this animation of ghosts flying on the screen which the emu doesn't seem to like at all. But it does run full speed for the room that rotates around you and the area right after it where it looks like a tunnel effect with the background rolling.
otlV0ye.jpg
 

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
I've tried mostly Soul Blazer, Breath of Fire II (the retranslation project...the streaming audio in the intro works surprisingly well on the emulator), and Terranigma. All of them work pretty well! One game I found that didn't is Tenchi Muyo. I'd wager it's a sound bug. The first screen you see is the Banpresto logo, and it's meant to say Banpresto. It's not playing the sound and just hanging there. This game seems really sensitive to bugs in sound emulation...back in the days of snesDS the game was super unstable there because of it (sometimes getting past the Banpresto screen, then crashing later when some other sound refused to play).

I'm sure it'll work a lot better in blargSNES eventually. :)


Dang, Breath of Fire 2 Retrans working is great news :P
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,521
Country
United States
I came to report that v1.2 is a big leap in progress. Mega Man X now runs the text boxes as you can see and I don't really experience any slowdown for MMX now, which is awesome.


It does display correctly in that spot, but the first instance of it with Zero has the black box extending all the way to the right. If I understand correctly, windowing is split into sections for each row, and in this particular case, it's supposed to be 2 clear sections surrounding 1 black section. Instead, it's just 1 clear section on the left of the box, and the remaining is set with the black box. It is evident of that when reducing the number of vertices to 3 to make 1 tri polygon (rather than 6 to make 2 that form a rectangular box for the section).
 
  • Like
Reactions: dronesplitter

davhuit

Well-Known Member
Member
Joined
Nov 23, 2005
Messages
994
Trophies
0
XP
550
Country
France
So, I was right after all :) Gateway users have sound with the cia file :)

About the compatiblity, except if the in-game log say to report it to StappleButter, you better wait before reporting crashs. I'm not sure but I would say that reporting graphical glitches, missing gfx layers might be more interested.

Lots of games will keep crashing until most of the specifications of the SNES are emulated (and I think some games can crash before a desynch of the spc/sound).
 

c4655362

Well-Known Member
Newcomer
Joined
Jan 19, 2014
Messages
68
Trophies
0
Age
37
XP
138
Country
United States
So I downloaded some roms for random testing, I recorded all my impressions but when I tried to run Pokemon Stadium I got an error with a bunch info and something telling me to tell StapleButter
Here's some of the stuff I assume blargSNES left on my SD card after it
 

Attachments

  • blargSNESErrorDump.zip
    126 KB · Views: 125

the_randomizer

The Temp's official fox whisperer
Member
Joined
Apr 29, 2011
Messages
31,284
Trophies
2
Age
38
Location
Dr. Wahwee's castle
XP
18,969
Country
United States
So I downloaded some roms for random testing, I recorded all my impressions but when I tried to run Pokemon Stadium I got an error with a bunch info and something telling me to tell StapleButter
Here's some of the stuff I assume blargSNES left on my SD card after it


Pokemon on the Snes?? :blink: Wrong thread?
 

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,072
Trophies
2
XP
4,733
Country
Japan
Would it be worth making a separate thread for game compatibility issues? It seems like it would be easier to maintain without flooding the main thread.
 

gamesquest1

Nabnut
Former Staff
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,247
So I downloaded some roms for random testing, I recorded all my impressions but when I tried to run Pokemon Stadium I got an error with a bunch info and something telling me to tell StapleButter
Here's some of the stuff I assume blargSNES left on my SD card after it
Pirate and bootleg roms are often quite fickle, they usually have some sort of copy protection built in, or are just a hacky code, I think stuff like that may work in future, but i doubt crappy bootleg games are high up on compatibility fixing.........your not missing out on much, most of the downloads will most likely be people getting it to see what it's like and never playing it again :lol:
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,521
Country
United States
Just did another test involving windowing, and it seems the problematic areas I mentioned in prior posts revolve around non-single-window cases. when I forced the PPU_ComputeSingleWindow function to ignore the "if" case, the window effect shown by @dronesplitter in the MMX screenshot was not there, but the problematic windowing I mentioned was still there.

edit:

My mistake. It wasn't so much the non-single-window cases, but that it defaulted to the non-single-window case when it shouldn't have. I made a few changes in ppu.c that corrected this (which fixes both hardware and software rendering of the effect). Forgive me, StapleButter, if you were planning to use the WinLogic array for something else, as I ended up using it for this purpose (because I didn't see anything else using it).

(in PPU_Write8)

case 0x23:
PPU.BG[0].WindowMask = val & 0x0F;
PPU.BG[1].WindowMask = val >> 4;
PPU.WinLogic[0] = (val?1:0);
break;
case 0x24:
PPU.BG[2].WindowMask = val & 0x0F;
PPU.BG[3].WindowMask = val >> 4;
PPU.WinLogic[1] = (val?1:0);
break;

(in PPU_ComputeWindows)

PPU_WindowSegment* first_s = s;
u8 Win12 = PPU.WinLogic[0] & (PPU.WinX[0]<PPU.WinX[1]);
u8 Win34 = PPU.WinLogic[1] & (PPU.WinX[2]<PPU.WinX[3]);

// check for cases that would disable windows fully
if (((!((PPU.MainScreen|PPU.SubScreen) & 0x1F00)) &&
(((PPU.ColorMath1 & 0x30) == 0x00) || ((PPU.ColorMath1 & 0x30) == 0x30))) ||
(!Win12 && !Win34))
{
s->EndOffset = 256;
s->WindowMask = 0x0F;
s->ColorMath = 0x10;
return;
}

// first, check single-window cases

if (!Win34)
{
PPU_ComputeSingleWindow(s, PPU.WinX[0], PPU.WinX[1], WINMASK_1);
}
else if (!Win12)
{
PPU_ComputeSingleWindow(s, PPU.WinX[2], PPU.WinX[3], WINMASK_2);
}
else
{
// okay, we have two windows
if (PPU.WinX[0] < PPU.WinX[2])

7KGaCbp.png
 
  • Like
Reactions: dronesplitter
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtu.be/PRMX5mX-hvs?si=JdjNrndYJ7PelC7q