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

Status
Not open for further replies.

piratesephiroth

I wish I could read
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,234
Country
Brazil
May I ask how you converted it? Every time I tried I kept getting errors.
Compiled from source, stripped the elf and built it with makerom, using an rsf based on GameYob's one.

Here's the RSF if anyone's intereseted

Code:
BasicInfo:
  Title                  : "blargSnes"
  CompanyCode            : "00"
  ProductCode            : "CTR-P-BLRG"
  ContentType            : Application
  Logo                  : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem
 
#RomFs:
  # Specifies the root path of the file system to include in the ROM.
  # RootPath                : "romfs"
 
TitleInfo:
  UniqueId                : 0x1242
  Category                : Application
 
CardInfo:
  MediaSize              : 128MB # 128MB / 256MB / 512MB / 1GB / 2GB / 4GB / 8GB / 16GB / 32GB
  MediaType              : Card1 # Card1 / Card2
  CardDevice              : NorFlash # NorFlash(Pick this if you use savedata) / None
 
Option:
  UseOnSD                : true # true if App is to be installed to SD
  FreeProductCode        : true # Removes limitations on ProductCode
  MediaFootPadding        : false # If true CCI files are created with padding
  EnableCrypt            : false # Enables encryption for NCCH and CIA
  EnableCompress          : true # Compresses exefs code
 
ExeFs: # these are the program segments from the ELF, check your elf for the appropriate segment names
  ReadOnly:
  - .rodata
  - RO
  ReadWrite:
  - .data
  - RO
  Text:
  - .init
  - .text
  - STUP_ENTRY
 
PlainRegion: # only used with SDK ELFs
# - .module_id
 
AccessControlInfo:
  # UseOtherVariationSaveData : true
  # UseExtSaveData : true
  # ExtSaveDataId: 0xffffffff
  # SystemSaveDataId1: 0x220
  # SystemSaveDataId2: 0x00040010
  # OtherUserSaveDataId1: 0x220
  # OtherUserSaveDataId2: 0x330
  # OtherUserSaveDataId3: 0x440
  # UseExtendedSaveDataAccessControl: true
  # AccessibleSaveDataIds: [0x101, 0x202, 0x303, 0x404, 0x505, 0x606]
  FileSystemAccess:
  # - CategorySystemApplication
  # - CategoryHardwareCheck
  # - CategoryFileSystemTool
  - Debug
  # - TwlCardBackup
  # - TwlNandData
  # - Boss
  - DirectSdmc
  # - Core
  # - CtrNandRo
  # - CtrNandRw
  # - CtrNandRoWrite
  # - CategorySystemSettings
  # - CardBoard
  # - ExportImportIvs
  - DirectSdmcWrite
  # - SwitchCleanup
  # - SaveDataMove
  # - Shop
  # - Shell
  # - CategoryHomeMenu
  IoAccessControl:
  # - FsMountNand
  # - FsMountNandRoWrite
  # - FsMountTwln
  # - FsMountWnand
  # - FsMountCardSpi
  # - UseSdif3
  # - CreateSeed
  # - UseCardSpi
 
  IdealProcessor                : 0
  AffinityMask                  : 1
 
  Priority                      : 16
 
  MaxCpu                        : 0x9E # Default
 
  DisableDebug                  : false
  EnableForceDebug              : false
  CanWriteSharedPage            : false
  CanUsePrivilegedPriority      : false
  CanUseNonAlphabetAndNumber    : false
  PermitMainFunctionArgument    : false
  CanShareDeviceMemory          : false
  RunnableOnSleep              : false
  SpecialMemoryArrange          : false
 
  CoreVersion                  : 2
  DescVersion                  : 2
 
  ReleaseKernelMajor            : "02"
  ReleaseKernelMinor            : "33"
  MemoryType                    : Application # Application / System / Base
  HandleTableSize: 512
  IORegisterMapping:
  - 1ff50000-1ff57fff
  - 1ff70000-1ff77fff
  MemoryMapping:
  - 1f000000-1f5fffff:r
  SystemCallAccess:
    ArbitrateAddress: 34
    Break: 60
    CancelTimer: 28
    ClearEvent: 25
    ClearTimer: 29
    CloseHandle: 35
    ConnectToPort: 45
    ControlMemory: 1
    CreateAddressArbiter: 33
    CreateEvent: 23
    CreateMemoryBlock: 30
    CreateMutex: 19
    CreateSemaphore: 21
    CreateThread: 8
    CreateTimer: 26
    DuplicateHandle: 39
    ExitProcess: 3
    ExitThread: 9
    GetCurrentProcessorNumber: 17
    GetHandleInfo: 41
    GetProcessId: 53
    GetProcessIdOfThread: 54
    GetProcessIdealProcessor: 6
    GetProcessInfo: 43
    GetResourceLimit: 56
    GetResourceLimitCurrentValues: 58
    GetResourceLimitLimitValues: 57
    GetSystemInfo: 42
    GetSystemTick: 40
    GetThreadContext: 59
    GetThreadId: 55
    GetThreadIdealProcessor: 15
    GetThreadInfo: 44
    GetThreadPriority: 11
    MapMemoryBlock: 31
    OutputDebugString: 61
    QueryMemory: 2
    ReleaseMutex: 20
    ReleaseSemaphore: 22
    SendSyncRequest1: 46
    SendSyncRequest2: 47
    SendSyncRequest3: 48
    SendSyncRequest4: 49
    SendSyncRequest: 50
    SetThreadPriority: 12
    SetTimer: 27
    SignalEvent: 24
    SleepThread: 10
    UnmapMemoryBlock: 32
    WaitSynchronization1: 36
    WaitSynchronizationN: 37
  InterruptNumbers:
  ServiceAccessControl:
  - APT:U
  - $hioFIO
  - $hostio0
  - $hostio1
  - ac:u
  - boss:U
  - cam:u
  - cecd:u
  - cfg:u
  - dlp:FKCL
  - dlp:SRVR
  - dsp::DSP
  - frd:u
  - fs:USER
  - gsp::Gpu
  - hid:USER
  - http:C
  - mic:u
  - ndm:u
  - news:u
  - nwm::UDS
  - ptm:u
  - pxi:dev
  - soc:U
  - ssl:C
  - y2r:u
  - ldr:ro
  - ir:USER
  - ir:u
  - csnd:SND
 
 
