Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Hardware » Магнитные носители информации » Ремонт накопителей WD (Western Digital). Часть IX

Модерирует : Akam1, Dr_StandBy, vertex4

vertex4 (07-01-2024 11:49): Ремонт накопителей WD (Western Digital). Часть X  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Smyg1



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

open "zerro.bin"
goto 0x0
read L38 0x38
read L48 0x48
Close
// -------------------------------------------------------------------------------------------------------------------
 
open "2050.rpm"
Assign A 0X90
Assign B 0X00
Assign C6A 0X00
{
goto A
read lovel 0x4
IfEqual lovel 0x6A000000
Assign B A
EndIf
Assign A (A+1)
}[80]
IfEqual B 0x00
Close
Else
goto B
read C6A 0x44
Close
EndIf
// -------------------------------------------------------------------------------------------------------------------
 
open "2020.rpm"
Assign A 0X90
Assign B 0X00
Assign C6F 0X00
{
goto A
read lovel 0x4
IfEqual lovel 0x6F000000
Assign B A
EndIf
Assign A (A+1)
}[80]
IfEqual B 0x00
Close
Else
goto B
read C6F 0x44
goto B
read C6F1 0x10
Close
EndIf
// -------------------------------------------------------------------------------------------------------------------
 
open "2030.rpm"
Assign A 0X90
Assign B 0X00
Assign C6B 0X00
{
goto A
read lovel 0x4
IfEqual lovel 0x6B000000
Assign B A
EndIf
Assign A (A+1)
}[80]
IfEqual B 0x00
Close
Else
goto B
read C6B 0x44
Close
EndIf
// -------------------------------------------------------------------------------------------------------------------
 
open "2010.rpm"
Assign A 0X90
Assign B 0X00
Assign C69 0X00
{
goto A
read lovel 0x4
IfEqual lovel 0x69000000
Assign B A
EndIf
Assign A (A+1)
}[80]
IfEqual B 0x00
Close
Else
goto B
read C69 0x44
Close
EndIf
// -------------------------------------------------------------------------------------------------------------------
 
open "2000.rpm"
Assign A 0X90
Assign B 0X00
Assign C46 0X00
{
goto A
read lovel 0x4
IfEqual lovel 0x46000000
Assign B A
EndIf
Assign A (A+1)
}[80]
IfEqual B 0x00
Close
Else
goto B
read C46 0x40
Close
EndIf
// -------------------------------------------------------------------------------------------------------------------
 
open "28.rpm"
Assign A28 0x03 // 0x03 module represents the third step from the 28th to start copying the Liezi from 1008 to start copying.
// Since we can specify their own step to start copying
Assign L 0x00
 
Assign A28 (A28-0x1)
Assign A (A28*0x88)
Assign A (A+0x38)
goto A
read VariableD 0x1800 // module from the 28th start the third step, copy length 6144 bytes (0X1800), // length you may need to modify the following to start writing ARCO
Assign C 0x80
Assign C4 0xC4000100
Assign C3 0xC3000100
Assign C8 0xC8000100
 
goto A
write C4
write C6F
goto C
write 0x02000200FFFF
Assign A (A+0x88)
Assign L (L-0x1)
Assign C (C+0x88)
 
goto A
write C4
write C6A
goto C
write 0x03000300FFFF
Assign A (A+0x88)
Assign L (L-0x1)
Assign C (C+0x88)
 
goto A
write C3
write C6B
goto C
write 0x04000400FFFF
Assign A (A+0x88)
Assign L (L-0x1)
Assign C (C+0x88)
 
goto A
write C8
write C69
goto C
write 0x05000500FFFF
Assign A (A+0x88)
Assign L (L-0x1)
Assign C (C+0x88)
 
goto A
write C4
write C46
goto C
write 0x03000300FFFF
Assign A (A+0x88)
Assign L (L-0x1)
Assign C (C+0x88)
 
goto A
write L48
goto A
write 0xB1
goto C
write 0x06000600FFFF
Assign A (A+0x88)
Assign L (L-0x1)
Assign C (C+0x88)
 
goto A
write VariableD // from ARCO steps written above each duplicate
// -------------------------------------------------------------------------------------------------------------------
Assign A 0x80
Assign B 0x82
Assign C 0x84
Assign D 0x88
Assign AF 0X00
Assign CC 0x02
Assign CD 0x02000200FFFF
{
goto A
read A1 0X1
goto B
read B1 0X1
goto C
read C1 0X1
IfEqual A1 0xFF
ExitLoop
EndIf
 
IfEqual A1 B1
Assign AF 0X02
Else
Assign AF 0X03
EndIf
 
IfEqual B1 0xFF
Assign AF 0X01
EndIf
 
IfEqual C1 0xFF
 
Else
Assign AF 0X04
EndIf
 
IfEqual AF 0x01
goto A
write CC
goto D
write L38
Assign D (D+0x88)
Assign CC (CC+0x01)
Assign A (A+0x88)
Assign B (B+0x88)
Assign C (C+0x88)
Assign CD (CD+0x10001)
EndIf
 
IfEqual AF 0x02
goto A
write CD
goto D
write L38
Assign D (D+0x88)
Assign CD (CD+0x10001)
Assign A (A+0x88)
Assign B (B+0x88)
Assign C (C+0x88)
Assign CC (CC+0x01)
EndIf
 
IfEqual AF 0x03
goto A
write CC
goto B
Assign B1 (B1-L)
write B1
goto D
write L38
Assign D (D+0x88)
Assign CD (CD+0x10001)
Assign A (A+0x88)
Assign B (B+0x88)
Assign C (C+0x88)
Assign CC (CC+0x01)
EndIf
 
IfEqual AF 0x04
goto A
write CC
goto B
Assign B1 (B1-L)
write B1
goto C
Assign C1 (C1-L)
write C1
goto D
write L38
Assign D (D+0x88)
Assign CD (CD+0x10001)
Assign A (A+0x88)
Assign B (B+0x88)
Assign C (C+0x88)
Assign CC (CC+0x01)
EndIf
}[100]
// -------------------------------------------------------------------------------------------------------------------
Assign A 0x80
Assign B 0xA0
 
goto 0xA0
write 0x0138
Assign A (A+0x88)
Assign B (B+0x88)
{
goto A
read C 1
IfEqual C 0x00
ExitLoop
Else
goto B
write 0xFFFF
Assign A (A+0x88)
Assign B (B+0x88)
EndIf
}[100]
save
 
goto 0x18
write 0x070707
goto 0x30
write 0x0100
write 0x8800
write 0x0000
write 0x0000
save
closeall

Всего записей: 5386 | Зарегистр. 03-10-2006 | Отправлено: 17:01 07-02-2021 | Исправлено: Smyg1, 17:13 07-02-2021
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Hardware » Магнитные носители информации » Ремонт накопителей WD (Western Digital). Часть IX
vertex4 (07-01-2024 11:49): Ремонт накопителей WD (Western Digital). Часть X


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru