<紙>さんLOG

「パソコンヲタクの雑記帳」
 PC/Linux系/物理・化学で遊んでいます。
思いついたことを綴っています。

PIC(16)HEXパッチ

2008年07月11日 | PIC・マイコン
                                                   日記@BlogRanking

PIC(11)で説明したパッチ処理を、Active BASIC(V4)でコーディングしたものを示す。

mikroBASICのコンパイル結果の HEX ファイル名を指定すると、
Tiny Bootloaderの仕様にあった HEX ファイルに変換する。
(ファイル名の先頭に“_”をつけたファイルを作成する。)
(この EXE は同一ディレクトリにコピーしておいて実行する。)

(段付けのために、先頭に2B空白がある)
--------------------- < Patch-HEX.abp > ---------------------
#prompt
'
Dim f$ As String, a$ As String, b$ As String
'
Input "HEX file name(除く'.HEX')=";f$
Open f$+".HEX" For Input As #1
Input #1,a$
'
Print "First Line = ";a$
If Len(a$)<>43 Then Goto *err
If Left$(a$,9)<>":10000000" Then Goto *err
If Mid$(a$,14,4)<>"FF3F" Then Goto *err
'
Open "_"+f$+".HEX" For Output As #2
b$=Right$( Hex$( Val( "&H"+Right$(a$,2) ) + &HB3 ) , 2 )
a$=":100000008A01"+Mid$(a$,10,4)+Mid$(a$,18,24)+b$
'
Print "Chaged To -> ";a$
Print #2,a$
'
While Not(Eof(1))
 Input #1,a$
 Print #2,a$
Wend
Print "処理終了。"
Input "OK? ",a$
End
'
*err
Input "処理できません。";a$
End
'--------------------
汚いコーディングですが。

2クリック(投票を)お願いします ⇒ 日記@BlogRanking