SystemControlInfo:
  SaveDataSize: 128KB # It doesn't use any save data.
  RemasterVersion: 0
  StackSize: 0x40000
  # JumpId: 0
  Dependency:
    ac: 0x0004013000002402L
    am: 0x0004013000001502L
    boss: 0x0004013000003402L
    camera: 0x0004013000001602L
    cecd: 0x0004013000002602L
    cfg: 0x0004013000001702L
    codec: 0x0004013000001802L
    csnd: 0x0004013000002702L
    dlp: 0x0004013000002802L
    dsp: 0x0004013000001a02L
    friends: 0x0004013000003202L
    gpio: 0x0004013000001b02L
    gsp: 0x0004013000001c02L
    hid: 0x0004013000001d02L
    http: 0x0004013000002902L
    i2c: 0x0004013000001e02L
    ir: 0x0004013000003302L
    mcu: 0x0004013000001f02L
    mic: 0x0004013000002002L
    ndm: 0x0004013000002b02L
    news: 0x0004013000003502L
    nim: 0x0004013000002c02L
    nwm: 0x0004013000002d02L
    pdn: 0x0004013000002102L
    ps: 0x0004013000003102L
    ptm: 0x0004013000002202L
    ro: 0x0004013000003702L
    socket: 0x0004013000002e02L
    spi: 0x0004013000002302L
    ssl: 0x0004013000002f02L
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,504
Country
United States
yes, should run fine on the CFW


I'm a Gateway user so you're on your own.


If you don't mind me asking (and that goes for StapleButter as well), what are you using to build the 3dsx version? I have the latest devkitPro with devkitARM and ctrulib. It compiles, but with a tons of warnings, and it crash-and-burns when attempting to load a ROM. I kinda want to try some tinkering, but I can't do that when even attempting to build v1.1 crashes on me.
 

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
If you don't mind me asking (and that goes for StapleButter as well), what are you using to build the 3dsx version? I have the latest devkitPro with devkitARM and ctrulib. It compiles, but with a tons of warnings, and it crash-and-burns when attempting to load a ROM. I kinda want to try some tinkering, but I can't do that when even attempting to build v1.1 crashes on me.


