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
<Lord_Nightmare> afaik all of the bubble system games later saw rom-pcb releases
<andlabs> yes
<andlabs> kinda
<Lord_Nightmare> gradius had an 'almost bubble system' release
<andlabs> I don't believe Gradius had a ROM release under the name Gradius
<Lord_Nightmare> then saw a completely-rom-ified released renamed 'nemesis' during the trademark fight
<andlabs> unless I'm confused
<Lord_Nightmare> there WAS a ROM release as 'gradius' but its super rare
<andlabs> heh
<Lord_Nightmare> probably <100 pcbs made
<andlabs> what was the trademark fight?
<andlabs> I thought nemesis was just what they called it outside japan
<Lord_Nightmare> uk company owned the "gradius" trademark
<andlabs> because gotta change it somehow!~
<andlabs> oh
<Lord_Nightmare> so for a few years konami did releases as 'nemesis' instead
<Lord_Nightmare> i think eventually they came to a deal or something
<cr1901_modern> If the board had to copy all the contents of bubble memory to RAM, wouldn't that mean that those arcade boards required a shitload of RAM?
<Lord_Nightmare> the 'bubless' board copies the contents of bubble memory to flash
<cr1901_modern> Contrast to many arcade boards which could happily execute from EPROMs
<Lord_Nightmare> yes, the bubble system has a lot of ram
<Lord_Nightmare> but most of it is DRAM
<Lord_Nightmare> the gfx stuff is SRAM tho?
<Lord_Nightmare> but the code space is all dram
<cr1901_modern> wouldn't that drive up the cost of the board even further?
<cr1901_modern> (all that DRAM)
<andlabs> yes
<Lord_Nightmare> no, DRAM is *CHEAP*
<Lord_Nightmare> compared to sram
<andlabs> the point was not cost, it was alleged reliability
<Lord_Nightmare> its also much more annoying to dump data that's loaded to dram
<Lord_Nightmare> because of the refresh thing
<andlabs> and yes, DRAM is cheap, but even cheap DRAM adds up when you need a lot of it
<cr1901_modern> Somehow seems easier than using a logic analyzer
<cr1901_modern> err
<cr1901_modern> seems easier than dumping bubble*
<andlabs> the only bubble game I'm not sure was ever ported to ROM was...
<Lord_Nightmare> i'm actually wondering if the 'bubless' boards actually erase the bubble memory modules they read
<andlabs> Galactic Warriors
<Lord_Nightmare> that would be horrifying and pretty much par for the course with japan's crazy copyright laws
<andlabs> and I'm not sure if Konami GT was upgraded from the origiinal bubble release or not
<cr1901_modern> I learned far more about bubbles than I wanted to tonight.
<andlabs> the videos I can find on YouTube have way more advanced sound than what the GX400 Bubble was advertised
<Lord_Nightmare> cr1901_modern: nope, you don't know how bubble memory works yet
<cr1901_modern> I looked it up
<Lord_Nightmare> it involves layers of ruby and crazy stuff
<cr1901_modern> while we were talking
<andlabs> here's the thing to understand about the konami bubble system
<cr1901_modern> it's like a delay line when you need to read
<cr1901_modern> so you have to shove it back into the chip
<cr1901_modern> sequentially
<andlabs> by the time konami started using it, most of the people working on it had long abandoned it
<andlabs> :D
<Lord_Nightmare> yes its like a magnetic tape delay line except on silicon and ruby instead of magnetic tape
<Lord_Nightmare> you can use magnetic tape as a delay line by applying current to it
<Lord_Nightmare> its a really weird effect
<Lord_Nightmare> so you can have a piece of cassette tape a few inches long, grab both ends with alligator clips and apply some current to it, very little
<cr1901_modern> and it's called bubbles because well, there are raised/lower reigons on the surface of the memory
<Lord_Nightmare> and the magnecti bits on the tape will march toward one end
<cr1901_modern> that look like bubbles
<whitequark> Lord_Nightmare: what
<whitequark> whaaat
<whitequark> what the actual hell
<Lord_Nightmare> whitequark: at least that's how i understand it
<cr1901_modern> what the actual hell <-- which part :P?
<Lord_Nightmare> i believe the same thing works with wire from wire recorders, under certain circumstances
<Lord_Nightmare> but i strongly suspect the signal degrades horribly as it 'bubbles' along the tape or wire
<Lord_Nightmare> due to imperfections
* cr1901_modern gets the hook
<Lord_Nightmare> while that's not the case with bubble memory
<andlabs> you're more likely to snap the wire though
<andlabs> so *shrug* ?
_whitelogger has joined ##yamahasynths
<andlabs> coming up next: the konami 8-track system
<andlabs> if data east thinks they've hit gold with the compact cassette system then watch out
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
whitequark has joined ##yamahasynths
<cr1901_modern> Foone: This is a PC-104 connector on this card? https://www.aliexpress.com/item/32919832037.html
ej5 has joined ##yamahasynths
andlabs has joined ##yamahasynths
<ej5> hey cr1901_modern you around?
<cr1901_modern> ej5: Yes for a bit, what's up?
<ej5> i'm working on an MCA version of the ad lib, and i'm trying to come up with funny names
<cr1901_modern> Hmmm... this one's trickier than Sound Blaster... not much to work with with "Ad"
<cr1901_modern> I want to bastardize "lib" to "blub"
<ej5> i've got a few: Blab Lib, Plaid Lib, Bad Bib
<cr1901_modern> Bad Bib is my favorite
<cr1901_modern> Or Plaid Bib (with maybe soldermask art of a bib w/ a plaid pattern)
<cr1901_modern> maybe the plaid is copper theiving
<ej5> could be, or alternating copper and silk
<ej5> i'm also putting funny silkscreen text underneath components
<cr1901_modern> Maybe name all the components after ppl in this room, like on the Amiga. "Not-so-thin cr1901"
<cr1901_modern> (Fat Agnus joke)
<cr1901_modern> Wait... is "Agnus" a typo of "Agnes"?!
<TD-Linux> ej5, what's the big ol pga package? mca pnp rom?
<ej5> nope, it's a bus interface chip made by C&T
<cr1901_modern> is it part of the NEAT chipset?
<TD-Linux> oh no. you managed to source that?
<ej5> don't think so.
<ej5> TD-Linux, oh yes i did! got the chips the other day and they seem legit
<TD-Linux> nice. I assume from the usual place?
<ej5> yeah. tricky to choose because the picture was lacking and the description was barely complete
<TD-Linux> also I guess it's pretty reasonable to have overstocks of MCA bus interface chips :)
<TD-Linux> ej5, I totally bought them out of 3802-X. it was funny because the chips started looking worse and worse
<cr1901_modern> what is 3802-x
<cr1901_modern> ?
<TD-Linux> garbage midi chip I'm cloning
<TD-Linux> I hate it so much
<cr1901_modern> ahhh cool
<cr1901_modern> My sympathies
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<ej5> how are you cloning in, TD-Linux
<ej5> *it
<TD-Linux> reading the application model, and writing test software that compares the behavior to the original chip
<TD-Linux> it's very imprecise
<TD-Linux> *application manual
<ej5> i wrote some PAL equations today.
<TD-Linux> I need to reverse the power drift motor controller PALs but they are registered which makes it annoying
<cr1901_modern> eww
<cr1901_modern> I can't even RE an unregistered PAL
<ej5> i didn't have a physical PAL to reverse engineer
<ej5> i had to deduce the function from the schematic and forward engineer it.
<TD-Linux> probably how I'm going to do these as well
<ej5> as usual i only had a couple of photos to go by on this particular effort. and not even the full top side of the board (which was blocked by components)
<TD-Linux> cr1901_modern, an unregistered PAL is doable with a ROM dumper :)
<cr1901_modern> I know I'm just not creative lol
<TD-Linux> thought "where's pop"
<TD-Linux> wasn't dissapointed
<ej5> XD
<TD-Linux> what's up with the bonkers mca finger design
<cr1901_modern> ej5: The "B" in "BFC" stands for "Big". The "C" stands for "Capacitor"
<cr1901_modern> :)
<ej5> yeh
<cr1901_modern> I would put that in the silkscreen for that cap
<cr1901_modern> well the first part
<TD-Linux> also I refuse to believe U8 is more expensive than U5
<ej5> TD-Linux, think the pads mistakenly have paste mask openings
<ej5> *thats the joke*
<cr1901_modern> "Distortion Generator"
<TD-Linux> does MCA not actually have any sort of config ROM?
<ej5> sort of
<ej5> one of the bus buffers generates the 16-bit card ID value
<cr1901_modern> wait, so the card ID is lost when power is lost?
<ej5> the 82c611 contains a couple of the POS (programmable option select) registers
<ej5> no card ID is permanently wired in
<cr1901_modern> ahh, the way you said it I thought the card ID was held by octal buffers
<ej5> POS registers are set by the BIOS on bootup according to the ADF file.
<ej5> it *is* held by an octal buffer
<ej5> the '611 generates two control lines, 100RD and 101RD
<ej5> those correspond with the two 8-bit ID regs
<ej5> those are wired to the bus buffer such that they force it to output a particular binary pattern when activated. it's kinda clever actually
<cr1901_modern> I would have to see a diagram.
<cr1901_modern> So the '611 talks to jellybean TTL octal buffers to generate a card id?
<ej5> yep
<cr1901_modern> huh
<cr1901_modern> also was that PCB render finished? I only saw one TTL octal buffer
<ej5> there are two
<ej5> a 244 and a 245
<cr1901_modern> My name is 70d7?
<ej5> yes
<cr1901_modern> what's that in humanspeak?
<ej5> that's the card ID lol
<TD-Linux> "I'll cook myself in 20 years"
<TD-Linux> why do 245s run so hot
<cr1901_modern> ahhh
<cr1901_modern> This clone will be open source too?
<ej5> eventually
<ej5> i'm not sure it'll even work
<ej5> the guy whose photos i used says that it won't work in his ps/2 model 80
<ej5> but i think i know why.
<cr1901_modern> I still think it's a noble effort. But I'm proud/happy you're doing it.
<ej5> the card uses LS family logic which may be a bit too slow for the MCA bus in the model 80, which i think runs pretty fast
<ej5> one possible fix is to use F or HCT logic
<TD-Linux> is the yamaha chip fast enough? does mca have wait states?
<ej5> well, the shortest write pulse width is 100ns
<ej5> that's only 10mhz
<ej5> read is slower at 200ns
<ej5> mca supports an extended cycle but the card doesn't implement it
<ej5> wow this design is right on the hairy edge for timing closure
<ej5> and not at all for reads, only for writes lol
<cr1901_modern> using kicad design rules?
<cr1901_modern> or calculating delays manually?
<ej5> no, the write signal to the ym3812 is 90ns while the min write pulse spec for the ym3812 is 100ns
<cr1901_modern> it'll probably be fine (tm)
<ej5> read pulse spec is 200ns which wouldn't work at all, mca would have already latched the return value
<ej5> well it'll work if you're only writing to the card (granted i think many games just did that)
<ej5> but it might trip up some of the ad lib detect routines
<cr1901_modern> IME reading timer values or the busy flag isn't that useful
<whitequark> i didn't even implement reads in glasgow
<ej5> it isn't but the detect routines use it to check for the card presence
<whitequark> oh
<whitequark> also wait, opl2 has no status bit
<whitequark> irq and timer
<cr1901_modern> Ahhh okay, I'm mixing up chips then. E.g. OPM has a busy bit you can poll. Consistency is a word Yamaha does not know.
<cr1901_modern> >NOTE2: This testing method doesn't work in some SoundBlaster compatible cards.
<cr1901_modern> Heh
<cr1901_modern> Anyways, do you know any software (DOS) which supports the MCA Adlib?
<ej5> any software that supports the ISA version should work
<ej5> it shows up at the usual I/O address.
<cr1901_modern> Good question/worth testing whether these diagnostic programs worked for MCA even back when the card was new.
<cr1901_modern> I would test for you, but I have no MCA hardware
<cr1901_modern> or MCA adlib
<ej5> i'm looking into how the wait state mechanism works
<ej5> i may put in some hooks so i can use it.
<cr1901_modern> >IME reading timer values... isn't that useful
<cr1901_modern> Now that I think about it more, I don't think Adlib routed out the IRQ signal, correct? So if you wanted to use the OPL2 timers to schedule your music's BPM you'd have to busy wait.
<cr1901_modern> My guess is that most ppl used the PIT
<ej5> yep.
<cr1901_modern> Using the OPL2 timers to preserve the PITs channels (it doesn't exactly have many of them) would be nice, but aside from some cooperative multitasking based mechanism I don't think you can make it work.
<cr1901_modern> Genesis made the same mistake (I guess they assumed 50/60Hz would be enough for anybody)
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
futarisIRCcloud has joined ##yamahasynths
ej5 has quit [Quit: Leaving]
Ultrasauce has quit [Quit: Ultrasauce]
Ultrasauce has joined ##yamahasynths
Xyz_39808 has joined ##yamahasynths
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
andlabs has joined ##yamahasynths
Xyz_39808 has quit [Ping timeout: 276 seconds]
andlabs has quit [Ping timeout: 258 seconds]
andlabs has joined ##yamahasynths
<Foone> https://i.imgur.com/s1XcKm4.png surprise yamaha OPL3 in a toshiba laptop I took apart last night
<Foone> I don't really understand why it's there. This is obviously an ESS AudioDrive-based board, but I thought the ESS AudioDrive emulated the OPL3. Why does it need an ESS AudioDrive AND an OPL3?
<Foone> also it's weird to look up datasheets for these things and find out that they were headquartered like a 3 minute drive from my house
<Foone> I guess the 688
<Foone> the ES688 didn't yet integrate them.
<Foone> the ES1688 definitely does, but I'm seeing some cards on google images that have an ES688 and separate OPL3 chips
<Foone> so I guess at that point it's just working as the "DSP"
<Foone> also it turns out ESS Technology is still around, has moved, but is still about a 3 minute drive from my home
<Foone> they're just in the opposite direction now
<Foone> maybe I should just drive over there and be like YO I FOUND tHIS SOUND CARD INSIDE A LAPTOP, WHAT'S IT DO? CAN YOU GIVE ME a DATASHEET FOR THIS ES688?
<Foone> ALSO WHILE I'M HERE DID YOU EVER MAKE ANY DIP VERSIONS OF YOUR ES1869s? I COULD USE ONE CAUSE I'M BUILDING A NEW ISA SOUND CARD
<cr1901_modern> ^This but unironically
* cr1901_modern contemplates starting on a personal project. His first one in months
<cr1901_modern> https://twitter.com/TubeTimeUS/status/1165021287502114816 Please enjoy this thread, btw
<Foone> the datasheet says it has a way to enable "telegaming mode"
<Foone> I'm not really sure what that is
<cr1901_modern> telephone tag?
<Foone> I think it may be a way to route audio over a modem connection in hardware
<cr1901_modern> I thought they had that already. It's called a phone line.
<Foone> I think the idea is that it hooks into the modem functionality of the audio chip and therefore you can continue using it as a modem too, at the same time
<Foone> presumably with a large drop in speed/quality
<cr1901_modern> huh, interesting
<Foone> all the references I can find to "telegaming mode" seem to be from the datasheets and just tell you that you can't use the first audio channel when it's turned on
<Foone> but doesn't really explain why
<Foone> why you'd want to do that, I mean
<cr1901_modern> The current phone system multiplexes multiple audio streams
<Foone> mmm. maybe it's just a way to do in-hardware acoustic noise canceling while doing a record-and-playback-at-once system
<Foone> so it's still up to software to handle transmitting that audio
<cr1901_modern> in-hardware acoustic noise canceling <-- using an analog filter?
<Foone> ok it instead says it CAN'T do acoustic echo cancellation, you have to do that externally. so why did it mention it as a feature? I'm confused.
<Foone> I'm officially pushing this question into the "life's too short to understand this nonsense" pile
<Foone> I need to not get ADHD nerdsniped :)
<cr1901_modern> I could ask brouhaha later or something
<cr1901_modern> He stared into the modem abyss long enough
<cr1901_modern> I wonder if there were pc-98s in laptop form factor that gave you a surface mount OPN
<whitequark> cr1901_modern: any DIP is surface mount if you're brave enough
<cr1901_modern> Thanks I hate it
<whitequark> cr1901_modern: i've heard of (and seen products) of a russian sonar vendor that did this
<whitequark> the designer of the sonar only believed in NATIONAL PATRIOTIC RUSSIAN ULTRASOUND OPAMPS
<whitequark> except they werent' even ultrassound that chip was a cassette recorder amplifier
<whitequark> and came only in DIP
<cr1901_modern> lmao
<whitequark> so they hired students to bend the pins underneath it
<whitequark> because the rest of the board was SMT
<cr1901_modern> oh no no no
<whitequark> it was also all assembled by hand
<whitequark> because the designer of the board did not trust pick&place machines
<whitequark> so it was all like... 1206
<cr1901_modern> >the designer of the board did not trust pick&place machines <-- He would if he hired me to do that
<whitequark> they also used student-trimmed inductors. like an inductor which some poor soul filed down until it worked
<whitequark> the board had a display that could go in one of 2 orientations but only 1 was correct
<whitequark> this separated the students into two groups: smart and strong.
<whitequark> the designer of the board wrote the entire firmware in AVR assembly for an obsolete chip
<whitequark> when my contact there (a contractor) learned of that, he bought the last pallet of those chips in russia
<cr1901_modern> Why does it keep getting more horrifying?
<whitequark> and resold to them at 10x markup
<whitequark> well, not specifically 10x but it was a lot
<whitequark> what else
<whitequark> oh yeah
<whitequark> so it's a sonar for winter fishing
<whitequark> that means like, -30°C is normal
<whitequark> the designer of the board did not believe in industrial range component
<whitequark> so they used an environmental chamber to test every one
<whitequark> half of them failed that
<whitequark> the majority of the rest were warranty returns
<whitequark> hm
<whitequark> the device was powered by one AA battery.
<whitequark> the only place they could stuff it in was..... the sonar probe.
<whitequark> that goes underwater.
<cr1901_modern> Looks like the Russian winter fishing community stumbled upon a gem of a product
<whitequark> so it went into a milled enclosure for the probe
<whitequark> so that when it leaked, it expanded and got completely stuck inside
<whitequark> i'm not sure if you could even drill it out nondestructively
<whitequark> the actual sonar sensors were shipped by some russian factory.
<whitequark> they did not have a datasheet
<whitequark> they just had like ... whatever fell off the end of our production line characteristics
<whitequark> so they tested them and picked the ones that looked sorta like they would work
<whitequark> it's incredible, the shittiest product i've ever heard of
<cr1901_modern> Most of the sonars were returned under warranty you said?
<whitequark> yes
<whitequark> well, i'm not sure about warranty
<whitequark> they did get returned
<whitequark> because they were utter shit
<whitequark> oh the company survived cuz they had a totally unrelated government contract they overcharged on
<cr1901_modern> That was my follow up q
<cr1901_modern> https://en.wikipedia.org/wiki/Bean_Boots (First sentence, second paragraph under Creation)
<cr1901_modern> Your story takes the cake. It is the _second_ time I've heard of a product so defective
<whitequark> huh
<cr1901_modern> https://twitter.com/cr1901/status/1165036234449797121 I couldn't resist, so I just chose the best part
<Lord_Nightmare> Foone: if you can source original ESS technology info and stuff about forrest mozer and how they were founded, and how they encoded the mozer speech stuff for ghostbusters etc back in the early days...
<Lord_Nightmare> I'd love more info about that
<Lord_Nightmare> and yes, ESS in the c64 ghostbusters credits *IS THE SAME COMPANY* as ess technology
<Lord_Nightmare> founded by forrest mozer and ?fred chan? i think
<Lord_Nightmare> to commercialize forrest mozer's speech tech after the deal he had with national semi re: the digitalker chip didn't work out well
<Lord_Nightmare> forrest mozer's sons todd and (I forget the other son's name) founded their own speech company licensing (I think?) the ess/mozer compression, called 'sensory circuits inc.' later 'sensory inc'
<Lord_Nightmare> and sensory inc eventually bought out the remnants of TI's lpc chip division
<Lord_Nightmare> forrest mozer designed the first single chip speech synthesis device, the TSI S14001A
<Lord_Nightmare> as used on the arcade game 'berzerk' among other places
<Lord_Nightmare> it was quite primitive
<Foone> neat.
<Lord_Nightmare> using a very interesting mix of ADPCM, half-period zeroing and lots of repeating of hand-crafted spectrally similar sections
<Lord_Nightmare> so it would encode a section of speech by brute-force matching the spectra
<Lord_Nightmare> see plogue chipspeech 'otto mozer' voice, this actually uses real licensed phoneme/diphone/etc samples from mozer, since mozer retained the rights to all the stuff he encoded back in the day
<Lord_Nightmare> and its not exactly 'samples' the way you'd think of modern day samples
<Lord_Nightmare> its actually using the original encoded ADPCM data
<Lord_Nightmare> with real half period zeroing etc
<Lord_Nightmare> so its emulating the actual chip too
<Lord_Nightmare> (with some enhancements)
<Lord_Nightmare> the originla tsi s14001a could not change its pitch at all, for instance
<Lord_Nightmare> the digitalker could
<Lord_Nightmare> digitalker was basically an enhanced s14001a type engine, licensed to national semi
<Lord_Nightmare> later ESS produced their own engine which was 95% the same as digitalker but with some bugs/misfeatures that digitalker had, fixed.
<Lord_Nightmare> this was used on the sensaphone alert system and in a bunch of other places
<Lord_Nightmare> talking wrinkles uses it too
<Lord_Nightmare> the puppet toy
<Lord_Nightmare> and its also used on superstar lineup talking football and starting lineup talking baseball
<Lord_Nightmare> and of course ESS produced the engine used on several c64 games and one famicom game
<Lord_Nightmare> i am not entirely sure, but i believe forrest mozer may be the voice of elvin atombender in impossible mission
<Lord_Nightmare> "stay a while... stay FOREVER!"
<Lord_Nightmare> ...and that's how ESS started out
<Lord_Nightmare> later they made sound cards and stuff
<Foone> and they apparently make some sound chips for phones now. I wonder if they're soundblaster compatible
<Foone> I want a phone with an OPL3
<cr1901_modern> I seem to very vaguely recall hearing about an OPL3 phone
<cr1901_modern> but it could be a false memory
<Foone> it wouldn't surprise me if some phone used one at some point in the pre-smartphone era