4dsdev
Views: 1,599,013 Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 10-07-24 09:18 PM
Guest:

0 users reading blargSnes -- SNES emulator for the 3DS | 1 bot

Main - Homebrew projects - blargSnes -- SNES emulator for the 3DS Hide post layouts | New reply

Pages: 1 2 3 4 5 ... 13 14 15 16 17
StapleButter
Posted on 10-31-14 05:58 PM (rev. 6 of 10-27-15 10:45 PM) Link | #5
What the title says. If you have seen lolSnes, you know what to expect. This project even reuses a lot of lolSnes's code.

Like everything else regarding 3DS homebrew, this is in early stages.


Builds from EmuCR are NOT SUPPORTED. You will not receive help if you have trouble with one of these builds.


Screenshots

[image] [image]
[image] [image]
[image] [image]
[image]


Wikitemp

BlargSnes Page on Wiki
Compatibility list


Downloads

Version 1.3b: https://blargsnes.kuribo64.net/download/blargSnes_1.3b.zip
Version 1.3: https://kuribo64.net/get.php?id=fYRTHLeS0pR3DXFw


Older: (unsupported)
Version 1.2: https://blargsnes.kuribo64.net/download/blargSnes_1.2.zip
Unofficial 1.19: https://mega.co.nz/#!LJpC0ASK!Jke6Snsfs2sOkQyxfFUC1alGvH6zt9b6tjwdxVKwmm8
Version 1.1: https://kuribo64.net/get.php?id=ccoTzGtwgVkh42b4
Version 1.0: https://kuribo64.net/get.php?id=72nkdEkneiIQqlAW

Source: https://github.com/StapleButter/blargSnes
Website: https://blargsnes.kuribo64.net/

This isn't the cleanest code ever, but it can serve as a handy reference for 3DS homebrew development (or SNES emulation, although I wouldn't recommend it :P ).


Custom borders

blargSNES custom border repository
Custom border submission thread at GBAtemp


Changelog

Version 1.3:
* Usage of geometry shaders and other speedups to rendering
* Hardware renderer: offset-per-tile, hi-res modes, and more fixes by DiscostewSM
* Much better sound quality, support for noise, echo and pitch modulation (thanks DiscostewSM again)
* Two added scaling modes: 4:3 and cropped 4:3
* Better open-bus emulation, and ability to execute code in open-bus regions (fixes Home Alone)
* Overall more accurate timings, IRQ fixes, etc
* ROM selector is no longer locked to the /snes folder
* the usual forgotten novelties, surprise

Version 1.2:
* Brand new hardware-accelerated renderer
* Scaling support
* Exit button (mainly for use with the Homebrew Launcher)
* Emulation fixes (namely, huge 'next EXP' in Earthbound is fixed)
* Support for the 256x239 mode
* Proper PAL support (actually uses PAL timings)
* Tries to prevent GPU freezes
* Synchronous SPC700 (fixes issues but also causes a little slowdown)
* As usual, more crap I forgot about. Hah.

Version 1.1:
* No more garbled/blank screens or freezes when pressing Home or closing/reopening the 3DS or playing with the 3D slider
* Ability to run a new game without restarting blargSnes
* Screenshot function
* Support for external borders
* Support for backgrounds with 16x16 tiles. Super Bomberman games are finally playable.
* Brightness, color math (blending) and windows added. Many games look nicer this way.
* Several PPU speedups
* Speedhacking disabled (it was error-prone, not that efficient, and broke HDMA)
* Replaced forced 1/2 frameskip with automatic frameskipper (isn't perfect, though)
* More stable display (although tearing still occurs when frameskipping), VSync
* More things I forgot about. Surprise!


What's in the zip

* blargSnes.3ds -- 3DS ROM. Useful for Gateway.
* blargSnes.cia -- Installable version
* blargSnes folder -- files for use with the Homebrew Launcher
* blargSnes.elf -- ELF file. May be useful for alternate homebrew loaders. Provided for the sake of completeness.


How to use

You need a way to run ARM11 userland homebrew on your 3DS.

Gateway

Copy blargSnes.3ds to the Gateway's MicroSD.

Due to limitations, you will not get sound if you use this method.

Homebrew Launcher / Ninjhax

Copy the blargSnes folder into the 3ds folder on your SD card.

Due to limitations, you will not get sound if you use this method on a New 3DS. 'Old' 3DS users will get sound.

Also note that sleep mode (closing your 3DS) and the Home button don't work when using this method.

CIA

The method for using the CIA version will not be covered here because installation of CIA files involves warez.

However, the CIA version gives you the best of all worlds-- sound AND working sleep mode on all systems, provided you're able to install and run it.

You will need either a Gateway or a CFW to be able to run unsigned CIA files. The normal Home menu will show them but will refuse to launch them.


You're on your own for getting SNES ROMs.

On the 3DS's SD card (not the Gateway MicroSD), create a folder named 'snes' and put your SNES ROMs in there.
In the same folder, you can also place savegames. They must have the same name as their corresponding ROM, and have a .srm extension.
With that done, start blargSnes, and you see a ROM selection menu. Select your ROM and press A (or B). See what happens.

You can pause gameplay by tapping the touchscreen. When paused, resume by pressing A or tapping the touchscreen again. You can also select another game by pressing Select, or open the configuration screen by pressing Start, or take a screenshot by pressing both L and R (screenshot is saved to your SD card in .bmp format, includes both screens).


The configuration screen

* Hardware renderer: this enables the hardware-accelerated renderer. It is faster than the software renderer but also less accurate in some cases.
* Scaling: provides some scaling modes for the video output.


How to make a custom border

Your border image needs to be exactly 400x240.

The SNES video output takes place from coordinates 72,8, in a 256x244 rectangle. Anything in this region of your border image will not be visible.

When you're done, save the file at the root of your SD card, under the name blargSnesBorder.bmp. Make sure it is saved as a 24-bit bitmap.

If you have a border you're particularly proud of, you're welcome to post it in this thread :)


