Comments (3)
At a first guess, I expect this would be like emulating a SNES-like console with entirely different audio hardware. That could be a lot of work, and if all it gets us is the ability to play games we could already play, I'm not sure if it would be worth it. On the other hand, if it were really easy to do, and there are re-released games with bonus content or quality-of-life additions, it would easily be worth it.
We need to know more about the differences between original and PCM-patched SNES games are (hopefully somebody already has documentation) and about the structure of the bsnes code.
from bsnes.
http://darkakuma.z-net.us/p/sfromtool.html seems to give some hints.
from bsnes.
Hello. I was just emailed about this topic, did a search and seems I found the origin of the inquiry.
That first guess would be wrong. But you are right about the need to know the differences regarding PCM patching. NERDs pcm patching absolutely destroys the audio of the ROM unless your emu properly processes it and the sfrom format itself. The actual PCM data itself is just 16bit signed waveform data converted from BRR by NERD back in the days of the original Wii. Though I personally don't know the code of BSNES or other SNES emus, I'd assume they could process it easily enough. It may even be similar to what the emus themselves do to the audio internally, as all that canoe does is convert BRR to PCM for normal ROMs. NERDs PCM patching seems to have just been done to save CPU time (is my best guess to date).
Anyway. I have been, and still am working on documenting the .sfrom format(s) fully. And the PCM audio patching is the last thing on my list. And I just made significant headway on that to the point that I may be ready to both submit my findings for inclusion of support for the complete .sfrom format in emus, as well as having the tools ready for users to convert between the format. SFROM Tool itself already supports Switch, SNES Classic, and 3DS sfroms (excluding PCM audio). I just need to get it, or another tool managing the audio conversion too.
And FYI, since its in the title of this thread. NSO .sfrom do NOT use PCM audio patching anymore. Only Wii, WiiU, 3DS and SNESClassic. NERD simply cut and pasted their old work over from VC to VC over the years, and only with Switch did they finally make significant effort to emulate ROMs without special patching.
As I told whoever emailed me. Whoever wants to work on it, keep in contact with me directly and hopefully I'll have the data ready for you to add support soon! This aligns with my own goals! =)
from bsnes.
Related Issues (20)
- /bsnes: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./bsnes) HOT 2
- bsnes/heuristics/game-boy.cpp — 3 lines after `if` are indented, but not in block HOT 4
- bsnes/sfc/controller/justifier/justifier.cpp: probably unintended `player2` instead of `player1` in `player1`-related statement group HOT 2
- QWidget::paintEngine: Should no longer be called HOT 1
- Option to disable IPS softpatch warning HOT 1
- Can't use two identical input devices simultaneously HOT 3
- Feature Request: Please add Blarggs NTSC SNES filters HOT 5
- Continue Movie Record Support + Meta Information
- Cannot Disable 2nd Controller Port HOT 4
- macOS: loading a savestate crashes on recent nightly builds HOT 1
- Can you adding beautiful controller input like this image below? HOT 1
- wdc65816: fix PLB wrapping in emulation mode HOT 3
- Hayazashi Nidan Morita Shougi 2 wont start HOT 2
- Windows nightly download broken HOT 7
- Hayazashi Nidan Morita Shougi 1 and 2 not playable in the libretro core HOT 4
- Assault Suits Valken - game restarts after introduction HOT 2
- i cant build bsnes anymore in arch linux HOT 2
- SA-1 DMA won't transfer to bank 0x41 HOT 5
- Request to add an input display HOT 2
- MD5 hash is different HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bsnes.