Jump to content

Recommended Posts

Posted (edited)

Hi! Here is my script:

#include <GUIConstants.au3>
FileInstall ( "Samsung.ini","Samsung.ini",1)
FileInstall ( "Hynix.ini","Hynix.ini",1)
Global $MainWindow = GUICreate ("Title of program",450,150)
Global $Label = GUICtrlCreateLabel ("Select your flash memory chip:",10,10,380)
Global $MainCombo = GUICtrlCreateCombo ("Hynix", 10,50)
GUICtrlSetData(-1,"Samsung","Hynix")
Global $NextButton = GUICtrlCreateButton ("Next", 290,100,100,25)
GUISetState (@SW_SHOW)

Func _Select ()
Global $Type = GUICtrlRead ($MainCombo)
Select
Case $Type = "Hynix"
    Hynix()
Case $Type = "Samsung"
    Samsung()
EndSelect
EndFunc

Func Hynix()
Global $Window = GUICreate ("Title of program",450,150)
Global $Combo1 = GUICtrlCreateCombo ("HY", 10,50,50)
Global $Combo2 = GUICtrlCreateCombo ("27", 60,50,50)
Global $Combo3 = GUICtrlCreateCombo ("U", 110,50,50)
GUICtrlSetData(-1,"L|S","U")
Global $Combo4 = GUICtrlCreateCombo ("A", 160,50,50)
GUICtrlSetData(-1,"A|B|F|G|H|S|T|U|V","A")
Global $Combo5 = GUICtrlCreateCombo ("08", 210,50,50)
GUICtrlSetData(-1,"16|32","08")
Global $Combo6 = GUICtrlCreateCombo ("12", 260,50,50)
GUICtrlSetData(-1,"28|56|64|1G|2G|4G|8G|AG|BG|CG|DG","12")
Global $Combo7 = GUICtrlCreateCombo ("1", 310,50,50)
GUICtrlSetData($Combo7,"2|4|5|6|7|8|D","1")
Global $Combo8 = GUICtrlCreateCombo ("1", 360,50,50)
GUICtrlSetData($Combo8,"2|A|B|C|M","1")
Global $NextButtonHynix = GUICtrlCreateButton ("Next", 290,100,100,25)
GUISetState (@SW_SHOW,$Window)
GUISetState (@SW_HIDE,$MainWindow)
GUIDelete ($MainWindow)
While 1
$msg = GUIGetMsg()
If $msg = $NextButtonHynix Then CountHynix ()
If $msg = $GUI_EVENT_CLOSE Then Exit
WEnd
EndFunc

Func CountHynix()
Global $Count1 = GUICtrlRead ($Combo1)
Global $1 = "Memory:" & @TAB & @TAB & IniRead ("Hynix.ini","1", $Count1, "Error")
Global $Count2 = GUICtrlRead ($Combo2)
Global $2 = "Component Group:" & @TAB & IniRead ("Hynix.ini","2", $Count2, "Error")
Global $Count3 = GUICtrlRead ($Combo3)
Global $3 = "Power Supply:" & @TAB & IniRead ("Hynix.ini","3", $Count3, "Error")
Global $Count4 = GUICtrlRead ($Combo4)
Global $4 = "Classification:" & @TAB & IniRead ("Hynix.ini","4", $Count4, "Error")
Global $Count5 = GUICtrlRead ($Combo5)
Global $5 = "Bit Organization:" & @TAB & IniRead ("Hynix.ini","5", $Count5, "Error")
Global $Count6 = GUICtrlRead ($Combo6)
Global $6 = "Density:" & @TAB & @TAB & IniRead ("Hynix.ini","6", $Count6, "Error")
Global $Count7 = GUICtrlRead ($Combo7)
Global $7 = "Mode:" & @TAB & @TAB & IniRead ("Hynix.ini","7", $Count7, "Error")
Global $Count8 = GUICtrlRead ($Combo8)
Global $8 = "Version:" & @TAB & @TAB & IniRead ("Hynix.ini","8", $Count8, "Error")
Global $Title = "Hynix " & $Count1 & $Count2 & $Count3 & $Count4 & $Count5 & $Count6 & $Count7 & $Count8
Global $Text = $1 & @CRLF & $2 & @CRLF & $3 & @CRLF & $4 & @CRLF & $5 & @CRLF & $6 & @CRLF & $7 & @CRLF & $8
GUISetState (@SW_HIDE,$Window)
MsgBox ( 64, $Title, $Text)
Exit
EndFunc

