got a new mini-project: this is the AMTRADE "The Real HD-Drive" which is a PC floppy drive with this board on the back enabling an Amiga to read high density floppy disks (1.75MB).
to get the Amiga to work with high density disks, the Commodore engineers took a little short cut and just spin the drive at half the normal RPM (150 instead of 300). this keeps the data rate the same, allowing the custom chip to remain unchanged.
this means you can't just use a standard PC floppy drive and expect it to work, even with a little PAL on the back. this drive has been modified.
as is typical in the Amiga community, the mods have been done in such a way to make them hard to reverse engineer. in this case, the rework wire is hair-thin magnet wire covered in silicone. try to remove the silicone, and it shreds the wire.
my guess is that it taps into the BA6986FS spindle motor driver and allows the PAL to slow it down when a high density disk is detected.
simple board.
the schematic is pretty simple. looks like it does the pin swizzle for the disk change signal, creates the READY signal the amiga needs, but then it does some clever stuff with the index pulse. additionally, it uses the two reserved pins and the unused drive select line presumably to plumb the rework wires.
soldered some wires to the rework wires to help figure out where they go.
gotcha!
ok I've replaced the wires with bigger and more visible ones. lol.
so presumably the way this works is that the two bodge wires hook into the clock signal from the controller chip to the spindle motor controller (pin 7 on this example). the motor controller derives the RPM from this signal, so the external PAL sneaks in an additional divide by 2 in order to half the RPM. not too shabby!
updated schematic. now that i know what all the pins do, it'll be much easier to reverse engineer the PAL. i'll take a crack at that tomorrow.
now for the DuPAL.
while that's running I'll put the board back together with a socket.
ran the outputs of DuPAL through Espresso to get the logic equations. i'm making a few assumptions so this probably has errors.
yeah these are wrong. i'm trying to dump it as a combinational 16L8 but i need to spend some time with the manual pin manipulation tool. the product terms depend on themselves in a bunch of places, creating flip flops.
ok it's got this weird state machine which, as it turns out, is used to *clock out a drive type value* using the drive select line as a clock and the ready pin as a data output!
yeah so that state machine clocks out 1010... continuously which corresponds with the ID value of AAAA AAAA; the Amiga interprets that as a high density drive.
there may have been a bad connection in the socket, i tried it again (also as a 16L8) and these equations look a lot better. i've started adding better net names.
another thing that i like to do is take a bunch of extra time to *understand* each product term. that involves using boolean algebra and DeMorgan's theorem to manually rearrange the terms.
here's the 2-bit counter that generates the drive ID code. it's a little asynchronous state machine. i just write up little notes like this as i figure things out.
and i've simplified the equations and gotten rid of excess terms about as much as i can. i understand what all the outputs do now, including the ones used to store intermediate states and never used in the external circuit.
@tubetime It would be interesting to see you reverse engineer one of my FSMs...

@tubetime you're incredibly good at this

I could probably do this, but nowhere near as quickly

@whitequark @tubetime It sounds really fun though, unravelling a mystery
@whitequark thanks! i got a lot of practice with the Quadlink project which had ~10 GALs, some registered.
@tubetime Doesn't this model of PAL (https://www.alldatasheet.com/datasheet-pdf/pdf/70181/LATTICE/GAL16V8.html) have latches on the outputs, some of which can feed back into the inputs of other latches' combinatorial logic?
GAL16V8 Datasheet(PDF)

Part #: GAL16V8. Download. File Size: 316Kbytes. Page: 22 Pages. Description: High Performance E2CMOS PLD Generic Array Logic. Manufacturer: Lattice Semiconductor.

@tubetime .. CAN that program PAL chips?
@tubetime I read that name, did some digging and _of course_ it's from an Italian guy ("du' pal"/"du' bal" is slang for "due palle" i.e. "two balls", an expression commonly used to express frustration for a boring/undesirable task 😬)
@tubetime How did you get from BA6986 to BA6486?
@RueNahcMohr couldn't find the actual datasheet but Rohm makes other FDD spindle motor drivers, so that's just the one I found with a datasheet
@tubetime I didn't fight hard but couldn't find a cross-over to another chip
@tubetime Boundary scan via JTAG?
@tubetime oh tell me thats not for changing the slave / master settings for a floppy drive.....
@tubetime seems there are chemicals that do it… I wonder how well they'd work.
@tubetime Voultar (of the console modding scene) has called this the hallmark of a shitty modder for years.
@indrora @tubetime I still wouldn't be surprised if this was more intentioaln anti reversing than just bad workmanship. Especially given the Amgia community at times. Though the smeary application doesnt look great either way.
@ChartreuseK @indrora it's definitely intentional anti reverse engineering. didn't stop me though lol
@tubetime @ChartreuseK @indrora what kind of community intentionally impedes each other from making mods and having fun together, jeesh

@dantalion @tubetime @ChartreuseK Oh, you sweet summer child.

There's a ton of people in the retrotech community who growl and hiss over people knowing how their mods work. The model100 community is going to have to re-engineer so much because of secrecy and “I made a thing (no you don't get schematics)”

@tubetime time to break out the x-ray machine
@tubetime I wonder if I have any drives with a 6986...
@tubetime magnet wire and tub silicon. I haven't seen this sort of thing since people were doing "expensive mod chips" ($2 PIC12C508) on the sony PS-1

@tubetime Ugh. I was watching this video on this guy in Chicago who does fine art restoration (I think Baumgartner Art).

All the materials he uses are fully reversible - the idea is that a couple hundred years from now a future art restorer can easily remove the stuff he used when better things are available to use.

@DeltaWye oh yeah Julian is very inspirational to me. I got into his channel in 2020. his methods aren't without controversy but it's made me think more carefully about the methods I use on computers