I'm tinkering with some old hard drives, like this ST-251.
-
I'm tinkering with some old hard drives, like this ST-251.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
it would be nice to be able to repair the logic boards. a schematic exists, which is quite helpful.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
what's interesting is that the board hosts a microcontroller. the schematic lists it as a "6510" which makes me think it is 6502-based.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
on my board this is the part marked 80118-501
R1512-11and it has the Rockwell logo, making me think it is something from their R6500 series of 6502-compatible microcontrollers.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
another version of the board has the EPROM footprint populated, and the chip is marked R6518AJ, which is definitely a Rockwell microcontroller. the firmware has already been dumped.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
you can find good info here: https://bitsavers.org/pdf/seagate/mfm/ST-251/
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
this definitely looks like 6502 code. time to pull it into Ghidra.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
oh yeah. i've mapped it starting at address 0x3000 but the hardware maps the ROM chip in starting at 0x0100, where it just gets aliased all the way up to 0xFFFF. the absolute jump addresses located in the vectors at the top of the ROM refer to addresses starting at 0x3000, so i'm just using that.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
hmm, looks like there are a few instructions that aren't 6502. apparently Rockwell defined a few new ones. it would be nice if Ghidra could handle those.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
ahhhhh much better. thanks to whomever added R6518 support to Ghidra just now. oh wait that was me
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
ok so funny story, the Ghidra target of "65C02" already supports these instructions. at least i know how to customize Ghidra...
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
some interesting routines. this one waits for the spindle speed (as measured by the index pulses) to exceed 3593 rpm (or so).
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
they have a clever delay-by-x routine. the entry point is delay_entry. and yes, the routine calls its own rts as a way to insert cycles...
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
so one of these drives blew a tantalum capacitor. i think i will take this board apart for reverse engineering purposes. there are multiple revisions but this will be a good starting point.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
with a combination of hot air and a desoldering gun, i've taken it down to just a few surface mount parts. i'm going to leave those in place for now since many of them are not marked. there is also no silkscreen.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
they scanned well. i've taken the top and bottom images and lined them up precisely. these reference images are 600dpi but i may go for a lower res version for KiCad since it stores the images in the pcb file, which slows it down a lot.
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
what resistor value do you think the circled chip resistor has?
-
tubetime@mastodon.socialreplied to tubetime@mastodon.social on last edited by
all of you are wrong. it is a 3K resistor.