Func Samsung()
Global $Window = GUICreate ("Title of program",450,150)
Global $Combo12 = GUICtrlCreateCombo ("K9", 10,50,50)
Global $Combo3 = GUICtrlCreateCombo ("1", 60,50,50)
GUICtrlSetData(-1,"2|4|A|B|D|E|F|G|H|J|K|L|M|N|Q|R|S|T|U|V|W","1")
Global $Combo45 = GUICtrlCreateCombo ("00", 110,50,50)
GUICtrlSetData(-1,"12|16|28|32|40|56|64|80|1G|2G|4G|8G|AG|BG|CG","00")
Global $Combo67 = GUICtrlCreateCombo ("00", 160,50,50)
GUICtrlSetData(-1,"08|16","00")
Global $Combo8 = GUICtrlCreateCombo ("A", 210,50,50)
GUICtrlSetData(-1,"B|C|D|E|R|Q|T|U|V|W|0","A")
Global $Combo9 = GUICtrlCreateCombo ("0", 260,50,50)
GUICtrlSetData(-1,"1|4|5|9|A|L","0")
Global $Combo10 = GUICtrlCreateCombo ("A", 310,50,50)
GUICtrlSetData(-1,"B|C|D|M|Y|Z","A")
Global $NextButtonSamsung = GUICtrlCreateButton ("Next", 290,100,100,25)
GUISetState (@SW_SHOW,$Window)
GUISetState (@SW_HIDE,$MainWindow)
GUIDelete ($MainWindow)
While 1
$msg = GUIGetMsg()
If $msg = $NextButtonSamsung Then CountSamsung ()
If $msg = $GUI_EVENT_CLOSE Then Exit
WEnd
EndFunc

Func CountSamsung()
Global $Count12 = GUICtrlRead ($Combo12)
Global $12 = "Memory:" & @TAB & @TAB & IniRead ("Samsung.ini","12", $Count12, "Error")
Global $Count3 = GUICtrlRead ($Combo3)
Global $3 = "Small Classification:" & @TAB & IniRead ("Samsung.ini","3", $Count3, "Error")
Global $Count45 = GUICtrlRead ($Combo45)
Global $45 = "Density:" & @TAB & @TAB & IniRead ("Samsung.ini","45", $Count45, "Error")
Global $Count67 = GUICtrlRead ($Combo67)
Global $67 = "Organization:" & @TAB & IniRead ("Samsung.ini","67", $Count67, "Error")
Global $Count8 = GUICtrlRead ($Combo8)
Global $8 = "Vcc:" & @TAB & @TAB & IniRead ("Samsung.ini","8", $Count8, "Error")
Global $Count9 = GUICtrlRead ($Combo9)
Global $9 = "Mode:" & @TAB & @TAB & IniRead ("Samsung.ini","9", $Count9, "Error")
Global $Count10 = GUICtrlRead ($Combo10)
Global $10 = "Generation:" & @TAB & IniRead ("Samsung.ini","10", $Count10, "Error")
Global $Title = "Samsung " & $Count12 & $Count3 & $Count45 & $Count67 & $Count8 & $Count9 & $Count10
Global $Text = $12 & @CRLF & $3 & @CRLF & $45 & @CRLF & $67 & @CRLF & $8 & @CRLF & $9 & @CRLF & $10
GUISetState (@SW_HIDE,$Window)
MsgBox ( 64, $Title, $Text)
Exit
EndFunc

While 1
 $msg = GUIGetMsg()
 If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $NextButton Then _Select ()   
Wend

Short information: you select memory your chip, specify number & get indformation about it.

I include ini files. Everything work fine, but on other PC there is an error

CODE
---------------------------

16 bit MS-DOS Subsystem

---------------------------

C:\DOCUME~1\ADMINI~1\Desktop\Memory.exe

The NTVDM CPU has encountered an illegal instruction.

CS:0344 IP:0361 OP:ff d9 19 04 00 Choose 'Close' to terminate the application.

---------------------------

Close Ignore

---------------------------

Samsung.ini

CODE
[12]

K9=Memory NAND Flash 9

[3]

1 = SLC 1 Chip XD Card

2 = SLC 2 Chip XD Card

4 = SLC 4 Chip XD Card

A = SLC + Muxed I/ F Chip

B = Muxed I/ F Chip

