Ïåðåéòè èç ôîðóìà íà ñàéò.

ÍîâîñòèÔàéëîâûå àðõèâû
ÏîèñêÀêòèâíûå òåìûÒîï ëèñò
ÏðàâèëàÊòî â on-line?
Âõîä Çàáûëè ïàðîëü? Ïåðâûé ðàç íà ýòîì ñàéòå? Ðåãèñòðàöèÿ
Êîìïüþòåðíûé ôîðóì Ru.Board » Hardware » Ìàãíèòíûå íîñèòåëè èíôîðìàöèè » Samsung (Ñàìñóíã). Ðåìîíò è âîññòàíîâëåíèå íàêîïèòåëåé. VI

Ìîäåðèðóåò : Akam1, Dr_StandBy, vertex4

Akam1 (26-08-2019 08:47): http://forum.ru-board.com/topic.cgi?forum=84&topic=5475  Âåðñèÿ äëÿ ïå÷àòè • ÏîäïèñàòüñÿÄîáàâèòü â çàêëàäêè
Íà ïåðâóþ ñòðàíèöóê ýòîìó ñîîáùåíèþê ïîñëåäíåìó ñîîáùåíèþ

   

AntiMember

Gold Member
Ðåäàêòèðîâàòü | Ïðîôèëü | Ñîîáùåíèå | Öèòèðîâàòü | Ñîîáùèòü ìîäåðàòîðó

/* REXX script by Moltke */
    NUMERIC DIGITS 18
    DIR_PART="C:\_DUMPS" ; eol=x2c(0D0A) ;  
    A0="1FF00000" ; A1="84100000" ; L0="40000"; L1="20000"
    call ZocSuppressOutput 0  
    cls
is_CONNECT:  
    k=0
5:    abst=Z_IN("^M",1)
    k=k+1
    
    if lastpos(">",abst,)=0 then do                              
       if k<3 then signal 5
NODEVICE:  say "COMMUNICATION PROBLEM."
       say " work wih the device not available.SCRIPT STOP"
       exit    
       end
    LEVEL="DBG>"
    if pos("DBG>",abst,1)=0 then abst=Z_IN("^[")
    
    abst=ASCII("D 0 2")  
    abst=SUB_STR(abst,":"," ")
    abst=REF(abst,X)                                
    len_ADDR=length(abst)
    if len_ADDR< 8 then do
_exit:       say "ARCH not SUPPORTED.BYE!"
           exit
           end
           
    DATA=ASCII("DV")
      if length(DATA) <3 then do
        abst=Z_IN("RT"||"^M",,7)  
        i=pos("SoC",abst,1)
        if i<>0 then do
           SOC=REF(SUB_STR(abst,"SoC="," "),A)
           SOC=left(SOC,4)
           FW= SUB_STR(abst,"(",")")
           end
           if pos("DBG>",abst,1)=0 then abst=Z_IN("^[")
         end     /* F1_3D */
        else do
        FW=SUB_STR(DATA,":","|")  
           SOC=SUB_STR(DATA,"SoC:"," ")
       end
    if FW<>'' then FW="_"||FW    
     DIR_PART=DIR_PART||"\[SAMSUNG_SOC_"||SOC||FW||"]"        
 
    if SOC=53C2 | SOC=63B0 then NODY=1
    if SOC=27A0 | SOC=26A3 then do
           MEM_CMD="DS"
       ADDR= A0
       RLEN= L1
       signal MEM_RD  
    end
 
MAIN:    
    if NODY=1 then do
       TASK=ZocRequestList("ROM READ: ","DS","DI")
       if TASK= -1 then signal _QUIT
       if TASK= 0 then signal _DS
       if TASK= 1 then signal _DI
       end  
 
    TASK=ZocRequestList("ROM READ: ","DS","DY","DI")
    if TASK= -1 then do
_QUIT:       say "BYE!"
       exit
       end
    if TASK= 0 then signal _DS
    if TASK= 2 then do
_DI:       MEM_CMD="DI"
       ADDR='0'
       RLEN= L0
       signal MEM_RD  
    end
