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: 240 seconds]
<l_oliveira> there is a video on nico nico douga of the MSX singing a music from the The Idolm@ster game lol
<l_oliveira> and that's circa 2008 I think?
<l_oliveira> I think back at the time I even managed to find the guy blog post with the basic listing
<l_oliveira> aand I found it
<l_oliveira> The blog with the basic listing is goneit's gone
<andlabs> ah cool
<andlabs> I will still acquire the things because oops now I'm collecting Yamaha MSX stuff
<l_oliveira> well, archive that stuff because you never know when it might disappear from the internet
<Foone> does anyone happen to have a bare minimum command set handy? like "send these OPL2 commands to make an adlib make some noise"? I'm testing something slightly weird, and can't use any existing tools
<l_oliveira> the basic listing with the words for the song might be useful for syntax reference, no?
<l_oliveira> you have to write a whole lot of bytes onto it to setup a tone actually
<l_oliveira> on reset it zeroes all registers and set maximum attenuation on default to prevent pops or weird noises coming from the outputs
<Foone> darn. well, I can use my fallback option then: write some software to shove a god of thunder song at it with the probably-wrong tempo
<l_oliveira> you have to, disable the atenuation, write the operators with parameters that actually produce a sound
<l_oliveira> then write the fnum for the note you want it to produce and only then key on the note
<l_oliveira> is it on pc?
<l_oliveira> on PC you could repurpose something that is open source I suppose
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
Xyz_39809 has quit [Ping timeout: 240 seconds]
andlabs has quit [Ping timeout: 272 seconds]
Xyz_39808 has joined ##yamahasynths
andlabs has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
l_oliveira has quit [Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]]
Xyz_39808 has quit [Ping timeout: 240 seconds]
andlabs has joined ##yamahasynths
fseidel has quit [Ping timeout: 240 seconds]
fseidel has joined ##yamahasynths
Xyz_39808 has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
Xyz_39808 has quit [Read error: Connection reset by peer]
Xyz_39808 has joined ##yamahasynths
Lord_Nightmare has quit [Ping timeout: 265 seconds]
Lord_Nightmare has joined ##yamahasynths
Xyz_39808 has quit [Ping timeout: 240 seconds]
doppler has quit [Ping timeout: 268 seconds]
nukeykt has joined ##yamahasynths
<cr1901_modern> >Foone: does anyone happen to have a bare minimum command set handy? like "send these OPL2 commands to make an adlib make some noise"? I'm testing something slightly weird, and can't use any existing tools
<cr1901_modern> Good question that has come up a few times
<cr1901_modern> At some point I plan to put this info of the sipr0n wiki, at least for ym2151.
<cr1901_modern> Other proposals include a bot that will generate sound for you if you supply parameters and a small DSL for manipulating operator params
<cr1901_modern> Putting the parameters alone on the wiki doesn't really help since you have to clear everything and set up global parameters... maybe some pseudocode (or compilable code!) for each chip?
<Lord_Nightmare> btw a bit of a heads up: apparently the 8bit guy is planning to use a ym2151 in one of his new project things, and if he makes as many of them as he's planning to, he will run the market completely out of ym2151s, probably long before he hits his target number of devices. he's being stubborn when told that, too
<Lord_Nightmare> there are not 50,000 pieces of recycled/NOS ym2151 out there
<cr1901_modern> Oh FFS
<whitequark> 50k?!
<Lord_Nightmare> he'd be WAY better off using the ymf825 which yamaha still has a big stock of even if it isn't necessarily made anymore
<Lord_Nightmare> and that's a modern process, and could likely be spun back into production if he really wants 50,000 of them
<cr1901_modern> Lord_Nightmare: Do you have a source so I could read more. I'm not surprised tho :/.
<Lord_Nightmare> his project facebook page thing, which i've only seen screenshots of
<Lord_Nightmare> for his custom "retro" computer thing
<cr1901_modern> Oh, then we're probably safe b/c that thing is in dev hell last I checked
<cr1901_modern> and full of drama
<whitequark> do we have ym2151 die shots yet
<Lord_Nightmare> yes, apparently cloanto or whoever owns the rights to the c64 kernal roms made an EXCLUSIVE licensing deal with that 'c64 mini' project and unclear when said deal terminates
<Lord_Nightmare> and so the 8bitguy's computer where he anticipated using said roms is screwed
<cr1901_modern> whitequark: yes. Sarayan has raw png on his website
<cr1901_modern> and they are on sipr0n as well
<whitequark> oh sweet
<Lord_Nightmare> the ym2151 is on siliconpr0n
<whitequark> delayer too?
<whitequark> or no need for that?
<Lord_Nightmare> no delayer yet, and the dieshot is quite dirty
<cr1901_modern> digshadow said he would do a delayer if I needed one. I haven't yet
<Lord_Nightmare> i was hoping to convince dig to reimage it
<whitequark> i have five ym2151
<cr1901_modern> the dirty parts are in duplicated areas
<whitequark> once i get my setup back up
<Lord_Nightmare> there's also focus issues in the LFO area
<whitequark> i can delayer i think
<cr1901_modern> go for it, good to have more images
<Lord_Nightmare> whitequark: you still have the ym2413 i sent, right?
<whitequark> yep, still safe in the packet
<Lord_Nightmare> cool
<whitequark> my place is a real mess right now
<Lord_Nightmare> 2413 also could probably use a delayer at some point, since its the simplest(?) fm chip yamaha ever made, except maybe for the one they used on that electric piano thing before the dx7
<whitequark> yup, no issues there
<Sarayan> it's not the 2203?
<Sarayan> wq: Not sure which one I sent you, but I suspect it's the 2413
<Lord_Nightmare> the order of which fm chips got used in videogames first was a big debate on discord
<Sarayan> heh
<Lord_Nightmare> it turns out to have a really funny answer
<Lord_Nightmare> marble madness used a ym2151 and was released december 15, 1984
<Lord_Nightmare> cycle maabou used a ym2203 and was released... december 15, 1984
<Lord_Nightmare> at least that's what we've been able to determine from japanese arcade mags
<Lord_Nightmare> its completely mindblowing that the first arcade game to use an fm chip is actually a tie
<whitequark> amazing
<Sarayan> excellent
<cr1901_modern> TIL ._.
<Lord_Nightmare> the first OTS fm chip used in its original product and later sold publically is the ym2151 in the MSX SFG-01 module, which was late 83 i think
<Lord_Nightmare> the 2203 was first used in the PC-8801MK2 SR which i think was released in mid 85, so it actually was used on an arcade game first
<Lord_Nightmare> although i suspect it was designed for the pc-8810mk2 sr, but those machines were in production and not sold yet by the time cycle maabou released
<Lord_Nightmare> also MAME has the release date of legend of kage as 1984, but in reality the game only released in october 1985; the titlescreen says 1984, because the original version, only used in location tests in 1984, used an MSM5232 for sound
<Lord_Nightmare> taito did a last second board revision (we suspsect oki had EOLed the MSM5232 in the middle of 1984 but no proof yet) and taito had to quickly redesign the sound system because I don't think there were enough msm5232 chips around for the expected production run of that game
<Lord_Nightmare> like bubble bobble, legend of kage had a large pcb production run
<Lord_Nightmare> probably over 1000 units, maybe double that
<cr1901_modern> >he's being stubborn when told that, too
<cr1901_modern> This is making me viscerally angry for a number of reasons. 1. His computer already has an FPGA on it. 2. He said a design goal was to use already-available parts.
<cr1901_modern> 3. I'm jealous I'll never be able to sell 10,000 units of a retro computer of my design :P.
<Lord_Nightmare> he's a stubborn ass, and he claimed on the facebook page that there was a supplier willing to give him 100,000 units if needed
<Lord_Nightmare> he's gonna get 1000 remakred ym2151 chips and 90,000 laser remarked 6116 srams
<Lord_Nightmare> i guarantee it
<whitequark> lol
<whitequark> how many ym2151s are there in existence
<cr1901_modern> still in existence? I would say high single digit thousands?
<Lord_Nightmare> i doubt that many, although it was used in the X68000
<Lord_Nightmare> so there's at least as many ym2151s as there were x68000s produced?
<cr1901_modern> You can still buy them (or 6116 SRAMs) on Ebay at least
<Lord_Nightmare> that is honestly probably the largest 'reservoir' of them
<Lord_Nightmare> in x68000 machines
<Lord_Nightmare> and scrapping x68000s to harvest the ym2151s would make me madder than hell
<cr1901_modern> Idk where they were pulled from tho- dead x68ks?
<whitequark> so... he wants 5 times more ICs than there are in existence total?
<Lord_Nightmare> idk, he's an idiot
<Lord_Nightmare> i don't know how many of his 'retro' machine he expects to sell
<Lord_Nightmare> but i don't think there's that many NOS/recycled 'real' ym2151s around
<Lord_Nightmare> there WERE bootleg ym2151s produced, and they appear on bootleg street fighter 2 boards
<Lord_Nightmare> the question is where the hell they came from
<Lord_Nightmare> and what company (likely in china) made them probably using duplicated or stolen masks
<cr1901_modern> >he wants 5 times more ICs than there are in existence total? That sounds about right
<Lord_Nightmare> and if those masks still exist
<Lord_Nightmare> if some company still has the duplicated/stolen ym2151 masks (other than yamaha, who probably does still have the original masks or at the very least the tapeout vectors)
<Lord_Nightmare> then in theory more could be fabbed, but its an old NMOS process
<Lord_Nightmare> nobody's going to WANT to make those
<Lord_Nightmare> afaik the OPM series is the only yamaha series which never had a CMOS variant made
<cr1901_modern> Lord_Nightmare: Re: scrapping a machine, I don't actually mind harvesting a rare board for parts if there was an honest effort to try to resurrect a broken board
<cr1901_modern> For the love of God, just use the FPGA and put JT51 on it. It's a fine core and jotego updates it w/ accuracy improvements as they come in.
<Lord_Nightmare> he'd need to license JT51 since its gplv3
<Lord_Nightmare> from jotego
<Lord_Nightmare> which honestly wouldn't be a terrible thing
<Lord_Nightmare> actually i may be wrong, unless the OPS2/EGM was cmos, and i don't think it was, the dx7's ops/egs series didn't have a cmos variant either
<cr1901_modern> OPS is contemporaneous w/ 2151, right?
<Lord_Nightmare> yes
<cr1901_modern> Seems weird to do one chip in CMOS and the other in NMOS
<Lord_Nightmare> ops/egs are 1983
<Lord_Nightmare> ops2/egm are later, like 1987 with the DX7II
<Lord_Nightmare> that could in theory be cmos
<Lord_Nightmare> yamaha was making cmos chips by 1987
<cr1901_modern> Now I'm thinking more: "where did all those YM2151 pulls come from?" and it's slowly dawning on me that a lot _did_ come from x68k machines, many of them which weren't broken
<cr1901_modern> (though according to fseidel, x68k is hell to repair I think)
<whitequark> what's x68k
<whitequark> oh nvm wiki
<whitequark> what's a soft-eject floppy drive?
<cr1901_modern> Software sends command to eject floppy
<cr1901_modern> like how CD-ROM drives can be instructed to open/close the drive door
<cr1901_modern> (is that an ATAPI command?)
<Sarayan> I wonder whether I should get a de10 and plonk some yamaha chips on it :-)
<Sarayan> especially since it has 80 gpios and a/d inputs
<Sarayan> but voltages may be an issue, I suck at hardware :/
<cr1901_modern> Then get a Glasgow :P?
<Sarayan> a glasgow won't make me suck les
<Sarayan> less
<cr1901_modern> But you can focus on driving the chip rather than setting up circuitry/wires
<Sarayan> you still have to connect the chip to the fpga
<cr1901_modern> ... well mostly. You get 5Vs out of Glasgow. You'll need shifters if you do that w/ a de10 I think
<Sarayan> the de10 power jack is 5V...
<cr1901_modern> Regulated to 3.3 and 1.2 or something most likely
<Sarayan> 9, 3.3, 2.5, 1.8, 1.5, 1.2, 1.1 and 0.75 it seems
<Sarayan> amusingly there's no 5 in that list
<cr1901_modern> 9?
<cr1901_modern> Huh...
<Sarayan> yep
<cr1901_modern> Most Yamaha chips- at least the NMOS ones- will accept 3.3V as high. You will probably want a clamp or level shifter for inputs to FPGA tho (for those chips using serial output).
<cr1901_modern> CMOS ones- Idk. I have dealt w/ 5V CMOS chips that actually mean "voltages below 4.95 are undefined". Check your datasheets- if they exist :(.
<Sarayan> the gpio headers provide +5V, nice
<cr1901_modern> Yea, that's good :D
<Sarayan> but their i/o standard is 3.3V
<cr1901_modern> _unofficially_, you can drive ice40 FPGAs with 5V inputs and it won't fry the FPGA.
<cr1901_modern> might be worth trying on other families if one is willing to take the risk.
<Sarayan> The CD40109BE seems nice
<Sarayan> bah, I have neither the time nor the competence to play electronics engineer
doppler has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
andlabs has quit [Client Quit]
nukeykt has quit [Remote host closed the connection]
andlabs has joined ##yamahasynths
<superctr> if you use an FPGA, you don't really need to read from the FM chip unless you want to use the debug features
<superctr> you can just implement the timers and busy flag in the FPGA itself, if you need it
andlabs has quit [Ping timeout: 265 seconds]
andlabs has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
Xyz_39808 has joined ##yamahasynths
Xyz39808 has joined ##yamahasynths
Xyz_39808 has quit [Ping timeout: 240 seconds]
<cr1901_modern> superctr: For music playing this won't make a difference, but I believe the number of cycles you have to wait on the datasheet is a worst-case. So ppl concerned with timing/accuracy may be concerned.
Xyz39808 has quit [Read error: Connection reset by peer]
Xyz_39808 has joined ##yamahasynths
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined ##yamahasynths
Xyz39808 has joined ##yamahasynths
Xyz_39808 has quit [Ping timeout: 240 seconds]