Email or username:

Password:

Forgot your password?
Top-level
Tube❄️Time

to allow your computer's HDD controller to park the heads, it lets you step past the user data area end track of 614 to go all the way in to track 670. theoretically, if you mistype the BIOS # of cyls, you could try to store data here and even overwrite the inner index track!

56 comments
Tube❄️Time replied to Tube❄️Time

this will confuse the drive when it powers up. it'll eventually go find the index track on the outside edge, but only after an extended search sequence. you can't command the drive to step to track -1, so you can't overwrite that track.

Simon Frankau replied to Tube❄️Time

@tubetime I have loved this thread. While I've got into bit-level understanding of floppies before, hard disks have always been mysterious black boxes to me, and while at a logical level I understood they'd be something like this, this actual reversing has been a great way to remind myself they're not magic! Thanks.

Tube❄️Time replied to Simon

@sgf thanks! yes, it's easier to understand the older drives, but there's a steady, linear progression from then to modern drives.

Tube❄️Time replied to Tube❄️Time

trying to digitize the entire drive using the Saleae. one drawback is exporting as a CSV takes f o r e v e r

Andrew Zonenberg replied to Tube❄️Time

@tubetime CSV is a horrible interchange format (other than being supported by literally everything). Bulky, slow to parse, slow to generate, difficult to do random access in, etc.

But it's not going anywhere.

Tube❄️Time replied to Andrew

@azonenberg yeah I gave up, I'll try the digital format next

Andrew Zonenberg replied to Tube❄️Time

@tubetime This is why the native format for ngscopeclient is just float[] with some attached metadata in a yaml file lol.

I haven't looked at the saleae binary format. Is it documented somewhere? I should write an importer for it.

Tube❄️Time replied to Tube❄️Time

the real reason for all this is that there's data on this ST225N (SCSI version of the drive) on the right. I want this data.

I already tried a board swap but the SCSI version stores its firmware on track -1 and -2 instead of an index signal. my hacked board should be able to handle it, though.

Chuck replied to Tube❄️Time

@tubetime If its your "original bitcoin cold wallet with 2500 bitcoin" I'm gonna lose it 🙂

Tube❄️Time replied to Tube❄️Time

the design of the ST225N is essentially an ST225 but with the data separator and controller built in. they changed the microcontroller to an 8051, and stored a bunch of the firmware on some hidden tracks.

Tube❄️Time replied to Tube❄️Time

boards are swapped. now let's image the whole drive in about 175 seconds to a giant Saleae capture file!

John de Largentaye replied to Tube❄️Time

@tubetime Real Men™️ backup their data with a logic analyzer!

Tube❄️Time replied to Tube❄️Time

wrote a crappy python program to interpret MFM data, and it seems we have some sectors. they are using a different sector header format and there seems to be a lot of corrupted data.

Tube❄️Time replied to Tube❄️Time

there are a few sectors with the drive firmware (negative cylinders) but then there appears to be real data. "DOS" might be part of some partition table scheme.

Tube❄️Time replied to Tube❄️Time

the sector header might follow the format used by the Adaptec AIC-010 chip (which the ST-225N uses). wow, a 32-bit CRC. i wonder which one...

Tube❄️Time replied to Tube❄️Time

wow there is definitely data on this drive. i'm fudging the MFM decoding to try and skip over errors.

Ricardus replied to Tube❄️Time

@tubetime hopefully the data on that drive will reveal the secret of the Kennedy assassination. You are putting a lot of work in after all.

Tube❄️Time replied to Tube❄️Time

trying to capture more of the drive image to a binary. we'll see how it goes.

Tube❄️Time replied to Tube❄️Time

hmm there's some funny stuff in here.

Tube❄️Time replied to Tube❄️Time

so even though this disk image is probably irrecoverable, i want to learn as much as a can. this drive was from the Amiga Comspec, and i want to see if i can figure out how to replicate the disk layout. this segment here is from the Kickstart disk.

Valtteri Koskivuori replied to Tube❄️Time

@tubetime Really cool work! And great timing, I was just trying to diagnose a faulty ST-238R earlier this week! I have a feeling that two of the read heads aren’t working right, but I need to confirm that.

Tube❄️Time replied to Tube❄️Time

well now i feel a bit stupid. this thread from a few years ago includes links to disassembled drivers and ROMs, as well as a sample disk image.

eab.abime.net/showthread.php?t

Tube❄️Time replied to Tube❄️Time

i decided to try and get a better read of the firmware tracks (-1 and -2 on all the heads). this time i'm capturing analog data from the drive's test points.

Tube❄️Time replied to Tube❄️Time

not all the surfaces have a good amplitude. this could explain some of the issues i was having. (channel 2 has a pulse whenever the head changes.)

Tube❄️Time replied to Tube❄️Time

anyway this analog signal comes off the drive's analog test points (circled). this signal comes after the differentiator (IC 9E1) and the first stage analog filter, but before the second stage filter.

Tube❄️Time replied to Tube❄️Time

i'm trying to correlate the drive's data output (valid on the rising edge, each pulse has a fixed width) with the analog data. it seems to have a delay of about 180ns caused by the analog filter and the propagation through the comparator.

Tube❄️Time replied to Tube❄️Time

going to dump the drive firmware for the ST-225N's 8051 microcontroller. this has never been dumped before. this firmware reads additional firmware off the platter, but i've already dumped that data.

a PC board, 8051 Dumper v1 by NF6X. it has a 44-PLCC to 40-DIP adapter socket installed, and an SCN8051H installed in the socket.
Richard Hughes replied to Tube❄️Time

@tubetime trigger warning for intel hex next time? 🙂

Tube❄️Time replied to Tube❄️Time

i've got another ST-225N to try and extract firmware from. the board was apparently dead, but eventually i might try it out with my other ST-225N logic board (i hope it still works)

Tube❄️Time replied to Tube❄️Time

just have to move this hacked up ST-225 logic board over. it's cabled to an Arduino that runs the stepper motor so i can get to the hidden tracks.

Tube❄️Time replied to Tube❄️Time

it spins up and i've captured the negative tracks! (the Marker bit is a signal pulsed by the Arduino when it changes tracks or heads. it just cycles through all the heads in order, then goes to the next track)

Saleae Logic screenshot. channels are Hall, Marker, MFM Data.
Tube❄️Time replied to Tube❄️Time

looks like this came out of an Apple system. this is on track 0 which is user data.

Tube❄️Time replied to Tube❄️Time

track -1, head 0, sector 19 contains the drive serial number as ASCII text. interesting.

Tube❄️Time replied to Tube❄️Time

and we've got copyright text at track -1, head 0, sector 0.

Tube❄️Time replied to Tube❄️Time

track -2 contains the same 32 sectors on all heads. it seems to be 8051 code (02 is the LJMP instruction). i'm guessing this is the main drive operating code.

Tube❄️Time replied to Owen

@literatesavant i was hanging out with him on Thursday, so it was a weird coincidence.

Pyksy replied to Tube❄️Time

@tubetime
Looks like a bootblock of a an Amiga OFS (old filing system) disk. DOS\0, followed by four byte block checksum, followed by root block location at block 0x370 = 880.

Tube❄️Time replied to Pyksy

@pyksy ahh excellent someone else recognizes it! i'll have to check and see if the book block was preserved.

Poul-Henning Kamp replied to Tube❄️Time

@tubetime

I wrote this to take odd-ball floppy formats apart, maybe you can use some of it:

github.com/Datamuseum-DK/Flopp

Tube❄️Time replied to Poul-Henning

@bsdphk i'll take a look. python has been pretty slow for the file sizes i've been working with, however.

Go Up