ChanServ changed the topic of ##yamahasynths to: Channel dedicated to questions and discussion of Yamaha FM Synthesizer internals and corresponding REing. Discussion of synthesis methods similar to the Yamaha line of chips, Sound Blasters + clones, PCM chips like RF5C68, and CD theory of operation are also on-topic. Channel logs: https://freenode.irclog.whitequark.org/~h~yamahasynths
Xyz_39809 has joined ##yamahasynths
Xyz39808 has quit [Ping timeout: 245 seconds]
l_oliveira has quit [Ping timeout: 260 seconds]
<cr1901_modern> https://en.wikipedia.org/wiki/Convolution_reverb This is _kinda_ a DSP channel sometimes... anyone here have any experience w/ the sine sweep method of convolution reverb?
<Xyz_39809> DarkSydePhil
<cr1901_modern> No.
<cr1901_modern> Just no.
<cr1901_modern> lmfao
<cr1901_modern> It's amazing they still make TIHYDP vids of him after 10 years
<Xyz_39809> he's the cockroach that will survive any nuclear event
<cr1901_modern> "DSP Tutorials using DSP Gaming vids" as source material
<Xyz_39809> Good Idea; Using phase synthesis and pretending it's FM.
<Xyz_39809> Bad Idea: Not watching to cutscene to know where to do the motorcycle jump. Also using real FM at all
<cr1901_modern> Which LP was that?
<cr1901_modern> Also pedantry, but isn't Phasemod technically a type of Freqmod?
<cr1901_modern> I admit that I cheated in one mission (Cop Land) to beat Vice City, but I wasn't this bad
<Lord_Nightmare> cr1901_modern: convolution reverb? hmm.
<KillaMaaki2> Well I think I might be an absolute moron. Only just now realized, in the process of trying to implement UART terminal debugging, that I was trying to pack my program into a 4KB ROM.... and it was over 4KB. Quartus was just truncating the rest. No freaking wonder it was acting so strange.
<Lord_Nightmare> wtf, quartus should throw an error. the hell.
<Lord_Nightmare> bug in quartus
<ZirconiumX> Hah. Hahahaha.
<ZirconiumX> It's Quartus: the whole thing is a bug-ridden piece of shit
<ZirconiumX> Honestly I'm surprised KillaMaaki2 has the patience to try ROM init at all, given how pathologically slow it is
<KillaMaaki2> Because that was the first way I found that worked and I never bothered to look anything else up haha
<ZirconiumX> You ever looked at .mif files?
<ZirconiumX> I don't know how well *they* perform however
<ZirconiumX> But honestly I really don't understand how Quartus does so badly here
<KillaMaaki2> Part of my problem I think is that I'm doing it a bit stupidly here
<ZirconiumX> That's not an excuse: programs should be fairly resistant to people doing dumb things
<ZirconiumX> And Quartus is *really not*
<KillaMaaki2> I'm reading the file in with a "readmemb" directive, and I pass the filepath in as a parameter to the ROM module when I instantiate it. It works just fine, except that readmemb appears to not check the destination memory size and also seems to require me to recompile everything from scratch.
<ZirconiumX> As I said: have you researched .mif files?
<KillaMaaki2> I should probably check into just using a HEX or MIF file. I believe I can change my current makefile to produce a HEX rather than a binary file and just see if I can plug that in
<ZirconiumX> You can probably write a script to dump it in MIF: it's essentially just a hex dump but with some level of metadata
<KillaMaaki2> Will take a look. Smart compile actually does seem to be available in my version of Quartus, so if I could find a way to just switch over to a MIF file that I tell it to update without recompiling the whole damn thing, that would be so much better for iteration
<ZirconiumX> I have a suspicion here that when Quartus is trying to infer a ROM - assuming you haven't just straight up instantiated an altsyncram - it's reading your binary, writing it as MIF, then reading it as MIF.
<KillaMaaki2> I believe you are 100% correct.
<ZirconiumX> Since I know that e.g. `initial begin` blocks up initialise memories do that
<ZirconiumX> And so naturally it is pathologically slow
<ZirconiumX> Yosys handles readmemb/readmemh natively.
<ZirconiumX> I kinda want to see how synth_intel_alm does on your code; gotta get that Quartus compatibility somehow.
<ZirconiumX> Or at least remove obvious sources of *in*compatibility
<KillaMaaki2> The biggest problem here is that if I enable smart compile, it won't detect that the source file being read w/ readmemb has changed and so builds with a stale MIF. If I disable smart compile, it recompiles *absolutely everything*.
<ZirconiumX> I definitely think you need to produce a MIF then.
<KillaMaaki2> Yhup
* ZirconiumX needs to get something usable working with nextpnr.
<KillaMaaki2> OK well music engine doesn't blow up anymore and seems to be getting correct command data now. Unfortunately I'm getting ear splittingly loud white noise (with a sort of low tone in the background?) out of the YM2151 now. Maybe need to double check my register assignment code, but progress? I guess?
brezza_dsa has joined ##yamahasynths
brezza_dsa has quit [Client Quit]
<ValleyBell> Well, "some sound" is already better than "no sound".
superctr_ has quit [Read error: Connection reset by peer]
superctr_ has joined ##yamahasynths
mz` has quit [Ping timeout: 258 seconds]
mz` has joined ##yamahasynths
UnluckyPony has joined ##yamahasynths
SceneCAT has quit [Ping timeout: 272 seconds]