I'm curious as well as I'll soon (relatively) get a 3DS XL and using the Ninjax (or whatever they call it now) method, this could be useful for someone like me, I think.
 

piratesephiroth

I wish I could read
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,234
Country
Brazil
If you don't mind me asking (and that goes for StapleButter as well), what are you using to build the 3dsx version? I have the latest devkitPro with devkitARM and ctrulib. It compiles, but with a tons of warnings, and it crash-and-burns when attempting to load a ROM. I kinda want to try some tinkering, but I can't do that when even attempting to build v1.1 crashes on me.
Get the latest ctrulib from https://github.com/smealum/ctrulib
build it and replace the files at DevkitPro\libctru with the new ones


BTW there's really no point in releasing .3ds versions of homebrew if they use CSND for sound.

There should be only .3dsx for ninjhax and .cia for gateway/CFW


Here's the compiled ctrulib I used (commit 58b988ab9729678a34f7ebf42ff6a43a0a1fdf7c)
 

Attachments

  • CTRULIB.rar
    172.6 KB · Views: 147
  • Like
Reactions: VinsCool

Seraphiel

Well-Known Member
Member
Joined
Oct 7, 2014
Messages
114
Trophies
0
Age
39
XP
280
Country
Israel
If someone wants to try a CIA version with sound, here's one compiled by myself.

Note that it's not as stable as the .3DS version uploaded by StapleButter and it's been uploaded by me, not him.
So if any game runs fine, thank him. If any game looks broken don't complain because he didn't release this in the first place because he thinks it's not ready for release anyway.
I'm uploading it because there's no other CIA option available.

By the way, it seems they fixed the sound issue in ctrulib. I was getting a crash when loading the games when I built it with ctrulib 0.1.0 (only the screen was black instead of white like in GameYob)
I updated to the latest version today and games are running fine with sound.

I can confirm it works for me so far, installed it using the bbbmenu and sound is on if somewhat not in the best quality but game runs smoothly as before (playing Rockman and Forte).

Edit : hmm after trying to exit blargsnes with home button and pressing close it got stuck on Closing software, will give it another try and see if it was a random thing or not.
Edit 2 : this time i exited using the red X and it worked perfectly so would just stick to that
 

Ewo

Active Member
Newcomer
Joined
Nov 27, 2014
Messages
29
Trophies
0
Age
29
XP
99
Country
United States
On the 1.19 build on a 2DS, I'm getting Super Mario World flickering randomly into and out of transparency.
I'm not asking for support for this, I just haven't seen this mentioned and it may be a 2DS-specific issue you wouldn't have noticed otherwise, so just a possible heads up!
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,218
Country
Canada
On the 1.19 build on a 2DS, I'm getting Super Mario World flickering randomly into and out of transparency.
I'm not asking for support for this, I just haven't seen this mentioned and it may be a 2DS-specific issue you wouldn't have noticed otherwise, so just a possible heads up!

build from piratesephiroth (based on latest git commit) fixed this.
 
  • Like
Reactions: Ewo

xantoz

Well-Known Member
Newcomer
Joined
Nov 28, 2014
Messages
73
Trophies
0
Age
33
XP
100
Country
I just upgraded ctrulib to the latest version and compiled the latest git of blargSnes and it seems to work now. Still quite a few warnings though.
 

ZeroShift

Well-Known Member
Newcomer
Joined
Sep 23, 2008
Messages
59
Trophies
0
XP
286
Country
United States
Built fresh from git. Earthbound now freezes when doing anything at file selection.

On the other hand, it's looking a lot better!
 

piratesephiroth

I wish I could read
Member
Joined
Sep 5, 2013
Messages
3,453
Trophies
2
Age
103
XP
3,234
Country
Brazil
Would it be feasible for someone to capture brief video? It'd be awesome to take a sneak peak ;)
The games that work run at full speed and look and sound pretty much as good as it can get.