D = SLC Dual SM

E = SLC DUAL (S/ :)

F = SLC Normal

G = MLC Normal

H = MLC QDP

J = Non-Muxed One Nand

K = SLC Die Stack

L = MLC DDP

M = MLC DSP

N = SLC DSP

Q = 4CHIP SM

R = SLC 4DIE STACK (S/ :D

S = SLC Single SM

T = SLC SINGLE (S/ :D

U = 2 STACK MSP

V = 4 STACK MSP

W = SLC 4 Die Stack

[45]

12 = 64 Mb

16 = 2 Mb

28 = 16 Mb

32 = 4 Mb

40 = 0.5 Mb

56 = 32 Mb

64 = 8 Mb

80 = 1 Mb

1G = 128 Mb

2G = 256 Mb

4G = 512 Mb

8G = 1 Gb

AG = 2 Gb

BG = 4 Gb

CG = 8 Gb

DG = 16 Gb

00 = NONE

[67]

00 = NONE

08 = x8

16 = x16

[8]

A = 1.65V~3.6V

B = 2.7V(2.5V~2.9V)

C = 5.0V(4.5V~5.5V)

D = 2.65V(2.4V ~ 2.9V)

E = 2.3V~3.6V

R = 1.8V(1.65V~1.95V)

Q = 1.8V(1.7V ~ 1.95V)

T = 2.4V~3.0V

U = 2.7V~3.6V

V = 3.3V(3.0V~3.6V)

W = 2.7V~5.5V, 3.0V~5.5V

0 = NONE

[9]

0 = Normal

1 = Dual nCE & Dual R/ nB

4 = Quad nCE & Single R/ nB

5 = Quad nCE & Quad R/ nB

9 = 1st block OTP

A = Mask Option 1

L = Low grade

[10]

M = 1st Generation

A = 2nd Generation

B = 3rd Generation

C = 4th Generation

D = 5th Generation

Y = Partial NAND((2nd)

Z = Partial NAND(1st)

Hynix.ini

CODE
[1]

HY = HYNIX MEMORY

[2]

27 = NAND Flash

[3]

U = 2.7V~3.6V

L = 2.7V

S = 1.8V

[4]

S = SLC + Single Die + S/B

A = SLC + Double Die + S/B

B = SLC + Quadruple Die + S/B

F = SLC + Single Die + L/B

G = SLC + Double Die + L/B

H = SLC + Quadruple Die + L/B

T = MLC + Single Die + L/B

U = MLC + Double Die + L/B

V = MLC + Quadruple Die + L/B

[5]

08 = x8

16 = x16

32 = x32

[6]

64 = 8 Mb

56 = 32 Mb

1G = 128 Mb

4G = 512 Mb

AG = 2 Gb

CG = 8 Gb

28 = 16 Mb

12 = 64 Mb

2G = 256 Mb

8G = 1 Gb

BG = 4 Gb

DG = 16 Gb

[7]

1 = 1 nCE & 1 R/nB; Sequential Row Read Enable

2 = 1 nCE & 1 R/nB; Sequential Row Read Disable

4 = 2 nCE & 2 R/nB; Sequential Row Read Enable

5 = 2 nCE & 2 R/nB; Sequential Row Read Disable

6 = 1 nCE & 1 R/nB; Sequential Row Read Enable & Auto Read Page 0

7 = 2 nCE & 2 R/nB; Sequential Row Read Enable & Auto Read Page 0

8 = 1 nCE & 1 R/nB; Sequential Row Read Disable & Auto Read Page 0

9 = 2 nCE & 2 R/nB; Sequential Row Read Disable & Auto Read Page 0

D = Dual Interface; Sequential Row Read Disable

[8]

M = 1st Gen.

A = 2nd Gen.

B = 3rd Gen.

C = 4th Gen.

1 = Down Density(1st)

2 = Down Density(2nd)

[9]

T = TSOP1

V = WSOP

S = USOP

F = FBGA(63ball)

B = FBGA(107ball)

G = FBGA(149ball)

H = TBGA

L = LGA

U = ULGA

M = TLGA

W = Wafer

C = Chip

K = KGD

Please test this script on you PC.

Do you have the same error?

Thanks

Edited by Kivin
Posted

I find error. Everything work, when you delete

FileInstall ( "Samsung.ini","Samsung.ini",1)

FileInstall ( "Hynix.ini","Hynix.ini",1)

Thanks!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...