Supported features

* Software and hardware renderers
* DMA (with faster paths for VRAM/CGRAM/OAM), HDMA
* SPC700
* Sound (when possible)
* SRAM with auto-saving
* Joypad for player 1 (circle pad also works)
* Catgirls


Future features

* Sound using the 3DS DSP
* Expansion chips. Star Fox in 3D, anyone?


Credits

* 3dbrew and all the people who made 3DS homebrew possible
* DiscostewSM for all his coding help
* anyone who helped make lolSnes work
* Bond697 and Normmatt for how to use the 3DS syscore
* smealum for ctrulib and for paving the way to the PICA200
* Martin Korth for the nice SNES documentation and no$sns's debugger
* The authors of SNemulDS for their DSP emulation code
* if you feel I forgot your name here, let me know


Enjoy :)

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 12-01-14 11:20 PM Link | #40
Version 1.2 is out. Will update this (and the website) whenever I'm not lazy.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 02-09-15 12:17 AM Link | #84
1.3 is released, see GBAtemp


meh, I really need to update all that junk

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 05-21-15 06:47 PM Link | #129
It's all happening here now.


also I really need to update the blargSNES page, blarg

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

hippy dave
Posted on 05-21-15 09:44 PM Link | #138
Urrrm can I subscribe to the thread?

Looking forward to seeing where this goes :)

Daggdroppen
Posted on 05-21-15 10:36 PM Link | #139
Cool. This will keep the trolls away, I guess :)

Discostew
Posted on 05-21-15 11:30 PM Link | #140
Posted by Daggdroppen
Cool. This will keep the trolls away, I guess :)


Oh, they'll come, but they won't be able to stick around should they do that.

Da_GPer
Posted on 05-22-15 07:19 AM Link | #142
I hope this site stays clean and professional and doesnt fall to the pits full of dumb kids like GBATemp has gone to.

Daggdroppen
Posted on 05-22-15 07:56 AM Link | #143
Posted by Da_GPer
I hope this site stays clean and professional and doesnt fall to the pits full of dumb kids like GBATemp has gone to.


OT: gbatemp has actually always been like that. Atleast since 2004 when I entered the GBA scene ^^ Pocketheaven was the greatest site at that time. Pocketheaven is unfortunately dead nowadays. Hopefully this site can be something like Pocketheaven was 10 years ago =)

Any news on blargSNES?

Are there any notable differences between 3dsx and cia version? I have only played with the 3dsx version. But with Pasta it would be possible to install blargSNES as an CIA..

Thanx for all fantastic work on blargSNES you have done so far <3

StapleButter
Posted on 05-22-15 11:56 AM Link | #145
Posted by Da_GPer
I hope this site stays clean and professional and doesnt fall to the pits full of dumb kids like GBATemp has gone to.

It will stay clean. You have my guarantee.

Posted by Daggdroppen
Are there any notable differences between 3dsx and cia version? I have only played with the 3dsx version. But with Pasta it would be possible to install blargSNES as an CIA..

They are identical. Different file formats, but the code inside is the same.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