Megaman X has only a minor glitch in the menu, highlighting 2 weapons instead of only the selected one.
Aladdin shows some background objects flickering at the botom of the screen sometimes.
Zombies Ate My Neighbors seems to run without any issues.
 

DiscostewSM

Well-Known Member
Member
Joined
Feb 10, 2009
Messages
5,484
Trophies
2
Location
Sacramento, California
Website
lazerlight.x10.mx
XP
5,504
Country
United States
Well, the version piratesephiroth built now doesn't have the Eng translated version of Final Fantasy IV alternating errors of "Unsupported VRAM mode" and "Small sprites" during the loading of the starting cut-scene (which brought everything to a crawl and ultimately a crash). Unfortunately, button presses don't seem to do anything during that initial cutscene, so you are stuck on that first bit of dialog on the airship.

Great work StapleButter.
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,218
Country
Canada
unfortunately youtube doesn't do 60fps, hah
But yeah the games run very smoothly.

Your build is working just fine by the way :)
window, mode 7 and some more graphic shit is working.
Amazing work of StapleButter :D
 

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

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,218
Country
Canada
Seeing that at 60 fps, and the sound emulation's actually quite decent already, dayum that looks awesome :D
Yes, sound is very good actually. some click and pops here and there. lack interpolation and echo effect. but still, pretty good :P
 
  • Like
Reactions: the_randomizer

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
Yes, sound is very good actually. some click and pops here and there. lack interpolation and echo effect. but still, pretty good :P


I'm sure Gaussian interpolation and ADSR (which helps with echo I think, acronym for Attack Delay Sustain Release), FIR sampling, ADPCM, a few things to work out, but man, full speed, this emulation is proving to be quite impressive :P
 
  • Like
Reactions: y03usw6e
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:
    Thanks for signing up at LinusTechTips
  • QuarterCut @ QuarterCut:
    holey shmoley!
  • BigOnYa @ BigOnYa:
    Your credit card has been charged. Thank you.
  • K3Nv2 @ K3Nv2:
    Your screwdriverPlus will arrive in three weeks
    +1
  • QuarterCut @ QuarterCut:
    K64_Waddle_Dee_Artwork_1.jpg

    my reaction to such information
    +2
  • BigOnYa @ BigOnYa:
    Press 1 for English. Press 2 for Pig Latin. Or press 3 to speak to a representative.
  • BakerMan @ BakerMan:
    guys, i need help, i got into an argument about what genre radioactive is, and i forgot who made it
  • Sicklyboy @ Sicklyboy:
    @BakerMan, Imagine Dragons
  • Sicklyboy @ Sicklyboy:
    Dragon deez nuts across yo face GOTEEM
  • Sicklyboy @ Sicklyboy:
    lmao now I realize that was probably the joke in the first place
    +1
  • BakerMan @ BakerMan:
    IMAGINE DRAGON DEEZ NUTS ACROSS YO- FUCK HE BEAT ME TO IT
  • BigOnYa @ BigOnYa:
    You have selected 4 - Death by Snu Snu, please stand by...
    +1
  • BakerMan @ BakerMan:
    lucky bastard
    +1
  • Sicklyboy @ Sicklyboy:
    hahahaha I'm half way through a bag off my Volcano and my tolerance is way down because I haven't been smoking much lately, so I was a little slow to catch that that was what your angle was 🤣🤣
    +1
  • Sicklyboy @ Sicklyboy:
    Also I was just excited to know a music reference for once (I am the LAST person in the world that you want on your trivia team)
    +2
  • K3Nv2 @ K3Nv2:
    Bummer webos 7.4 isnt working with dejavuln-autoroot
  • Sicklyboy @ Sicklyboy:
    PS4 right? I think that's what mine's on. Or 5.6, maybe.
  • K3Nv2 @ K3Nv2:
    [!] Installation failed (devmode_enabled not recognized)
  • K3Nv2 @ K3Nv2:
    0.5 seemed to work whatever lol i wont bitch
  • Alysh_Graham @ Alysh_Graham:
    Hehehe
    Alysh_Graham @ Alysh_Graham: Hehehe