Email or username:

Password:

Forgot your password?
Tube❄️Time

I'm tinkering with some old hard drives, like this ST-251.

212 comments
Tube❄️Time

it would be nice to be able to repair the logic boards. a schematic exists, which is quite helpful.

Dr David Mills

@tubetime Do you know of any way to connect these to a modern PC? I've got a few I'd like to try to image.

Tube❄️Time

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.

Tube❄️Time

on my board this is the part marked 80118-501
R1512-11

and it has the Rockwell logo, making me think it is something from their R6500 series of 6502-compatible microcontrollers.

Tube❄️Time

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.

Tube❄️Time

this definitely looks like 6502 code. time to pull it into Ghidra.

Tube❄️Time

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.

Tube❄️Time

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.

Tube❄️Time

ahhhhh much better. thanks to whomever added R6518 support to Ghidra just now. oh wait that was me

Tube❄️Time replied to Tube❄️Time

ok so funny story, the Ghidra target of "65C02" already supports these instructions. at least i know how to customize Ghidra...

Phil M0OFX replied to Tube❄️Time

@tubetime It probably supports the WDC 6502 instruction set, which is a superset of the Rockwell CMOS extensions.

Tube❄️Time replied to Tube❄️Time

some interesting routines. this one waits for the spindle speed (as measured by the index pulses) to exceed 3593 rpm (or so).

Tube❄️Time replied to Tube❄️Time

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...

Tube❄️Time replied to Tube❄️Time

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.

Tube❄️Time replied to Tube❄️Time

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.

Tube❄️Time replied to Tube❄️Time

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.

Phil M0OFX replied to Tube❄️Time

@tubetime You're reminding me that I need to learn how to pull PCB images into Kicad and tweak my process. I usually have the layers stacked in GIMP and colourised red and blue, then use layer masks to hide the tracks I've entered into the schematic.

Tube❄️Time replied to Tube❄️Time

what resistor value do you think the circled chip resistor has?

myrmepropagandist replied to Tube❄️Time

@tubetime

I mean... zero? Maybe it's just a lil square jumper wire? Is that so wrong?

Andrew Zonenberg replied to Tube❄️Time

@tubetime Looks like it's supposed to be a 0R jumper. Is it actually?

Rob Flickenger ⚡️ replied to Tube❄️Time

@tubetime 0, +/- 10%.

Be sure to let us know if it's -10%.

Obot 50549535 replied to Tube❄️Time

@tubetime
Yeah, sometimes I think 0 ohms is the most common value we use.

Tube❄️Time replied to Tube❄️Time

all of you are wrong. it is a 3K resistor.

Tube❄️Time replied to Tube❄️Time

ok, now what is THIS resistor value?

Zack Stern replied to Tube❄️Time

@tubetime zero! Or is that the letter “O?”

Tube❄️Time replied to Tube❄️Time

it's actually 100 ohms. someone back in the day was making resistors of various values that were all marked 0. great...

Vlad Vukicevic replied to Tube❄️Time

@tubetime no that's the Omega resistor company's logo

DevinsBench replied to Tube❄️Time

@tubetime wanna know how many reels at HSC were like that?

Wolf480pl replied to Tube❄️Time

@tubetime did they run out of ink for the 1st and 3rd digit?

Joel Michael replied to Tube❄️Time

@tubetime trick question: it only looks like a resistor, it’s actual function is a fuse, and is currently measuring infinity

F4GRX Sébastien

@tubetime oh thats the famous B(R)SET/B(R)CLR that are still available in the hc11!

Tim

@tubetime these instructions were also in Rockwell’s version of the 65C02. They’re also in the currently available W65C02 from WDC (although they weren’t in WDC’s original 65C02 back in the ’80s and they’re not in any version of the 65C816)

Phil M0OFX

@tubetime It should recognise them if you tell it the chip is a 65C02. The WDesignC 65C02 implements those instructions too (and a few WDesignC specific ones)

vxo

@tubetime oh very cool!!! I had never seen that interface doc before and that will absolutely come in handy to anyone trying to implement a controller for an existing, working drive.

ĸurth

@tubetime it’s got AI in it :blobcatgoogly:

Philip Heron

@tubetime The Commodore 64's CPU was the 6510 - basically a 6502 with an I/O port built-in.

Tube❄️Time

@fsphil confusingly, Rockwell used the same numbers for different chips. this is a different device.

Adrian Studer

@tubetime I like the footprints of the diodes, allowing for a SOT-23 as alternate

Stu

@tubetime when harddrives could also be doorstops.

Dave

@tubetime I just wanted to say how awesome your breakdown is and that I really enjoy and appreciate you posting this.

Go Up