Hello! I've been aware of roms and emulators since 1998 when the cool computer guy family friend brought a 1.44mB floppy full of NES roms to our internet-less home. Blew my 12 year old mind away.
Then 22ish years of stuff happened, as my rom folder kept growing. At some point I studied IT and got pigeonholed into PHP/WordPress stuff, quit the 9 to 5 after some years to go freelance, freelance sucked, and now I'm teaching English to elementary school kids in some corner of Japan.
At some point I got inspired by my town's mascot character to try and make a game. This guy's design is just perfect. I picked up GameMaker and my unrelated, and now rusty coding knowledge and away I went.
I knew I wanted to make it SNES-like, including the music, and I found out about this plugin for Game Maker that incorporates GMEPlayer dll's and stuff to play .spc files directly, with channel muting. With a bit of FamiTracker under my belt, I decided to look at what's going on on the SNES side of things and found out about SNES GSS.
"Huh, that's cool and all, but there's no Echo." I bet I was at least the 10,000th person to tell themselves that. After investigating some more I found about that time a while ago when a bunch of people got really pushy and demanding towards Shiru and he just flipped the table on their ungrateful asees and left the world an incomplete SNES GSS, with all its well-written and well-commented source code.
So, as far as I knew, no musical SNES messiah was coming to give me (more) free beer, and I wanted that damn echo effect, and I wanted it in tiny retro-chic 64kB spc files so using picopicose's excellent C700 vst was out of the question. Looking at its code wasn't though, and when I noticed that it, and more or less all of the SNES-related ecosystem uses the same code base, I went into it with the vague notion that I could just "copy some code without having to do too much".
Well, here we are, 4 months later. Echo kinda works. I also now know way too much about registers and flags and stuff for a historical sub-chip of a historical game console. I rekindled my hate for Delphi from my early 2000's college days. I faked c++ knowledge well enough for the IDE to believe me. I searched for an obscure older version of the unofficial Bass assembler because the most recent one doesn't have 'align'. I banged my PHP toddler head on the basic principles of assembly just to write a thing in a thing when a thing equals another thing. I wondered if "ora" was also somewhat of a JoJo reference for the Western world back in 200X. Progress on my actual game is in complete cryogenic suspension since then.
I also gained a ton of respect for the console hacking community. I've been mostly taking and taking without giving it too much thought for over 20 years. And what took me four months to poorly accomplish with great difficulty, most people here seem to eat for breakfast before tackling a real
Intimidated but excited, I'll let you know when my modded SNES GSS is presentable. It works "enough", but right now you have to dance around and know certain things. In the meantime you can pm me and I'll send you a copy with a rundown of the quirks. Also, since I'm only after the .spc files from "Export Song as spc", at some point I'll ask for someone using the .asm and .bin files generated by "Export and Save" in their workflow to test if it still works. That would be my first useful, tangible contribution to anything that I'm actually proud of if it did
update: if anyone wants to follow along here's my messy github https://github.com/pabbster/snesgss
(the snesgss.exe that's actually getting updated is in /src/) It's still buggy/quirky as hell but I managed to add an individual echo dontcare/on/off and a noise instrument yes/no setting per individual instrument, and you can change delay, reverb, evolL and evolR, and the FIR coefficients in an extra "Noise/Echo" tab. Just uh... be sure to open the program *then* open a file because double-clicking on a gsm file vomits infinite access violations and I don't know why lol