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
Xyz39808 has quit [Ping timeout: 260 seconds]
Xyz_39808 has joined ##yamahasynths
Sarayan has quit [Ping timeout: 252 seconds]
Sarayan has joined ##yamahasynths
<cr1901_modern>
grauw: How'd you get your PDF of the YM2151 manuals if you remember?
<grauw>
ahh I remember it like yesterday, it was on a beautiful spring day on the 10th or March in the year 2014 AC
<grauw>
Google? :) it was already on the internet, I didn’t source it myself
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
futarisIRCcloud has joined ##yamahasynths
andlabs has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mz` has quit [Ping timeout: 250 seconds]
andlabs has joined ##yamahasynths
mz` has joined ##yamahasynths
cr1901_modern has quit [Read error: Connection reset by peer]
cr1901_modern has joined ##yamahasynths
ej5 has joined ##yamahasynths
<cr1901_modern>
ej5: I don't have the parts yet, but I _almost_ have a space cleared for doing retro dev again w/ my spare 5150 board. You know what that means :D? Super Blooper build time!
<cr1901_modern>
Well, soon anyway
<ej5>
yay
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
Xyz_39808 has joined ##yamahasynths
<KillaMaaki2>
wee, sounds like fun! :)
ej5 has quit [Read error: Connection reset by peer]
Xyz39808 has joined ##yamahasynths
Xyz_39808 has quit [Ping timeout: 260 seconds]
<whitequark>
hmmmm
<whitequark>
i can't seem to get my YM2151 to work
<whitequark>
it gets very hot with just GND and VCC connected and doesn't produce any music, though it does produce *some* output
<whitequark>
ESD?
<cr1901_modern>
getting very hot w/o a clock is very normal
<whitequark>
oh, hm
<whitequark>
i didn't realize that when writing the glasgow applet; it stops the clock for a number of reasons
<whitequark>
so it might *not* be toasted
<whitequark>
i'm really at a loss of what goes wrong here though
<whitequark>
it produces... awful bleeping
<cr1901_modern>
Oh it'll run just fine- I've powered it w/o a clock for a day before. But some of the NMOS pullups are always on when its unclocked.
<cr1901_modern>
and it generates heat
<whitequark>
wait
<whitequark>
it consumes 120 fucking milliamps?!
<whitequark>
it dissipates HALF A WATT?!
<cr1901_modern>
Something like that... the 64-pin chips are worse
<cr1901_modern>
I dare not power those from USB
<whitequark>
jesus fucking christ??
<whitequark>
okay hm
* whitequark
notices that the datasheet lists the minimum level for "1" level as twenty volts
<cr1901_modern>
typo
<whitequark>
yes
<whitequark>
funny though
<whitequark>
does ~IC, ~RD, etc have internal pullups?
<whitequark>
I think it does but I'm not actually sure
<cr1901_modern>
Looking at the I/O drivers, I don't really see anything on those huge transistors indicating pullups, but I should really vectorize and see.
<whitequark>
it has huge transistors on inputs?
<whitequark>
wait, take a look at fig 6 in the datashet
<whitequark>
seems like IC alone has a pullup
* cr1901_modern
is checking
<whitequark>
hm, if it's NMOS, that means it's not super ESD sensitive right?
<whitequark>
I'm so confused
<cr1901_modern>
yup that is a pullup
<cr1901_modern>
good eye
<whitequark>
it used to work; I even checked out the Glasgow commit that introduced it
<whitequark>
and YMF262 works with that very commit so it's not Glasgow
<whitequark>
I checked the pinout like 10 times and the first few times I even connected it via a special jig with inline resistors for extra idiot resistance
<cr1901_modern>
I've left it running for about a day without a clock. It wasn't on purpose but the chip survived basic testing.
<whitequark>
I actually don't think I did anything wrong with it before. I unplugged it and put it in a box
<whitequark>
I never bought 1 of any synth so I definitely have more of them, but this is just baffling
<cr1901_modern>
re: ESD, follow basic procedures of course, but I would not think ESD ruined a chip
<whitequark>
to my knowledge I've never killed anything with ESD before
<whitequark>
there's always a first time of course, but
<cr1901_modern>
"It worked with the original Glasgow commit but not anymore" is weird b/c it means my first guess- Is /IC being driven at boot- won't be right
<whitequark>
I don't drive /IC at all I think
<whitequark>
I do clear the registers in software
<whitequark>
we discussed this and the conclusion was that it's fine to do it either way
* cr1901_modern
nods
<whitequark>
I'm kinda concerned how hot it is tbh
<cr1901_modern>
without a clock still?
<cr1901_modern>
It should not be smoking but it'll be uncomfortable to touch
<whitequark>
"uncomfortable to touch" is how I would describe it exactly
<whitequark>
hm
<whitequark>
alrighty
<whitequark>
I guess my sense is just not calibrated for 1991 tech
<cr1901_modern>
FWIW I thought I killed it the first time I drove it w/o a clock too
<cr1901_modern>
Just to humor me, when you clock the chip, what's the frequency that's being input (I know you don't run it at the recommended freqs, but I am curious anyway)?
<whitequark>
4M, which is within the range
<whitequark>
I turned off overclocking by default because it gave inconsistent results
<cr1901_modern>
right, that's fine. Does pin 23 measure 2 MHz?
<whitequark>
lemme grab my scope, sec
<cr1901_modern>
Pin 23 is the DAC clock... I wonder if that's okay
<whitequark>
it is okay because I actually get audio from it
<whitequark>
except it's all wrong
<whitequark>
well, the freq could be off, let me check.
<cr1901_modern>
"it's all wrong" in pitch? Or "it's all wrong" as in "the instruments are cursed and calling forth the abyss"?
<whitequark>
there are no instruments per se
<whitequark>
it's producing ... tones
<whitequark>
like DTMF tones
<whitequark>
hm, why the fuck is the clock at 4.35 MHz
<whitequark>
uhhhh
<cr1901_modern>
(If it was "it's all wrong" in pitch, I would know what the problem was. But the web applet might account for that already.)
<KillaMaaki2>
Are they consistent or semi-random on reset? FWIW when I was having audio problems in my case it would produce inconsistent noises with each reset ranging from low hums to loud beeps to irritating buzzes, but that was because I was bypassing the intended DACs and instead piping the serial output directly into my own custom I2C solution and I had failed to correctly synchronize the start/end of each LR sample.
<whitequark>
cr1901_modern: ok, so, I definitely have a clock and it's still super hot
<cr1901_modern>
Hrm, now that doesn't sound right.
<whitequark>
pin 1 does have the clock divided by 2
<cr1901_modern>
pin 1? Do you mean phi 1?
<whitequark>
er, yes
<cr1901_modern>
I would be very concerned if GND pin had a clock on it
<whitequark>
what
* cr1901_modern
is getting a VGM file
<whitequark>
oh, yeah
<cr1901_modern>
I moved everything to a new drive so my VGMs are on backup storage... sec
<cr1901_modern>
err, I am using a new drive*
<whitequark>
oh god
<whitequark>
the ~RD is low for some cursed reason
<whitequark>
it's a bus conflict
<whitequark>
but... why
<cr1901_modern>
Before you fix it, let me play something please >>
<whitequark>
sure, go ahead
<cr1901_modern>
I have an OPL board w/ a bunch of issues, and I wonder if the output sounds anything like yours
<cr1901_modern>
I took a break diagnosing the problem, but this might give me a hint
<whitequark>
I guess it doesn't get any deader than it is right now, assuming that killed it
<whitequark>
and I'm pretty sure I have more, anyway
<cr1901_modern>
Okay, I hear an occassional pop, but that's about it
<whitequark>
yeah it does that too
<whitequark>
not sure when it does the tone thing and when the occasional pop thing
<cr1901_modern>
not like the glitches I'm seeing on my OPL board, where the music sounds correct briefly and then goes completely to hell as reg writes are garbled up
<whitequark>
ah
<cr1901_modern>
Played it again, popping sounds again. When that one is done, I'll do one more
<cr1901_modern>
(a different vgm)
<superctr>
it's quite silent
<cr1901_modern>
Oooor the gateway could complain that there's no OKIM6258 support
<cr1901_modern>
:P
<cr1901_modern>
Yea there are only pops and clicks for me, no dtmf tones or anything of the sort
<whitequark>
it's a bit random
<whitequark>
ok let me stop the bus conflict
<cr1901_modern>
I think you might be alright... I've setup up two ISA cards from the same era w/ the same I/O addresses by accident; the worst that's happened is that I had to do a power-on reset
<whitequark>
oh my GOD
<whitequark>
I forgot :(
<whitequark>
I plugged it into the glasgow that has one of the output drivers dead
<whitequark>
and the fault is a short to ground :(
<whitequark>
I'm an idiot
<whitequark>
I should have clearly marked it somehow
<cr1901_modern>
I mean, I enjoyed the journey of your debugging woes. Isn't that what counts :)?
<whitequark>
poor synth :( :(
<cr1901_modern>
Oh, it died :(?
<whitequark>
i don't know yet
<whitequark>
but uh
<whitequark>
Glasgow has nice low-impedance outputs
<whitequark>
that's about 50 ohms into ground on each IO pin
<whitequark>
or vcc
<whitequark>
so that's a pretty rude thing to do to a chip
<whitequark>
yeah still bleeps with a working glasgow
<whitequark>
try again, i seem to be getting bleeps now
Patater_ has joined ##yamahasynths
<whitequark>
*squint* hang on
<whitequark>
did I connect half the data bus backwards
<whitequark>
hm
<whitequark>
it makes some utterly cursed noise now
<whitequark>
but it's like, yamaha noise
<whitequark>
oh wait
<whitequark>
I connected the other half of the data bus backwards too
<whitequark>
well i'll be damned, it still works
<Lord_Nightmare>
that's a relief
<Lord_Nightmare>
you should desolder the dead bus driver chip so it can't happen again
<whitequark>
good idea
<Lord_Nightmare>
or at least, the pins will just be floating instead of pulled to gnd
<whitequark>
unfortunately it's fucking SOT523
<whitequark>
yes, there really was no saner choice for the package
<whitequark>
hm
<whitequark>
you know what, let me make a bus conflict *on purpose* and see if it still works
<whitequark>
it's been driving that bus into a short for a long time, what's a few more second
andlabs has quit [*.net *.split]
cr1901_modern has quit [*.net *.split]
doppler has quit [*.net *.split]
akacastor has quit [*.net *.split]
Nerionaya has quit [*.net *.split]
Patater has quit [*.net *.split]
cnomad has quit [*.net *.split]
<whitequark>
....
<whitequark>
it still works
<whitequark>
no actual difference
* Lord_Nightmare
is tracing the hc55516 die, slowly. its not too complex
<Lord_Nightmare>
but what i could use some help with is identifying the various cmos gate cells
<Lord_Nightmare>
its not a standard cell library that harris used... or if it is, its not public
<whitequark>
cr1901_modern: i'm really impressed that it still produces music correctly *with the bus conflict*
<whitequark>
I'm not sure if it turns off the drivers if \WR is active, or if Glasgow just forces it into submission
<whitequark>
could probably check with a scope
<Lord_Nightmare>
ok, i'm getting close to figuring out 'H' now
<Lord_Nightmare>
i have the diagram done
<cr1901_modern>
whitequark: So a short bus conflict, the chip still makes music... a continuous bus conflict and the chip gives up?
<cr1901_modern>
natarii: Unironically, Vapor Trail has one of my favorite Genesis soundtracks. Pity it only has like 9 songs
<cr1901_modern>
It's also the only arcade game I 1cc'd
<Lord_Nightmare>
if B is low, /B is high, and /Y equals whatver /A is. if B is high, /B is low, and /Y is high. if A is low, /A is high, and /Y is whatever /B is. if A is high, /A is low, and if B is also low, /Y is low. however if B is high, /B is low, and /Y is high. what gate am i?
<cr1901_modern>
the hell?
<cr1901_modern>
Using the symbol "/" is reserved for "inverted input or output"
<cr1901_modern>
which is it in this case?
<cr1901_modern>
(and I don't know)
<Lord_Nightmare>
its the output of a 2-gate inverter attached to the a and b inputs
<Lord_Nightmare>
er
<Lord_Nightmare>
2-transistor
<cr1901_modern>
I'm writing down the truth table now
<Lord_Nightmare>
i think i have at least one error
<Lord_Nightmare>
or else this isn't a standard gate, might be one of the weird ones like IMP or NIMP
<cr1901_modern>
And your gate seems to be overly specified
<Lord_Nightmare>
i figure its supposed to be a 2-input OR gate
<cr1901_modern>
I ran into a contradiction trying to write it down
<Sarayan>
conventionally, A-H/X are inputs, O/Y are outputs
<cr1901_modern>
if B is low, /B is high, and /Y equals whatver /A is
<cr1901_modern>
if A is low, /A is high, and /Y is whatever /B is
<Lord_Nightmare>
/y is not an output, Y is. /Y is an internal signal run through another inverter before being output
<cr1901_modern>
/B => (/Y == /A)
<cr1901_modern>
/A => (/Y == /B)
<Sarayan>
simpler than that, B=0 => Y=A, B=1 => Y=0
<cr1901_modern>
I don't believe that's true for all values of /A and /B
<Lord_Nightmare>
i'm stumped with this thing, to be honest. i'm pretty sure my diagram has a bunch of mistakes, or this thing probably has a state that shorts vcc to gnd