_DY:
    M=0 ; ROM='' ; LEN=0800
    t1=time(S)
    do 17
            do 8
              ROM=ROM||BIN("DY"||" "||M||" "||LEN,360)
              M=d2x(x2d(M)+x2d(LEN),5)
               end
           abst=Z_IN("RT"||"^M",,1)  
           LEVEL="DBG>"
      if pos("DBG>",abst,1)=0 then abst=Z_IN("^[")  
           abst=ASCII("D 0 2")    
    end  
 
    say "DONE in "||abs(time(S)-t1)||" sec"
    call F_WRITE DIR_PART||"\"||"[expr_ROM].BIN",ROM||copies(x2c(FF),x2d(80000)-length(ROM))
    signal MAIN
    
_DS:
        MEM_CMD="DS"
    ADDR=P_SELECT("ADDRESS: ",A0,A1)
    RLEN=P_SELECT("ROM LENGTH: ",L0,L1)
    
MEM_RD:    LBLOCK=0800
    PARM=x2d(RLEN)%x2d(LBLOCK)
    if PARM=0 then PARM=1
 
    ROM='' ; t1=time(S)
 
    do PARM
    ROM=ROM||BIN(MEM_CMD||" "||ADDR||" "||LBLOCK,360)
    ADDR=d2x(x2d(ADDR)+x2d(LBLOCK)*2,len_ADDR)
    end
    say "DONE in "||abs(time(S)-t1)||" sec"
    
    if MEM_CMD='DI' then do
       lpart=substr(ROM,1,x2d(7D000))
       rpart=substr(ROM,1+x2d(7D000),)
       ROM=rpart||lpart
    end
    
    call F_WRITE DIR_PART||"\"||"["||MEM_CMD||"_ROM].BIN",ROM
    if SOC=27A0 | SOC=26A3 then exit
    signal MAIN
 
 
P_SELECT:
    parse arg MSG,P_0,P_1
    TASK=ZocRequestList(MSG,P_0,P_1,"HEX VALUE")
    if TASK= -1 then do
S:       say "BYE!"
       exit
       end
    if TASK=0 then RET_STR=P_0
    if TASK=1 then RET_STR=P_1  
    if TASK=2 then do
R:       RET_STR=ZocAsk("ENTER HEX VALUE ",copies('0',len_addr))
 
       if RET_STR="" | RET_STR= "##CANCEL##" then do  
          if ZocMsgBOX("CONTINUE ?",2) =##YES## then signal R
          signal S
          end
       if datatype(RET_STR,X)=0 then do
          say ""
          SAY "PARAM ["||RET_STR||"] NOT HEX.RETRY"
          signal R
          end
     end    
RETURN RET_STR    
/* ============================================================== */
Z_IN:
    parse arg ?CMD,?TIMEOUT,?DELAY            
    if ?TIMEOUT='' then ?TIMEOUT=5
    call ZocTimeout ?TIMEOUT
    call ZocReceiveBuf ?TIMEOUT * 6500        
    if ?CMD<>'' then call ZocSend ?CMD
    if ?DELAY='' then call ZocWait LEVEL
    else call ZocDelay ?DELAY
