Switch to full style
Data recovery and disk repair questions and discussions related to old-fashioned SATA, SAS, SCSI, IDE, MFM hard drives - any type of storage device that has moving parts
Post a reply

Seagate Drive F3 Diagnostic Edit Memory

October 19th, 2018, 0:47

Hi, This is my first post here so let me know if there's anything wrong with this. I really appreciate any help anyone can give me
TLDR: How can I write a full byte/word with Edit Buffer Memory Byte (Level 1 'U') I get an error if I try to enter more than 1 hex character in single byte mode or more than 3 in 16 bit/4 in 32bit. Skip to the code blocks for details

I'm working on making a driver to read and write hard drives from an arduino or other MCUs UART. I'm using a Seagate drive connected to a computer to figure out the interface. I have found the F3 Serial port diagnostics pdf here that has helped a lot. I've figured out how to blocks/sectors to the Diagnostic Read Buffer and write to it from the Diagnostic Write Buffer, but editing those I've only got poke to work one byte at a time. I'm trying to use Edit Buffer Memory Byte (Level 1 'U') as it allows increment the address with a single byte ^J. It works for reading and I can write to all but the most significant nibble (MSN?)

When I use
Code:
F3 1>U2b8200

I get
Code:
Adr 002b8200 ( 062b8200 ) = 21  -->
I then try typing 11 followed by enter (carriage return) and get the following.
Code:
F3 1>U2b8200
Adr 002b8200 ( 062b8200 ) = 21  --> 11

Input Data Error

If I instead type a singe hex character like 3 followed by enter I get
Code:
F3 1>U2b8200
Adr 002b8200 ( 062b8200 ) = 21  --> 3
Adr 002b8200 ( 062b8200 ) = 03  -->


And can then type ^J (carriage return) to go to the next address. I can't figure out how to write a whole byte though, or word. I also tried writing a word at a time with
Code:
U2b8200,,,2
in this case I can write up to 3 nibble but get an error with 4 so I can only write 0 to FFF but should be able to go to FFFF. I also get an error with 0FFF or 0F in byte mode.
Post a reply