Da_GPer
Posted on 05-22-15 04:42 PM Link | #146
Posted by StapleButter
It will stay clean. You have my guarantee.


Good. While I dont know how to code if my life depended on it, I do like to help by beta testing and finding bugs and giving out ways to improve the project. I consider it as my way of doing my part to the homebrew scene. On other sites, I never had any problems and I have been considered appreciated for all the help I have done, even being thanked in a few text files that came with some projects, like the C64 emulator for the Wii, yet on GBATemp, I am usually ignored or put aside as annoying. I hope that I can be a useful part of your boards and for any projects that end up appearing on here as well.

By the way, I have used and love your SNES emulator. I consider it and the Game Boy emulator, Game Yob, to be the best emulators on the 3DS. All the emulator needs to be perfect is stuff like SuperFX and the ability to play games like Super Mario RPG, and the ability to add cheat codes like Game Genie or Pro Action Replay and I think it be considered done. Congrads on a job well done.

profi200
Posted on 05-22-15 05:48 PM Link | #147
As always, i offer help by getting exception dumps but i think blargSnes is so stable only Nintendo can beat it :D

geekboy1011
Posted on 05-22-15 09:49 PM (rev. 2 of 05-22-15 11:35 PM) Link | #148
Yay a not spammy forum for an awesome project/platform~

Regardless awesome work so far i hope to see plenty more happening. I have been attempting to get a 3ds environment setup to try to play with somethings my self. Maybe something will come of it :D

EDIT: Welp setting up the enviroment and getting it to compile was a lot easier then I thought. I am quite impressed.

LWares87
Posted on 05-22-15 10:03 PM Link | #149
Despite it's current flaws with game compatibility, this is a good emulator and i hope that it stays that way with time and patience.

____________________
LWares87

dark_samus
Posted on 06-03-15 12:08 AM Link | #166
Keep up the good work on this, chrono trigger finally starts and plays up until the court scene and then the screen goes black when the cutscene is over and it hangs.... Also the few super metroid hacks I've tried have issues where they hang at either a black screen or other places, but still awesome work can't wait until I can play all of my snes games :D

VinsCool
Posted on 06-04-15 02:05 AM (rev. 2 of 06-04-15 02:06 AM) Link | #167
How good is the improvement with the hardware assisted mode7?

____________________
~ I like to read people's bullshit, always funny.
Anti-piracy, homebrew and legal stuff only.

Knows some C, but very ignorant to real hacking stuff.
Awaiting KARL3DS

StapleButter
Posted on 06-04-15 02:07 AM Link | #168
I haven't tested it yet, can't tell.


There are still a few things we need to tackle before we can release 1.4, btw.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

StapleButter
Posted on 06-04-15 06:31 PM Link | #174
note to self: there's something wrong with the threaded DSP system


it buffers writes to replay them later, but... what about reads?

____________________
blargSNES -- SNES emu for 3DS
More cool stuff

Discostew
Posted on 06-05-15 12:34 AM (rev. 2 of 06-05-15 12:35 AM) Link | #175
Posted by VinsCool
How good is the improvement with the hardware assisted mode7?


It's not a full replacement for software-rendered Mode7, but it gets used when the current settings allow it to be done faster than software would.

To put into perspective, software-rendered Mode7 has to access what tile and pixel-color in that tile for each pixel on-screen, so it has to access tiles 256 times plus the palette 256 times for each row. It's constant because it's based on screen pixels, so no matter if zoomed in, zoomed out, rotated, or put into a perspective view, it has to do the same amount of work per scanline for every scanline used. Hardware-rendered Mode7 is based on tiles, so because the layer could be zoomed in or out, the number of tiles it has to render is variable, not constant. In perspective view, it has to do it per scanline, rather than a group of scanlines together.

So, to summarize, it depends on the settings set for Mode7. It may do full software, or full hardware, or even a mix of the two within the same frame.

Posted by StapleButter
note to self: there's something wrong with the threaded DSP system


it buffers writes to replay them later, but... what about reads?


That was one thing I was gonna look into after I tackled the possible improvement to tile decoding.

StapleButter
Posted on 06-05-15 12:45 AM Link | #176
The main issue is that unlike writes, reads can't be 'applied later' as it needs the return value immediately.

____________________
blargSNES -- SNES emu for 3DS
More cool stuff
Pages: 1 2 3 4 5 ... 13 14 15 16 17

Main - Homebrew projects - blargSnes -- SNES emulator for the 3DS Hide post layouts | New reply

Page rendered in 0.031 seconds. (2048KB of memory used)
MySQL - queries: 26, rows: 101/101, time: 0.006 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.