RETURN ZocReceiveBuf(0)
F_SPEC:
    parse arg ?file
    if pos(" ",?file,1)<>0 then LONG=1
 
    k=lastpos("\",?file)
    F_PART=substr(?file,k+1,)
    DIR_PART=left(?file,k-1)
    
    if LONG=1 then DIR_PART='"'||DIR_PART||'"'
 
    tmp=translate(F_PART," ",".")
    F_NAME=word(tmp,1)
    F_EXT =word(tmp,2)
    if F_EXT<>'' then F_EXT="."||F_EXT
 
    UP_DIR=DIR_PART
    k=lastpos("\",DIR_PART)
    if k<>0 then UP_DIR=left(UP_DIR,k-1)
RETURN
F_CLOSE:
    parse arg ?FILE,VERBOSE        
    call stream ?FILE,"C","CLOSE"  
    if VERBOSE='' then do
       say ""
       say "SAVED TO:"
       say ?FILE
       end
RETURN
F_READ:
    parse arg FILE?,LENGTH?
    call F_SPEC FILE?
    call stream FILE?,"C","OPEN READ"
    if LENGTH?="" then LENGTH?=chars(FILE?)
    BUFF?=charin(FILE?,1,LENGTH?)
    call stream FILE?,"C","CLOSE"  
RETURN BUFF?
GET_FILE:
    parse arg MSG,DIRNAME
    if MSG="" then MSG="SELECT FILE:"
    if DIRNAME="" then DIRNAME="C:"
/*    cls */
1:    IN_FILE= ZocGetFilename(MSG, DIRNAME||"\*.*")  
    if IN_FILE="" | IN_FILE="##CANCEL##" then do
       if ZocMsgBOX("CONTINUE ?",2) =##YES## then signal 1
       RETURN "##CANCEL##"
       end
    if stream(IN_FILE,"C","QUERY EXISTS")="" then do
           say "["||IN_FILE||"] NOT FOUND.RETRY"
       signal 1
    end
    abst=F_READ(IN_FILE)
    if abst="" then do
       say "LENGTH "||IN_FILE|| "=0.TRY NEXT FILE."
       signal 1
    end
    call F_INFO IN_FILE
RETURN    IN_FILE
F_CREATE:
    parse arg ?FILE  
        call F_SPEC ?FILE
    if stream(DIR_PART,"C","QUERY EXISTS")="" then do
           call ZocShell MD DIR_PART,1
    end  
    if stream(?FILE,"C","QUERY EXISTS")<>"" then do
           call ZocShell DEL ?FILE,1
    end
    call stream ?FILE,"C","OPEN WRITE"
    t1=time(s)    
RETURN ?FILE
F_WRITE:
    parse arg FILE?,BUFF?                      
    if BUFF?="" then BUFF?=abst
    OUT_FILE=F_CREATE(FILE?)  
    call charout OUT_FILE,BUFF?
    call F_CLOSE OUT_FILE    
RETURN
SUB_STR:  
    parse arg buff,str1,str2
    k=pos(str1,buff,1)+length(str1)
    l=pos(str2,buff,k)
    RETURN substr(buff,k,l-k)
REF:
    PARSE ARG _str,data_type,pad                        
    str=""  
    do l=1 to length(_str)
       CHAR=substr(_str,l,1)
       if datatype(CHAR,data_type)=0 then CHAR=pad
       str=str||CHAR
    end
    RETURN str
WR_CHAR:
    parse arg ?TIME
    if time(S)-?TIME =1 then do
       call ZocWrite ">"
       T2=time(S)
    end
RETURN     
ASCII:
    parse arg CMD?,TIMEOUT?
    ADATA=Z_IN(CMD?||"^M",TIMEOUT?)
    ADATA= SUB_STR(ADATA,CMD?,LEVEL)                
RETURN    ADATA
BIN:
    parse arg CMD?,?TIMEOUT
    abst=ASCII(CMD?,?TIMEOUT)
    abst=translate(abst," ",eol)
    BDATA=''
    do l=1 to words(abst)
       #word=word(abst,l)
       if pos(":",#word,1)=0 then do
          #word=x2c(#word)
          if len_ADDR<>6 then #word=reverse(#word)
          BDATA=BDATA||#word
          end
    end
RETURN     BDATA
F_INFO:
    parse arg F_NAME
    say "OPEN OK: "
    if length(F_NAME)<80 then say F_NAME
    else do
       say DIR_PART ; say F_PART
       end
    say ''  
    RETURN    
    

Âñåãî çàïèñåé: 9012 | Çàðåãèñòð. 13-09-2010 | Îòïðàâëåíî: 10:44 03-08-2019 | Èñïðàâëåíî: AntiMember, 16:53 03-08-2019
   

Íà ïåðâóþ ñòðàíèöóê ýòîìó ñîîáùåíèþê ïîñëåäíåìó ñîîáùåíèþ

Êîìïüþòåðíûé ôîðóì Ru.Board » Hardware » Ìàãíèòíûå íîñèòåëè èíôîðìàöèè » Samsung (Ñàìñóíã). Ðåìîíò è âîññòàíîâëåíèå íàêîïèòåëåé. VI
Akam1 (26-08-2019 08:47): http://forum.ru-board.com/topic.cgi?forum=84&topic=5475


Ðåêëàìà íà ôîðóìå Ru.Board.

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Ðåéòèíã.ru