Official M3 firmware download and discussion thread - FW1.9--new UI theme, various UI improvements
Aug 22, 2017 at 6:09 AM Post #61 of 76
It looks like an easy fix tbh and it's surprising that this hasn't been looked at yet. I took mine on holiday and in the daylight, it was impossible for me to select a file to play due to low brightness and tiny font. A simple black and white would be easier for access in these kinds of conditions.

It's really not a bad player for what you pay and that one 'fix' would make things so much easier.

I ended up just selecting random folders in the end.
 
Aug 23, 2017 at 12:32 PM Post #62 of 76
Step 1, decrypting the M3.HEX file using the atj2127 decrypt tool. The tool has creates the following 26 files.
26 File(s) 52.665.856 bytes

brecf644.bin 199.168 bytes = 194.5 Kb
brecf645.bin 199.168 bytes
brecf646.bin 199.168 bytes
brecf647.bin 199.168 bytes
brecf648.bin 199.168 bytes
brecf649.bin 199.168 bytes
brecf650.bin 199.168 bytes
brecf651.bin 199.168 bytes
brecf652.bin 199.168 bytes
brecf653.bin 199.168 bytes
cardbrec.bin 199.168 bytes
cardfwsc.bin 27.648 bytes
flash_id.bin 33.792 bytes = 33 Kb
fwimage.fw 50.132.992 bytes = 48958 Kb = 47.81 Mb
fwscf644.bin 27.648 bytes = 27 Kb
fwscf645.bin 27.648 bytes
fwscf646.bin 27.648 bytes
fwscf647.bin 27.648 bytes
fwscf648.bin 27.648 bytes
fwscf649.bin 27.648 bytes
fwscf650.bin 27.648 bytes
fwscf651.bin 27.648 bytes
fwscf652.bin 27.648 bytes
fwscf653.bin 27.648 bytes
mbrec.bin 1.024 bytes = 1 Kb
nandhwsc.bin 3.072 bytes = 3 Kb

Next step is to figure out which file contains the FW image and Fonts.
The file fwimage.fw is the only file containing the words "Fiio " and "M3: and should be it and is the next file to decrypt.

The search continue .....
 
Last edited:
Aug 23, 2017 at 12:37 PM Post #63 of 76
Step 1, decrypting the M3.HEX file looks using the atj2127 decrypt tool. The tool has creates the following 26 files.
26 File(s) 52.665.856 bytes

brecf644.bin 199.168 bytes = 194.5 Kb
brecf645.bin 199.168 bytes
brecf646.bin 199.168 bytes
brecf647.bin 199.168 bytes
brecf648.bin 199.168 bytes
brecf649.bin 199.168 bytes
brecf650.bin 199.168 bytes
brecf651.bin 199.168 bytes
brecf652.bin 199.168 bytes
brecf653.bin 199.168 bytes
cardbrec.bin 199.168 bytes
cardfwsc.bin 27.648 bytes
flash_id.bin 33.792 bytes = 33 Kb
fwimage.fw 50.132.992 bytes = 48958 Kb = 47.81 Mb
fwscf644.bin 27.648 bytes = 27 Kb
fwscf645.bin 27.648 bytes
fwscf646.bin 27.648 bytes
fwscf647.bin 27.648 bytes
fwscf648.bin 27.648 bytes
fwscf649.bin 27.648 bytes
fwscf650.bin 27.648 bytes
fwscf651.bin 27.648 bytes
fwscf652.bin 27.648 bytes
fwscf653.bin 27.648 bytes
mbrec.bin 1.024 bytes = 1 Kb
nandhwsc.bin 3.072 bytes = 3 Kb

Next step is to figure out which file contains the FW image and Fonts. The file fwimage.fw is way to large for the available RAM/ ROM (163K SRAM OC, 88K MASK ROM).
The search continues.....

Best of luck, I really hope you'll be able to figure it out. It seems the only way that we'll get any improvement out of the M3 is to do it ourselves.
 
Aug 23, 2017 at 12:56 PM Post #64 of 76
I do my best, have 1 1/2 week and then I will be very busy for a while and unable to spend any time on this project If I make progress I will continue somewhere in October. I hope someone else read this can contribute.
 
Aug 24, 2017 at 10:01 AM Post #65 of 76
step 2 completed extracted 114 files from fwimage.fw. The MP3 sample plays, the text files are readable confirming the file are oké
Only need to trim some 0x0 data from the end of the files.

2 files found that could be fonts files UNICODE.FON and UNICODEL.FON. *.TBL and *.$$$ are also involved in fons selection/generation
New tools found with Chinese pdf explaining how to build FW. https://github.com/Suber/PD196_ATJ2127

