كيف تقوم بتحميل الباتش للرسيفرك بالطريقة الصحيحة
بدون مشاكل شرح مع الصورة
لتفادي هذه المشكلة اقدم لكم هذه الطريقة
الان نحن في موقع التحميل
(اخترت كمثال 8005S لان الاجهزة من النوع S ليس لها ماستر صوفت
وفي حالة الخطا في الباتش لا يمكن لها الرجوع الى الاصل الا بالجيتاج)
اضغط على Load واختاروا الملف كالصورة التالية
بعدها ستشاهدون جميع المعلومات المتعلقة بالباتش
(تبين انه Starsat بخلفية Superlazer)
اي ان من حمله سيبقى جهازه يقبل فقط فلاشات ستارسات من بعد ولن يعود امامه سوى الجيتاج.
برنامج STB UTIL فهو يستخرج النسخة الرئيسية
من الباتش ويساعدنا في معرفة الملفات
لاحظ الصورة التالية:
من خلال الأرقام التوضيحة :
رقم 1 تبين الإصدار أو النسخة Version
رقم 2 تبين تاريخ وساعة صنع الباتش
رقم 3 تبين الجهاز المستقبل للباتش (نوع الجهاز - بمعنى الباتش خاص بالجهاز الذي يظهر في القائمة المنسدلة 3
رقم 4 تبين الأنترفاس المستخدم وهو المعبر عنه بـ G (في الصورة لدينا G4)
رقم 5 تبين نوع البروسيسور المستخدم -NEC uPD61120 هو النوع D كما هو معروف
رقم 6 تبين عدد منافذ البريتال في الجهاز هنا في الصورة لدينا منفذين
رقم 7 تبين مودال الجهاز وهو المعبر عنه في النسخة الرئيسية بـ M
لمعرفة النسخة الرئيسية أصبح لدينا الطرق التالية
-1المعلومات من الجهاز ذاته
من خلال فتح الباتش بواسطة محرر هيكس
أولا / معرفة مكان معلومات النظام في الباتش
أولا يجب معرفة مكان معلومات النسخة الرئيسية
في الباتش ويمكن ذلك بواسطة البحث عن تاريخ انشاء الباتش
(مثلما تبدو في الصورة نبحث عن 20050906
ولا نضع أي علامة خاصة مستعملة في التواريخ مثل '/' أو '-' ..
وهي ومعلومات النظام موجودة في بداية و في نهاية الباتش
لكننا سنتعامل مع التي في بداية الباتش
لأنها مكانها ثابت. الصورة
يوجد اختلاف بسيط بين الأجهزة D و الأجهزة S بخصوص مكان معلومات
النظام في الباتش
تفسير البلوك المحتوي على معلومات النظام :
الصورة توضح معلومات النظام
لنقارن معلومات النظام مع الصورة في الأسفل كما تبدو في الشاشة
الاستثناء الوحيد هو في Data Version مضاف إليها 6 / لها قاعدة خاصة
(وليس +6 دائما بل هناك حساب خاص
لن أتعرض لشرح بيئة Visual Basic
فهذا الموضوع يفترض معرفة مسبقة بلغة البرمجة للمبتدئينVisual Basic
(وأنا منهم)
ولذلك قم بإنشاء مشروع جديد يحتوي على كائنات
Form label و Text و Button و CommonDialog
مثلما يظهر في الصورة
مثلما يبدو في الصورة
ولا داعي للتفصيل في هذه النقطة كثيرا
هذا المشروع ليس كاملا 100 % بسبب أنه مجرد مثال فقط
لمعرفة كيفية استغلال معلومات النظام داخل الباتش
وإعادة تنظيمها في البرنامج
ولا يمكن اعتباره برنامجا حقيقيا ..
وهو ليس لودر للتحميل و لا خوف من استعماله لأن لا يقوم بأية معالجة للباتش
بل هو مجرد كاشف للمعلومات لا أكثر
المعلومات التي يقدمها البرنامج تساعدك في معرفة السوفتوير
الذي تريد تحميله إلى الجهاز ليمكنك مطابقة ذلك مع الجهاز
الذي لديك أو معرفة هوية السوفتوير وهي كما تظهر في الصورة
وبذلك يمكنك بواسطته معرفة
1-أي نوع من الأجهزة D أو S / في CPU Type
2- لأي جهاز مخصص الباتش الذي لديك -- في DSR
3- أي انترفاس مستخدم Gui
الشيئ الوحيد الذي لا يقدمه هو رقم البوت
أولا نقوم بعملية Declaration
Option Explicit
Dim str As String
Dim str_tmp As String
Dim FileName As String
Dim VerInfo As Byte
Dim i As Integer
برمجة التصفية التلقائية للملفات Bin في علبة الحوار
"فتح" و تحديد مسار الملف بعد اختياره من طرف المستخدم
Private Sub Command1_Click
"CommonDialog1.Filter = "Bin Files|*.bin
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
FileName = Text1.Text
""=Str
تحميل معلومات النظام إلى متغير
str = ""
str_tmp = ""
For i = 0 To 12
Get #1, 65652 + i, Verinfo
str_tmp = Hex(Verinfo)
If Len(str_tmp)
= 1 Then str_tmp = "0" + str_tmp
str = str + str_tmp
Next
،،،،،،،،،،،،،،،،،،،،،،،،،،،
str
""= str_tmp
For i = 0 To 12
Get #1, 65652 + i , VerInfo
(str_tmp = Hex(VerInfo
لتفادي حذف الصفر بعد قراءة المعطيات فإنن نقوم بإضافته بعد حذفه
(إذا لم تضع هذه التعليمية فإن البرنامج سيحذف الصفر
وستظهر تاريخ 20050906 مثل التالي 20596)
If Len(str_tmp) =
1 Then str_tmp = "0" + str_tmp
بعد قراءة المعلومات من الباتش تأتي مرحلة تحديد الحالة لقراءة
معرف الانترفاس ومعرف الميكروكونترولر ومعرف المودال ومعرف البيريتال
نبدا في قراءة المعلومات من الباتش وحدة وحدة
و في الأول نقرأ معلومات الأنترفاس GUI
ونستخدم تحديد الحالة Select Case ..
فإذا كان Gui=4 فهو انترفاس انترستار وإذا كان Gui =7
فهو انترفاس ستارسات وهكذا مثلما شرحناه في موضوع
كيف تتعرف على اجهزة انترستار من خلال System Info
نستخدم دالة Mid لتحديد موقع المعرف (واحد فقط ابتداء من الرقم التاسع)
(strDSRGUI = Mid(str, 9, 1
Select Case strDSRGUI
Case Is = 4
"Label2(2).Caption = "InterStar
Case Is = 6
" Label2(2).Caption = "SuperLazer
Case Is = 7
" Label2(2).Caption = "StarSat
Case Is = 8
" Label2(2).Caption = "New InterStar
Case Else
"" = Label2(2).Caption
End Select
بالطبع يمكننا تفاديا للتكرار استخدام دالة With /end with
with label2
[center]
end with
بنفس الطريقة نحدد موقع معرف البروسيسور ويقرأ معطى واحد
ابتداء من سادس في البلوك ... ثم نقوم بتحديد الحالات
احتمالات
Select Case strCPU
Case Is = 3
"Label2(0).Caption = "NEC UPD61120 :Type D
Case Is = 5
"Label2(0).Caption = "NEC UPD61115 :Type S
Case Is = 4
"Label2(0).Caption = "Nec UPD61130
Case Else
""=Label2(0).Caption
End Select
بنفس الطريقة نحدد موقع معرف Model الجهاز ثم نحدد حسب الحالة
(strDSRType = Mid(str, 7, 1
Select Case strDSRType
Case Is = 1
"Label2(1).Caption = "Satellite FTA receiver
Case Is = 2
"Label2(1).Caption = "Satellite receiver with CI slot
Case Is = 3
"Label2(1).Caption = "Satellite FTA receiver with Smart card slot
Case Is = 4
"Label2(1).Caption = "Satellite receiver with CI and Smart card slot
Case Is = 5
"Label2(1).Caption = "Terrestrial FTA receiver
Case Is = 6
"Label2(1).Caption = "Terrestrial receiver with CI
Case Is = 7
"Label2(1).Caption = "Compact setellite FTA receiver
Case Is = 8
"Label2(1).Caption = "Terrestrial and satellite FTA receiver
Case Is = 9
"Label2(1).Caption = "Terrestrial and satellite receiver with CI slot
Case Else
""= Label2(1).Caption
End Select
بنفس الطريقة نحدد موقع معرف البيريتال Scart الجهاز ثم نحدد حسب الحالة
(strDSrcart = Mid(str, 8, 1
Select Case strDSrcart
Case Is = 1
"Label2(3).Caption = "Neant
Case Is = 2
"Label2(3).Caption = "Un
Case Is = 3
"Label2(3).Caption = "Deux
Case Else
""= Label2(3).Caption
End Select
بنفس الطريقة نحدد موقع معرف الجهاز الذي سيتقبل الباتش وهذا الجزء لم نتطرق إليه في موضوع كيف تتعرف على انترستار
(strDSrVend = Mid(str, 3, 2
Select Case strDSrVend
"Case Is = "08
"Label2(4).Caption = "Baff
"Case Is = "11
"Label2(4).Caption = "Focus
"Case Is = "0E
"Label2(4).Caption = "Golf
"Case Is = "03
"Label2(4).Caption = "InterStar
"Case Is = "12
"Label2(4).Caption = "MediaStar
"Case Is = "0F
"Label2(4).Caption = "Orient
"Case Is = "0A
"Label2(4).Caption = "SuperLazer
"Case Is = "10
"Label2(4).Caption = "StarSat
"Case Is = "02
"Label2(4).Caption = "SuperStar
Case Else
""= Label2(4).Caption
End Select
نقرأ الفيرسيون -مثلا 1.71- ا وهي موجودة في الباتش على شكل 171
ولذلك نقرأ المعطى 10 في البلوك ثم نضيف "." نقطة ثم نقرأ ماتبقى
(Label2(6).Caption =
Mid(str, 10, 1) & "." & Mid(str, 11, 2
بنفس الطريقة نقرأ تاريخ وساعة انشاء الباتش و نستخدم نفس الطريقة السابقة
(إضافة "/" في التاريخ و ":" في الوقت
Label2(7).Caption = Mid(str, 13, 4)
& "/" & Mid(str, 17, 2) & "/" & Mid
(str, 19, 2) & " " & Mid(str, 21, 2)
& ":" & Mid(str, 23, 2)
& ":" & Mid(str, 25, 2)
قـــــراءة Version Data
Label2(.Caption
= Mid(str, 1, 2) + 6
نعيد تنظيم المعطيات لتظهر على شكل مطابق لماتظهر عليه في الشاشة
G4C3M2S3 -مثلا-
Label3.Caption =
"Version principale:
" & Label2(6) & " " & "G"
& strDSRGUI & "C"
& strCPU & "M" & strDSRType & "S" & strDSrcart
ثم نغلق الملف
Close #1
مقارنة بالصور بين معلومات النسخة الرئيسية في البرنامج وعلى الجهاز
ماهو الهدف من هذا الموضوع ؟؟؟
بهذه الأسطر القليلة صنعنا بلغة البرمجة Visaul Baisc
برنامجا صغيرا يمكنك به معرفة النسخة المستخدمة
والداتا ويكشف لك لأي جهاز هو مخصص
و أي خلفية مستخدمة في هذا الباتش
ومن الطبيعي مادام مصنوعا بلغة البرمجة للمبتدئين
فهو يحتاج إلى تنصيب أو تثبيت installation ..
وبذلك يمكنك تجنب تحميل ملف ليس مطابقا لجهازك
توضيح لفهم معطيات البرنامج