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>
Foone: I already have the ROM dumped (since that was socketed), iirc
<Lord_Nightmare>
the issue is the surfacemount pals
<Lord_Nightmare>
er, talking about the action replay thing
<Lord_Nightmare>
the ibm PS/2 speech adapter, i'd love to get a copy of that ROM
<Lord_Nightmare>
and I'd also love to know the schematic for the two filters around the MC3418
<Lord_Nightmare>
did IBM use the reference design on the MC3418 datasheet or did they tweak it?
<Lord_Nightmare>
I know for exidy's mouse trap arcade game (which uses an MC3417, a related but somewhat different CVSD chip using the 3-bit 'consumer' convergence algorithm instead of the 4-bit military/telephony one) the filter used is very similar to the one on the motorola datasheet
<Lord_Nightmare>
most arcade games and the victor 9000 computer used the harris hc55516 or hc55564 instead since it didn't require a complex set of two analog filters outside of the IC, but did require an analog lowpass filter on the output (which the mc3417/34115 and mc3418 also require)
<Lord_Nightmare>
the harris hc55516 is entirely digital inside for decode mode, and i very recently traced out the die (about a month ago) and have a bit-accurate implementation of it
<Lord_Nightmare>
while the mc341x chips are, except for the data shifter portion, entirely analog inside
<Lord_Nightmare>
the hc55516 is not 100% digital (it has 3 dacs, one for decode, and two for encode, one of which is a 12 bit counter entirely to add a dc offset to the input signal; this latter dac seems to have been deemed unnecessary and removed on the hc55564)
<Lord_Nightmare>
note that all of the hc55516 datasheet diagrams EXCEPT ONE pretty much LIE about the presence of 3 dacs
<Lord_Nightmare>
and claim either one or two
<Lord_Nightmare>
also the hc55516 datasheet claims the /fz pin clears the syllabic and integrator filters to zero. IT DOES NOT.
<Lord_Nightmare>
it might on the hc55564, but it definitely doesn't on the older chips.
<Lord_Nightmare>
the hc55532 is the same die as the hc55516 but with the via layer changed, the other layers are the same. I've identified what i think are all the changes based on the hc55516 decap
<Lord_Nightmare>
it basically increases the period of the syllabic filter (the datasheet implies it doesn't change the period of the integrator, but it definitely has provisions on the die to do so, so i'm not sure...)
<Lord_Nightmare>
the 'offset' dac on the hc55516 is also buggy: it doesn't seem to initialize to anything in particular, nor is there any way to reset it to zero
<Lord_Nightmare>
its possible the weird way the logic cell delta counters on the die are put together would make it start at zero on power up
<Lord_Nightmare>
but it doesn't seem to have any logic preventing it from underflowing
<Lord_Nightmare>
the carry/borrow in pin is tied high on the least significant cell
<Lord_Nightmare>
the ROM in the action replay pc card al has scans of (same one LGR borrowed) has a '4' markered on it
<Lord_Nightmare>
the one I was lent has a '4' as well. There should be other ROM revisions though.
<cr1901_modern>
fseidel: Tyvm :3
<cr1901_modern>
Also, cute marquee scrolling... feels like I've been transported back to Angelfire in 1999
<fseidel>
lol, thanks
<fseidel>
I'm not much of a web designer, so I figured I'd slap that on there
_whitelogger has joined ##yamahasynths
_whitelogger has joined ##yamahasynths
Xyz_39809 has joined ##yamahasynths
Xyz39808 has quit [Ping timeout: 265 seconds]
Xyz_39809 has quit [Read error: Connection reset by peer]
Xyz_39809 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
cr1901_modern has quit [Quit: Leaving.]
cr1901_modern has joined ##yamahasynths
<andlabs>
hmmm
<andlabs>
[2019-08-22T19:22:42-0400] <cr1901_modern> oh right, the bubble system. You had to wait a minute for the game to warm up
<andlabs>
[2019-08-22T19:22:52-0400] <cr1901_modern> Gradius would play some music from the 1700s
<andlabs>
[2019-08-22T19:22:55-0400] <cr1901_modern> while you wait
<andlabs>
[2019-08-22T19:26:01-0400] <andlabs> we don't know who wrote the music, but it was likely Gradius's composer
<andlabs>
[2019-08-22T19:26:08-0400] <andlabs> we do know it has a name (Morning Music)
<andlabs>
[2019-08-22T19:26:20-0400] <cr1901_modern> oh it's not classical music?
<andlabs>
well I now know that it's based heavily on Mozart's Eine kleine Nachtmusik (Serenade No. 13 for strings in G major), movement no. 3
<andlabs>
but only the first few measures
<cr1901_modern>
Interesting... I'll have to do a comparison when I'm up for it
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
<cr1901_modern>
Pretty sure this was also discussed in the channel, but last I checked, we have no idea how the bubble memory controller works on Konami arcade boards, and reading data off of bubble memory storage is actually a pretty damn horrifying process.
andlabs has quit [Ping timeout: 258 seconds]
<Lord_Nightmare>
we know a bit, though i think moki (RIP) may have been involved in dealing with extracting it
<Lord_Nightmare>
you can read the bubble memory contents during load using a logic analyzer on the bubble controller chip on the bubble system mainboard
<Foone>
does bubble memory even retain data for that long? like, are any working bubble memory units still out there?
<Lord_Nightmare>
yes
<Lord_Nightmare>
bubble memory lasts a while
<Lord_Nightmare>
i think the reliability with it is glitching of the bubble memory controller and refresh circuitry causes it to destroy itself
<Lord_Nightmare>
the reliability ISSUE with it i mean
<Lord_Nightmare>
if they'd used a CD-rom style dual redundant ECC system it would have been a bit better
<cr1901_modern>
Wonder how many bubble memory cartridges were destroyed in the process of getting the firmware on the controller to work before fabbing
<Lord_Nightmare>
but i think they only do byte-lane wide ECC (so 3 or 4 bits of ECC per byte, and the bubble memory is 2-4 bytes wide, plus ECC)
<Lord_Nightmare>
well, if you erase a bubble memory you can just rewrite it again
<Lord_Nightmare>
its like a 40 track tape loop
<cr1901_modern>
destroyed as in "oops this firmware doesn't work and the data got erased"
<cr1901_modern>
it doesn't seem like a fun type of program to write
<Lord_Nightmare>
you mean the konami data? if you fail to refresh a bubble memory it just erases itself
<Lord_Nightmare>
it doesn't ruin the bubble memory, you can rewrite it
<Lord_Nightmare>
its like degaussing a tape
<cr1901_modern>
I meant the controller
<cr1901_modern>
it's believed to be a CPU plus support circuitry, correct?
<cr1901_modern>
(we just don't know what CPU arch it is)
<Lord_Nightmare>
konami saved money by putting the bubble memory rewrite circuit on the main pcb itself, and not on the cartridge
<Lord_Nightmare>
this was, in retrospect, a stupid idea
<cr1901_modern>
If the controller _is_ a CPU plus support circuitry, that means some poor soul in the early 80's had to write a control firmware for it
<Lord_Nightmare>
since if the cartridge is loose or the pcb crashes so hard it jams the bubble memory refresh asic/ic then it will happily erase any bubble memory cartridge installed
<cr1901_modern>
I can just imagine them failing numerous times :P
<cr1901_modern>
And every time they need to rewrite the bubble memory and test again
<cr1901_modern>
however long that takes...
<Lord_Nightmare>
konami must have had a jig setup while working on the bubble asic
<Lord_Nightmare>
i assume originally the asic was a bigass breakout board with like 30 or more chips on it
<Lord_Nightmare>
and it would probably eat bubble cartrige data constantly
<Lord_Nightmare>
so they probably had a computer hookup to manually rewrite the bubble cartridge
<Lord_Nightmare>
also each bubble cartridge has an ASIC on it, but this is believed not to do auto-refresh
<Lord_Nightmare>
all this does i think is read a little prom which lists which 'lanes' on the bubble memory are valid
<Lord_Nightmare>
since bubble memory is inherently a flawed medium much like certain large modern NAND chips
<Lord_Nightmare>
there's always bad lanes
<Lord_Nightmare>
so each chip has probably a good 20-40% extra lanes on it
<cr1901_modern>
>a bigass breakout board with like 30 or more chips on it
<cr1901_modern>
Well if it wasn't a firmware, but rather a dedicated circuit, some poor soul still needs to debug 30 chips when the data gets eaten :P
<Lord_Nightmare>
and the prom chooses which ones are 'valid'
<cr1901_modern>
analogous to bad cylinders on MFM hard drives?
<Lord_Nightmare>
yes
<Lord_Nightmare>
very much like that
<Lord_Nightmare>
and at least for ibm and intel bubble memories there was an MFM-like label listing a hexcode of a mask of which lanes were good vs bad
<Lord_Nightmare>
printed on the chip
<Lord_Nightmare>
much like MFM hard drives usually have a bad cyliners list printed on the label
<cr1901_modern>
Do bad lanes subtract from the total usable capacity of a bubble memory chip?
<cr1901_modern>
Or does each bubble memory chip spec'd to hold the value on the datasheet?
<Lord_Nightmare>
i believe the asic on the konami bubble memory cart itself handles two things: the voltage needed for read/writing, and handling the prom 'mapping' of the good lanes to a contiguous byte-wide block. and maybe also lane-level ECC?
<Lord_Nightmare>
cr1901_modern: it wouldn't surprise me if all the bubble chips used the same die
<Lord_Nightmare>
and were binned based on how many working lanes they had
<Lord_Nightmare>
so the ones with lots of lanes would be sold as 512kb capacity, ones with half the lanes dead 256kb etc
andlabs has joined ##yamahasynths
<cr1901_modern>
hah...
<Lord_Nightmare>
as long as the working lanes work and retain data
<Lord_Nightmare>
then they should work
<Lord_Nightmare>
i think newer cleaner silicon processes would have improved the yield for bubble memory
<Lord_Nightmare>
and had the technology lasted long enough for multi-die packages, they could have integrated the bubble memory, the refresh/ecc circuit, and the prom of valid lanes all into one turnkey package
<Lord_Nightmare>
just supply 80VDC or whatever,, 5VDC and add a heatsink
<Lord_Nightmare>
i think what killed it was cheap EPROMS and larger floppies
<Lord_Nightmare>
a $50 bubble memory IC which holds 512KB cannot compete with a $5 720kb diskette
<Foone>
big flops!
<Foone>
did you ever see that 386 router I found which just had an internal 3.5" disk drive?
<Lord_Nightmare>
now, if they'd improved the bubble memory density to something like 5MB per chip
<Lord_Nightmare>
then we could have seen "solid" state hard drives in the late 80s and early 90s!
<Foone>
because it was cheaper to use a 3.5" disk drive + 2$ disk than to ship a 1mb boot rom
<Lord_Nightmare>
but bubble memory is SLOW
<Lord_Nightmare>
much slower than floppy drives
<Lord_Nightmare>
so you'd almost need a cache, or a big memory cache
<Lord_Nightmare>
Foone: i think i saw that on twitter
<Lord_Nightmare>
also i saw the medical equipment thing with a floppy drive and a disk bolted inside
<cr1901_modern>
I've never seen that... wow.
<Lord_Nightmare>
bubble memory was weird and cool and horribly flawed
<Lord_Nightmare>
Foone: also you should contact krick on the bannister forums about the action replay pc
<Lord_Nightmare>
everyone's sending around pics of that one same action replay box, and i have another, DIFFERENT one here
<Lord_Nightmare>
and letters from datel about the ROM upgrade
<Lord_Nightmare>
this one is missing the disk, though, but the other one had the disk still with it and the dude who lent it to LGR imaged the disk
<Lord_Nightmare>
this one has the button controller thing too
<Foone>
will do. I got an email this morning from "Brandon" who owns the LGR one, and apparently he's up for sharing it around for reverse engineering
<Foone>
so I need to finish waking up and talk about that
<Lord_Nightmare>
ok
<Lord_Nightmare>
should I poke krick and ask him to come in here? that's directed to cr1901_modern
<Lord_Nightmare>
since this is his channel
<cr1901_modern>
Lord_Nightmare: By all means
<Lord_Nightmare>
ok
<Lord_Nightmare>
Foone: is that ok with you?
<Foone>
shyah
<Foone>
err. yes
<Lord_Nightmare>
something like "Hi Krick, Foone expressed some interest in reverse engineering the Action Replay PC ISA card. I still have the one you lent me here, can we discuss this on IRC on freenode ##yamahasynths ?"
<Foone>
yeah. although you can pass along my email (fooneturing@gmail.com) if they're not in the mood to IRC
<Lord_Nightmare>
wow, krick sent me the action replay unit exactly 7 years ago plus one day
<Lord_Nightmare>
2/22/2013
<Lord_Nightmare>
I'm sure he'll be happy to see it reverse engineered, and there's more stuff to scan and put on archive.org that the other unit didn't have
<Lord_Nightmare>
anyway I messaged him
<Foone>
OK emailed the Brandon guy about the action replay. turns out he has some other neat stuff that he wants to reverse engineer (an Apple II on an ISA card and a Apple II clone that uses cartridges) so this might start a neat relationship
<Foone>
now to go tell LGR where to mail the card
andlabs has quit [Ping timeout: 248 seconds]
andlabs has joined ##yamahasynths
natarii has quit [Quit: WeeChat 1.9.1]
notnatalie has joined ##yamahasynths
andlabs has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
andlabs has joined ##yamahasynths
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>
[15:23:39] <Lord_Nightmare>something like "Hi Krick, Foone expressed some interest in reverse engineering the Action Replay PC ISA card. I still have the one you lent me here, can we discuss this on IRC on freenode ##yamahasynths ?"
<andlabs>
lordnightmare game refoones
<andlabs>
on a related note I wonder how much work it'd be to make one of those freezer type things for the msx