Hhere the complete list of files
KERNEL.DRV
KER_TEXT.BIN
KER_INIT.BIN
KER_DATA.BIN
FMTDATA.BIN
CARD.DRV
CARDS.DRV
NAND.DRV
UHOST.DRV
FAT32N.DRV
FAT16N.DRV
EXFATN.DRV
AUD_DEV.DRV
MMM_MP.AL
ADWMA.AL
ADWAV.AL
ADMP3.AL
ADAPE.AL
ADFLAC.AL
MMM_ID.AL
MMM_VP.AL
MMM_MR.AL
AEWAV.AL
AEMP3.AL
ADOGG.AL
ADAAX.AL
ADAUD.AL
ADAAC.AL
ADAIN.AL
ADACT.AL
AEACT.AL
FWDEC.AL
UPGRADE.STY
UPGRADE1.STY
FWUPDATE.AP
CONFIG.BIN
CONFIG.SPC
CONFIG.TXT
LEGAL.TXT
M_TYPE.TXT
ALARM1.MP3
FMTOOL.CFG
SETTING.INI
DRV_LCD.DRV
DRV_UI.DRV
KEY.DRV
DRV_FM.DRV
V936GBK.TBL
V950BIG.TBL
V932JIS.TBL
V949KOR.TBL
V874.TBL
V1250.TBL
V1251.TBL
V1252.TBL
V1253.TBL
V1254.TBL
V1255.TBL
V1256.TBL
V1257.TBL
FTBL_GB.$$$
FTBL_B5.$$$
FTBL_JP.$$$
FTBL_KR.$$$
874L.TBL
1250L.TBL
1251L.TBL
1252L.TBL
1253L.TBL
1254L.TBL
1255L.TBL
1256L.TBL
1257L.TBL
UNICODE.FON
UNICODEL.FON
COMMON.STY
COMMON1.STY
MAINMENU.STY
MUSIC.STY
MUSIC1.STY
PICTURE.STY
BROWSER.STY
BROWSER1.STY
SETTING.STY
SETTING1.STY
PLAYLIST.STY
PLAYLST1.STY
TOOLS.STY
UDISK.STY
UDISK1.STY
CONFIG.STY
CONFIG1.STY
LOGO.STY
LOGO1.STY
END.STY
END1.STY
MAINMENU.MCG
MUSIC.MCG
PICTURE.MCG
BROWSER.MCG
SETTING.MCG
TOOLS.MCG
MANAGER.AP
CONFIG.AP
MAINMENU.AP
MUSIC.AP
MENGINE.AP
BROWSER.AP
PICTURE.AP
UDISK.AP
SETTING.AP
PLAYLIST.AP
TOOLS.AP
FMENGINE.AP

/* end of file list */
 
Last edited:
Aug 25, 2017 at 12:28 PM Post #68 of 76
' Title: split.vbs
' Visual basic script to split atj2127/atj2129/1tj2123 fwimage file into its separate files
' Usage:
' - Copy to a text file on Windows.
' - Rename to split.vbs
' - Create clean folder
' - Copy fwimage.fw and split.vbs into the empty folder.
' - Run / double-click split.vbs
' - A fillist.txt file is created containing all files in the fwimage
' - plus all files are extracted form the fwimage in 512 byte blocks!
' - Due to the fixed 512 byte block size extra 0x00 bytes are appended to most files

'************************************* Start of Script ***************************************************
Const ForReading = 1
Const ForWriting = 2

CurrentScriptFolder = Left(Wscript.ScriptFullName, Len(Wscript.ScriptFullName) - Len(Wscript.ScriptName))
set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")

Input_file_name=CurrentScriptFolder +"\fwimage.fw"
Set FWFile = objFSO.OpenTextFile(Input_file_name, ForReading, True)

Output_file_name=CurrentScriptFolder +"\FileList.txt"
Set Outputfiletxt = objFSO.OpenTextFile(Output_file_name, ForWriting, True)

Skip=FWFile.Read(512)

FileName=RTrim(FWFile.Read(8)) +"."+RTrim(FWFile.Read(3))
do while asc(left(filename,1)) <>0 and FWFile.AtEndOfStream <> True

Skip=FWFile.Read(5)

MyStart=asc(FWFile.Read(1))
MyStart=MyStart+asc(FWFile.Read(1))*256
MyStart=MyStart+asc(FWFile.Read(1))*256*256
MyStart=MyStart+asc(FWFile.Read(1))*256*256*256
MyStart=MyStart*512

MySize=asc(FWFile.Read(1))
MySize=MySize+asc(FWFile.Read(1))*256
MySize=MySize+asc(FWFile.Read(1))*256*256
MySize=MySize+asc(FWFile.Read(1))*256*256*256

Skip=FWFile.Read(8)
Outputfiletxt.WriteLine(Filename+","+CStr(MyStart)+","+CStr(MySize))

FileName=RTrim(FWFile.Read(8)) +"."+RTrim(FWFile.Read(3))
loop
Outputfiletxt.close
FWFile.close

'************************************************************************************
Input_file_name=CurrentScriptFolder +"\FileList.txt"
Set Inputfiletxt = objFSO.OpenTextFile(Input_file_name, ForReading, True)

Input_Fwfile_name=CurrentScriptFolder +"\fwimage.fw"
Set InputFW = objFSO.OpenTextFile(Input_Fwfile_name, ForReading, True)

MyLine = Inputfiletxt.ReadLine
MyComma = InStr(Myline, chr(44))
MyStart = Mid(MyLine,MyComma+1)
MyComma2=InStr(MyStart, chr(44))
MyStart = left(MyStart,MyComma2-1)

