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
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
sixtysix_ has quit [Ping timeout: 250 seconds]
balrog has quit [Quit: Bye]
balrog has joined ##yamahasynths
ej5 has quit [Read error: Connection reset by peer]
andlabs has quit [Read error: Connection reset by peer]
andlabs has joined ##yamahasynths
andlabs has quit [Quit: Textual IRC Client: www.textualapp.com]
andlabs has joined ##yamahasynths
rainwar has quit []
sixtysix has joined ##yamahasynths
sixtysix has quit [Ping timeout: 250 seconds]
sixtysix has joined ##yamahasynths
sixtysix has quit [Read error: Connection reset by peer]
sixtysix has joined ##yamahasynths
sixtysix_ has joined ##yamahasynths
sixtysix has quit [Ping timeout: 272 seconds]
sixtysix has joined ##yamahasynths
sixtysix_ has quit [Ping timeout: 250 seconds]
<cr1901_modern> CW: loud sounds https://www.youtube.com/watch?v=sFLoQ0e4EtA Stuff like this is why I want a corruption mode for libvgm
<cr1901_modern> although I don't think it would be able to duplicate many effects in this video. Like channels being completely out of phase
sixtysix has quit [Ping timeout: 245 seconds]
<ValleyBell> Especially the screwups pitch effects and broken DAC sounds might be difficult to replicate at YM2612 command level.
<ValleyBell> But of course you can always try :P
<cr1901_modern> Wonder how difficult it would be to massage a VGM stream into something that looks like a basic music driver- probably ridiculous and not worth it
<superctr> like XGM?
<cr1901_modern> Maybe? I meant something like MDX
<superctr> XGM uses modified VGM stream to facilitate easy playback using the Z80 on the megadrive (while mixing 4 PCM channels with support for sound effects)
<superctr> i've seen some crazy MDX files though
<cr1901_modern> Will check that out later... right now I'm cleaning up a bunch of tabs/trying to find something specific in my browser history
<cr1901_modern> (which is how I found the video I linked)
<Lord_Nightmare> I found the patches which were on that leaked copy of GEMS 2.1 which was briefly posted on assemblergames
<Lord_Nightmare> I don't know who originally created the patches, whether they would come with GEMS or not
<Lord_Nightmare> or were created by the sound designer that the copy of gems leaked from
nukeykt has joined ##yamahasynths
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
nukeykt has quit [Quit: Page closed]
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
andlabs has quit [Client Quit]
andlabs has joined ##yamahasynths
andlabs has quit [Ping timeout: 272 seconds]
sixtysix has joined ##yamahasynths
<cr1901_modern> Foone_: I see you are experiencing firsthand that Brands Are Not Your Friends :(
<Sarayan> cr?
<Sarayan> -EWRONGCHANNEL?
<cr1901_modern> Sarayan: Yea it's one of those mornings
<cr1901_modern> Incidentally Foone_ isn't in ##whitequark right now
<Sarayan> -EWRONGUNIVERSE then
andlabs has joined ##yamahasynths
sixtysix_ has joined ##yamahasynths
sixtysix has quit [Ping timeout: 255 seconds]
sixtysix has joined ##yamahasynths
sixtysix_ has quit [Ping timeout: 250 seconds]
sixtysix has quit [Remote host closed the connection]
<whitequark> https://gateway.whitequark.org/yamaha/ has WAV export now
<Sarayan> 16 bits is not enough iirc
<Sarayan> for full range opl fp
<whitequark> Sarayan: it is
<whitequark> both opl2 and opl3
<whitequark> opl3 is not fp
<Sarayan> ah yeah opl3 is just 16
<whitequark> opl2 is fp but it's encoded in a weird way that makes the expanded output exactly 16 bits
<Sarayan> cute
<Sarayan> then it's perfect :-)
<whitequark> yep, i would do 24 bit otherwise
<whitequark> note that it exports WAV with whatever sample rate your browser prefers
<whitequark> usually 44100
<whitequark> so you get resampled output
<Sarayan> ah damn
<Sarayan> otoh, if I ever need exact opl output, I know who to ask :-)
<whitequark> i mean, it's just as well
<whitequark> get a glasgow already :P
<Sarayan> I don't have the time and I know it
<whitequark> then you can do `glasgow run audio-yamaha-opx -d OPL3 convert foo.vgm foo.u16`
<whitequark> you don't have the time to hook up sixteen wires and run one CLI command?
<whitequark> it's completely turnkey
<Sarayan> I don't have the time to add a nice electronics swiss knife to my pile of time-consuming tools
<whitequark> pffff
<Sarayan> next step I'd connect it to a floppy drive or a dvd player head
<whitequark> floppy drive is also turnkey.
<Sarayan> I know
<whitequark> revC should be able to drive a floppy drive even unbuffered
<whitequark> though i haven't checked yet
<Sarayan> I pretend to myself that I'm waiting for revE to avoid being too tempted
<whitequark> lol
<whitequark> i'll just tell esden to send you a revC :P
<Sarayan> I think the spontaneous answer is supposed to be "you bitch" ;-)
<Sarayan> btw, does the glasgow do single-channel analog?
<whitequark> there's an ADC but the sample rate is more like 1 kHz
<whitequark> it's used for Vio sensing
<Sarayan> ok
<whitequark> so you don't fry your target
<whitequark> people have suggested an "oscilloscope addon" and that might happen
<Sarayan> otoh, I can always plug the audio input in a sound card
<whitequark> for yamaha chips with analog output?
<Sarayan> to play with a sc01a, make my current sim better
<Sarayan> no, for the votrax
<whitequark> speech synthesizer?..
<Sarayan> yup
<Sarayan> hybrid analog digital
<Sarayan> did a sim for mame but it's imperfect, quality measurements would probably help
<whitequark> huh
<Sarayan> it's cmos incidentally, but metal-gate
<whitequark> ... you can do that?
<Sarayan> do what?
<whitequark> metal gate
<Sarayan> sure
<Sarayan> blue = active, red = transistors, yellow = metal
<Sarayan> white = vias
<Sarayan> green = caps
<whitequark> oooh cool
<whitequark> that's one freakin huge svg
<Sarayan> it's what I do ;-)
cr1901_modern1 has joined ##yamahasynths
cr1901_modern has quit [Ping timeout: 245 seconds]
cr1901_modern1 has quit [Quit: Leaving.]
cr1901_modern has joined ##yamahasynths
<cr1901_modern> https://www.youtube.com/watch?v=dQCczBoe5O8 ValleyBell: how do you represent glissandos in your Sonic 1 hack?
<cr1901_modern> in the driver*
<cr1901_modern> is there a command to "spam the chip with a frequency transition as fast as possible", or something else?
<superctr> the original psg soundtrack also has that
<cr1901_modern> ... oh
<superctr> afaik the original sequence data is used
<fseidel> does sonic 1 SMS use a custom driver from ancient?
<superctr> with minor changes perhaps
<superctr> probably
<cr1901_modern> I know the first project I should do w/ ghidrah... extract the horrible OPN to OPL conversion code from Genecyst 0.20 and create a VGM tool to convert it (for maximum hilarity)
<cr1901_modern> I have linked that video many many times
<cr1901_modern> it's beautiful :D
<Lord_Nightmare> cr1901_modern: i assume the genecyst source in kronksrc doesn't have the opm->opl code in it?
<Lord_Nightmare> kronksrc was not just nesticle code, it was a bunch of stuff
<Lord_Nightmare> also DEAR GOD that sounds awful
<Lord_Nightmare> i wonder how ghidra would deal with the bugged spiny horizontal velocity when thrown by a lakitu in the original super mario bros for nes/famicom
<Lord_Nightmare> basically whoever coded that (miyamoto?) screwed up and smashed the A register in the bounding box check function, so it ends up zeroed after it had already had the angle written to it
<Lord_Nightmare> so the horizontal velocity of a thrown spiny is always zero, so it falls straight down
<Lord_Nightmare> if you fix the bug (by moving the call to the bounding box check function after the angle value already got used) lakitu becomes a LOT more annoying
<Lord_Nightmare> it actually looks really weird if you're used to the way super mario bros normally plays
ej5 has joined ##yamahasynths
Stilett0-away is now known as Stilett0
<cr1901_modern> Lord_Nightmare: Well, I didn't know there _was_ genecyst source
<cr1901_modern> if the source is to version 0.20, then the opn->opl code should be in there
<Lord_Nightmare> lets see
<cr1901_modern> I've never even heard of kronksrc until today
<cr1901_modern> Anyways I probably legally can't use that source (not that anyone will give a shit), so I would do a reimpl
<Lord_Nightmare> i'm checking if its in there at all.
<Lord_Nightmare> most of what's in there is nesticle
<cr1901_modern> the opn->opl code was done by someone else
<cr1901_modern> Ishmair I think- I have no idea who that is
<cr1901_modern> >Y0shi
<cr1901_modern> I'll ask him
<cr1901_modern> Lord_Nightmare: I take it no luck?
<Lord_Nightmare> distracted
<Lord_Nightmare> nope, just checked
<cr1901_modern> I see... welp...
<Lord_Nightmare> it seems mindrape only stole the nesticle code in there
<Lord_Nightmare> theres like 5 different 'backups' of it
<Lord_Nightmare> in rudely named sub-archives
<cr1901_modern> I mean the handle "mindrape" doesn't exactly instill confidence
<whitequark> uhhhhhhh
<cr1901_modern> According to orange website he died pretty recently as of 12 months ago
<Lord_Nightmare> Donald Moore died in 2016
<cr1901_modern> >Crazy cool dude, gave himself a "snake tongue" with a pair of scissors by himself!
<cr1901_modern> Uhhhhhhh
<Lord_Nightmare> the guy was nuts
<Lord_Nightmare> https://forum.top-hat-sec.com/index.php?topic=5634.0 was the group he hung with, and his 'obituary' there
<cr1901_modern> So he stole the nesticle code and made it work on a 486
<cr1901_modern> (I thought nesticle was done by the same ppl who did genecyst)
<whitequark> 22:25 < cr1901_modern> >Crazy cool dude, gave himself a "snake tongue" with a pair of scissors by himself!
<whitequark> no, this is reasonable
<Xyz_39809> I don't think this fits the definition of "cool"
<cr1901_modern> I wince thinking about cutting my tongue even on accident
<whitequark> i did my own root canal so
<cr1901_modern> Yea but IIRC that was because you were in pain
<cr1901_modern> and you had no other reasonable choice
<cr1901_modern> whitequark: Btw, seeing that metal file w/ the red spot _also_ made me wince :)
<whitequark> no the red spot is unrelated
<whitequark> i think it's just rust
<cr1901_modern> ... oh
<cr1901_modern> >Collectives of folks who grew up with these games used their budding technical skills to reverse engineer the devices, sharing knowledge with their peers in text files, on slapdash websites, or within FTP servers. 
<cr1901_modern> They conveniently omitted "hoarding the developer's manuals for themselves" :)
<whitequark> haha
<cr1901_modern> I didn't know Marat made iNES... I actually knew of him from his 6502 emulator lol (which, at the time I was planning on using for a project b/c I didn't feel like writing my own).
<cr1901_modern> (Of course, nowadays there's a perfectly good 6502 emulator in Rust that's easy to use, so I just use that instead)
<cr1901_modern> Lord_Nightmare: ghidra is downloaded, I'm gonna pop in the Genecyst binary and look for the OPN emulation code for a test run
<cr1901_modern> ... My JDK is too old
<cr1901_modern> that's a good start
[JethroDawnfine] has joined ##yamahasynths
<cr1901_modern> https://twitter.com/GarageResearch/status/1110314678260064257 Was worth a shot (not that I can blame him)
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
[JethroDawnfine] has quit [Quit: Bye]
[JethroDawnfine] has joined ##yamahasynths
<cr1901_modern> Still installing a JDK LOL (I really can't focus tonight)
<Lord_Nightmare> use openjdk, don't use the oracle one
<Lord_Nightmare> unless you like lawsuits
<cr1901_modern> Yea I installed that
<cr1901_modern> the openjdk one
<cr1901_modern> the problem is my fucking path isn't updating
<Lord_Nightmare> huh, reboot? fix it in control panel somewhere (god knows where in windows 10)
<Lord_Nightmare> personally i've heard people prefer running it in a vm
<cr1901_modern> Eh, I probably have an open cmd.exe process somewhere
<cr1901_modern> >personally i've heard people prefer running it in a vm <-- No. :)
<cr1901_modern> I just edited the launch file to forcefully add it to the path for now
<cr1901_modern> I have an rsync backup running so I don't want to kill all my cmd.exe/bash.exe processes willy-nilly
<kode54> openjdk on Windows?
<cr1901_modern> indeed