for count = 1 to MyStart
MyChar=InputFW.Read(1)
next

Do While Inputfiletxt.AtEndOfStream <> True

MyComma = InStr(Myline, chr(44))
MyFile = left(Myline,MyComma-1)

MyComma =InStr(MyComma+1,Myline, chr(44))
MySize = Mid(MyLine,MyComma+1)

Output_file_name=CurrentScriptFolder +MyFile
Set Outputfiletxt = objFSO.OpenTextFile(Output_file_name, ForWriting, True)

Mychar=InputFW.Read(MySize)
Outputfiletxt.Write(MyChar)
Outputfiletxt.close
MyLine = Inputfiletxt.ReadLine

Loop

Inputfiletxt.close
InputFW.close
MsgBox("The script has finished, you can look a the results now.")
 
Aug 25, 2017 at 1:10 PM Post #69 of 76
https://github.com/Suber/PD196_ATJ2127
This location contains some nice tools One of tem is a UI editor.

To change the UI editor language from Chinese to English
- rename lan_CHS.dll to lan_CHS2.dll
- rename lan_ENG.dll to lan_CHS.dll
- This will change the menu's to English

- rename folder CHS to CHS2
- rename folder ENG to CHS
- This will change the window titles also to English
 
Last edited:
Oct 11, 2017 at 6:02 PM Post #70 of 76
https://github.com/Suber/PD196_ATJ2127
This location contains some nice tools One of tem is a UI editor.

To change the UI editor language from Chinese to English
- rename lan_CHS.dll to lan_CHS2.dll
- rename lan_ENG.dll to lan_CHS.dll
- This will change the menu's to English

- rename folder CHS to CHS2
- rename folder ENG to CHS
- This will change the window titles also to English

Any luck in the project? I don't know much programing but if you need any help let me know.
 
Nov 7, 2017 at 2:51 PM Post #71 of 76
I know that this is some time after this post, but regarding ability to read the screen, it would be very helpful for us older geezers if the font could be made bold or larger.

As far as screen colours go, how about a simple black screen with white writing? This wouldn't require massive changes to its coding and I have to admit that a piece of coding written by another Headfi member for the X3 makes it highly visible outdoors.

Maybe a lower power option in order to reduce noise to earbuds?

I do like the M3 because it does have a lot of potential to be a very good cheap option. There is a tiny amount of hiss on 16ohm iem's but I have found that putting an Ifi reducer in line knocks this right on the head.

With these two (quite simple to implement) options, it would transform the player into something special for the price imo.

Sound is great. Also, Fiio, the support from your company is truly excellent and it seems that many of us take this for granted. So many thanks for your continued support for all of your products on here, including x1, x3 and x5 which I also have. Not many companies go to the lengths that you guys do.

The M3 platform seems nice, however I hate the buttons on the M3, and want a Fiio clip on player with radio(HD radio preferred). As for making the M3 better with more firmware updates, I suggest allowing the displayed font to be increased, and a choice to have the display in white letters on a black background, which greatly increases readability in bright light. My Sandisk Clip Zip with Rockbox is set to display white letters on a black background.
 
Nov 14, 2017 at 10:06 PM Post #72 of 76
It seems like the M3 is probably discontinued. Will Fiio soon release the M5? I'm waiting for a clip on player with FM radio. I'm tired of the Sandisk clip on players, and want something better. The M3 platform was good.
If Fiio builds a new player based on that, but with FM radio, a built in clip, and much better buttons than the M3 has, many will be happy. Some might want Bluetooth as well. Other might want HD radio.
 
Nov 15, 2017 at 9:59 AM Post #73 of 76
It seems like the M3 is probably discontinued. Will Fiio soon release the M5? I'm waiting for a clip on player with FM radio. I'm tired of the Sandisk clip on players, and want something better. The M3 platform was good.
If Fiio builds a new player based on that, but with FM radio, a built in clip, and much better buttons than the M3 has, many will be happy. Some might want Bluetooth as well. Other might want HD radio.
Take a look at the Benji S5 and see if that ticks the boxes for you.it has FM radio, small form factor, there is no built in clip, but does have a small area on the top where you should be able to attach some kind of lanyard or something.

As for performance, I haven't found any significant differences in the M3 and S5.

And S5 is not as expensive.
 
Oct 23, 2018 at 9:35 AM Post #75 of 76
Happy to report FW 1.9 als mentioned in the first post in this thread is NOT the latest FW for the FIIO M3. :)

FiiO has a created Firmware FW 2.0 for us :L3000::L3000: with a new Black theme, and now, can play through folders! Why this is not widely shared I don't know but I installed it immediately and the screen is indeed better to read. For me there is no need for a custom FW anymore. Black is the new theme for me. Be aware that you need to be on FW 1.7 or FW 1.9 to be able install the new FW.

http://fiio.me/forum.php?mod=viewthread&tid=42976

http://fiio-firmware.fiio.net/M3-FW2.0.zip
 
Last edited:

Users who are viewing this thread

Back
Top