README #1

Open
opened 2023-04-12 00:29:49 +03:00 by norohind · 0 comments
Owner

https://avic411.com/index.php?/topic/39638-avic-mrz99-custom-firmware-testmode/

TLDR:

I've translated the Japanese language strings for the MRZ99 to English. 

I figured out the format of the LNG file, dumped the Japanese, translated all the strings using google translate, then rebuilt the file.

Some of the English is not perfect but it makes the system much more usable. 

 

I've tested it with APP firmware version 3.070200 (installed with platform version 3.000600), other versions may not work.

If the old language file is 93627 bytes long then this will almost certainly work.

 

To install this, unzip the attachment mrz99english.zip and put the PF090JPJPN.LNG file on an sd card. (130905 bytes, md5sum is cb3f9cb76330704cc171e2b0acb9f6ad)

Get into testmode by holding the NAVI button (left button with Japanese writing on it) and pressing right..left..right..left..right..left and then release NAVI.

 

Go to the last entry on the first page (File Maintenance in Japanese) and press MENU (right button with Japanese writing on it) 

This opens the file manager which is in English and fairly obvious.

 

Make a backup of /USER as described elsewhere on avic411.com

 

Look in /USER to see if there is a file named  PRG.FLG

if there is, then the system uses /USER/PRG1, otherwise it uses /USER/PRG0

 

You can check the file versions by looking at  /USER/PRGx/PF090APL.HTM (where x is 0 or 1 depending on PRG.FLG)

 

go to  /USER/PRGx/APL/LANGDATA/

 

delete  PF090JPJPN.LNG

go to /SD, copy the new PF090JPJPN.LNG and paste it into LANGDATA where the old one was.

 

Switch off the power and when it restarts, it should be in English....

 

This worked for me but obviously is not 100% safe, be very careful in the file manager.

 

Update: There's now an installer that also changes the background and most of the important images with japanese text.
Here's a zip file that should automatically update mrz99, mrz77, mrz09 and mrz07 (and perhaps others).

 

https://github.com/dzo/mrz99/blob/master/updatemrz99.zip?raw=true

 

Extract the zip to a usb drive and switch on the AVIC with it plugged in to install.

 

If you want to use a SD card, edit the script and replace USB\ with SD\ in the copy commands

 

It also replaces the images so there is almost no Japanese text left. 

 

My mrz99 has a photo of my family as the background but I'm sure you don't want that in your car so I've replaced it with this:

 

https://github.com/dzo/mrz99/blob/master/updated/b1853.bmp

 

Make sure you do a backup before running the script just in case.

And also some QnA:

How to change date and time settings? Does anybody know?

This isn't easy, the date and time are obtained from the GPS and there's no obvious way to change the timezone.

It may be possible to set the time if you unplug the gps antenna but I haven't tried this.

One way to hack the timezone would be to change the dll that reads the time to add an offset.
    Good afternoon. I would also like a translation in Russian. If someone would sort out how to collect from the source, I would deal with the translation myself.

 

OK, I've updated the code so it'll accept utf8 chars. To do a translation into a new language, fork my github project and edit the "translated.txt" file to create a new one (translated_ru.txt perhaps).

Some rules:

 

No double quotes (") allowed anywhere except the start and end of a string (some are on multiple lines).

Don't change anything that has a % followed by some characters (google translate will mess these up so you will have to fix them by hand).

Don't add lots of new text, the final langdata file must be less than 128K and it's quite close to that.

 

I'm happy to create the langdata file for you when the strings are translated but make sure you follow the rules above or it won't work. 


    Hi DZO.

    I was wondering if there's a step by step guide anywhere showing how to edit these .LNG files / translate them to English, because I'd really like to learn how it works.

    I understood how to access, backup and replace the files, but I just can't get the decoding and stuff to work. I've seen your post on github but I'm not sure how to use the scripts.. 

     

    If a guide doesn't exist and you prefer to not make one, which I understand, do you still take requests?

    Thanks for reading!

 

The source on github are small C programs. To run them you need a compiler, it's possible on windows but much easier on a linux box.

 

For a debian based distribution you need unicode libs so do:

 

apt install libunistring-dev

git clone https://github.com/dzo/mrz99.git

cd mrz99

make

 

to extract strings from a .LNG file do:

 

./decode PF090JPJPN.LNG | iconv -f utf16 > untranslated_090.txt

 

to create a new .LNG file do:

 

./recode translated.txt PF090JPJPN_new.LNG

 

where translated.txt is the translated text.

 

To extract the images from an Image.img file do

 

mkdir bmp

./extractbmp

cp -r bmp bmp_d

cd bmp_d

for i in *.gz; do gzip -d $i; done

 

to make a new Image.img file put your new images in the updated directory (must be 16 bit rgb565) and do:

 

cp -r bmp bmp1

cd updated

sh ./update.sh

cd ..

./extractbmp encode

 

I do have a way to change the splash screen on the mrz99 but it's a little fiddly so I'll only make it available if there is lots of demand.


    Hi DZO,

     

    Sorry to bother you again, but could you please advise if there is any instruction how to change boot splash screen on mrz77?

 

Here are instructions on how to change the mrz99 splash screen.

 

First get an 800x480 image to use. Save it in 16 bit rgb565 format, strip the header off so it is exactly 768000 bytes long.

add a 512 byte header that starts like this:

 

00000000  a5 5a 5a a5 00 b8 0b 00  bc ea cd 15 00 00 00 01  |.ZZ.............|

00000010  01 00 00 00 00 00 00 00  4e 41 30 39 30 4f 50 4e  |........NA090OPN|

00000020  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|

 

with the other bytes 0xff

 

call it NA090OPN.DAT

 

compile the makever.c program from my github and run it with NA090OPN.DAT to generate NA090OPN.VER.

 

On a usb stick or sd card create a directory called AVICMRZ90 with a directory OPN090 inside it.

 

copy NA090OPN.VER to AVICMRZ90 as PF090OPN.VER and OPN.VER (I can't remember which is correct so just put both in there)

copy NA090OPN.DAT to the OPN090 directory and rename it as PF090OPN.DAT

 

start testmode and select "forced firmware update" in japanese, I think it's the third entry but check first using google translate.

select "opening image", i think it's the last entry but again, check.

 

select usb or sd card and a new version number should appear, if not, check your directory structure and file names.

hit menu (or it could be another key) and it will write the splash screen.

 

I have done this and it works but as you can see it's not a simple process, it took me a long time to figure out the directory structure and

when it finally worked I had the DAT and VER files in lots of places with different names so the above may not be 100% correct but with some trial and error you should be able to get it to work. There is no way to go back to the standard image.

 

I'm happy with the splash screen I have now so I'm not going to change it or spend time making this process easier.

I'm definitely not going to take requests to convert splash screen images into dat and ver files!!
Кнопки Select, Copy, Paste, Delete не доступны, нужен на флешку файл testmode.key без него редактирование не будет доступно.
Buttons Select, Copy, Paste, Delete are not available, you need the file testmode.key without it there is no editing. I can not find the file, it does not fit from other models(((
    Did you get help on how to create back up? if yes kindly let me know how

Go to the folder you want to backup. Select the files, and confirm that the + sign appears at the left of the files. Now select copy. go to sd card and select paste. put the card in your computer to confirm if the files are backed up. 

		you can make the FW copy form the device easy - just use "Take out program" menu in test mode while SD-card inserted (FAT32 formatted, FW size about 500Mb)

изображение

 Hi DriveNSK,

I didn't find any correct TESTMODE.KEY for now: a have tried a lot of variants from this site and others but every time saw an error message "TESTMODE.KEY is incorrect".

But I can see the Test modes keywords inside of the file "Testmode.exe".

I'm not sure what the correct TESTMODE.KEY will open the "Copy" and "Paste" commands, further, the device file manager didn't access to files which contains the strings for translation - all of them inside of the main FW file PS140PLT.PRG.

WM6.x - yes, the device is Windows Mobile 6.x based, and I found tools to get/repack files of the FW (dumpromx for extract/replace files, fdf2reg and reg2fdf for registry "default.fdf" file changing).

"Take out program" is one of the menu items on the second or third screen of the TestMode menu on my RZ-09. I can make a screenshot for you tomorrow.

My device cannot connect to PC, for navigation updates synchronization uses the SD card (you need to prepare it on the device first and after it uses the Smartloop SW - it in Japanese only). 
 FW backup instruction for AVIC-RZ09 (and similar devices - AVIC-RL09, AVIC-RW09, AVIC-RZ09, AVIC-RZ07, AVIC-RZ06, AVIC-RL05, AVIC-RZ05, AVIC-RW03, AVIC-RZ03):

1. Get SD card, FAT32-formatted. Probably the USB disk will work too, but I didn't check back up on USB.

2. Make the empty folder named "NAVIVUP" on SD card.

3. Power on the AVIC and place the SD card into AVIC device slot.

4. Go to in the Testmode (press and hold "NAVI" button, press each once right-left-right-left-right-left, release "NAVI" button - device restarted in test mode).

5. On the first screen - select menu "10. Program forced write", go to the next screen of this submenu (2 of 3) and select "3. Take out program".

6. Select destination "SD" or "USB" and press "MENU" for start downloading.

7. Wait for about minute while FW downloaded to SD/USD disk - with full-screen messages "!!NOW COPYING!!", while "HIT ANY KEY" message didn't appear.

Profit) You can see the full-FW files on your SD/USB disk in the NAVIVUP folder.

P.S.: Sorry guys but I cannot upload the screen-shots here, I see just "There was a problem uploading the file." message displayed. 
 Hi everyone,

I have partially translated my AVIC-RZ09 to English, but it looks not so good as I wanted because of string length limits of initDB.dat file.

I didn't find any markup records in initDB.dat file.

I try to investigate some other files of the AVIC-RZ09 firmware but no results for now.

Maybe someone knows where are stored the Strings length and field's markup of the AVIC UI?

Here are sources and examples: https://github.com/Shtirlitz/RZ09  

http://avic411.com/index.php?/topic/39638-avic-mrz99-custom-firmware-testmode/&do=findComment&comment=351161
https://4pda.to/forum/index.php?showtopic=847671&st=20#entry90149444
http://avic411.com/index.php?/topic/39638-avic-mrz99-custom-firmware-testmode/&do=findComment&comment=355907

https://avic411.com/index.php?/topic/39638-avic-mrz99-custom-firmware-testmode/ TLDR: ``` I've translated the Japanese language strings for the MRZ99 to English. I figured out the format of the LNG file, dumped the Japanese, translated all the strings using google translate, then rebuilt the file. Some of the English is not perfect but it makes the system much more usable. I've tested it with APP firmware version 3.070200 (installed with platform version 3.000600), other versions may not work. If the old language file is 93627 bytes long then this will almost certainly work. To install this, unzip the attachment mrz99english.zip and put the PF090JPJPN.LNG file on an sd card. (130905 bytes, md5sum is cb3f9cb76330704cc171e2b0acb9f6ad) Get into testmode by holding the NAVI button (left button with Japanese writing on it) and pressing right..left..right..left..right..left and then release NAVI. Go to the last entry on the first page (File Maintenance in Japanese) and press MENU (right button with Japanese writing on it) This opens the file manager which is in English and fairly obvious. Make a backup of /USER as described elsewhere on avic411.com Look in /USER to see if there is a file named PRG.FLG if there is, then the system uses /USER/PRG1, otherwise it uses /USER/PRG0 You can check the file versions by looking at /USER/PRGx/PF090APL.HTM (where x is 0 or 1 depending on PRG.FLG) go to /USER/PRGx/APL/LANGDATA/ delete PF090JPJPN.LNG go to /SD, copy the new PF090JPJPN.LNG and paste it into LANGDATA where the old one was. Switch off the power and when it restarts, it should be in English.... This worked for me but obviously is not 100% safe, be very careful in the file manager. Update: There's now an installer that also changes the background and most of the important images with japanese text. ``` ``` Here's a zip file that should automatically update mrz99, mrz77, mrz09 and mrz07 (and perhaps others). https://github.com/dzo/mrz99/blob/master/updatemrz99.zip?raw=true Extract the zip to a usb drive and switch on the AVIC with it plugged in to install. If you want to use a SD card, edit the script and replace USB\ with SD\ in the copy commands It also replaces the images so there is almost no Japanese text left. My mrz99 has a photo of my family as the background but I'm sure you don't want that in your car so I've replaced it with this: https://github.com/dzo/mrz99/blob/master/updated/b1853.bmp Make sure you do a backup before running the script just in case. ``` And also some QnA: ``` How to change date and time settings? Does anybody know? This isn't easy, the date and time are obtained from the GPS and there's no obvious way to change the timezone. It may be possible to set the time if you unplug the gps antenna but I haven't tried this. One way to hack the timezone would be to change the dll that reads the time to add an offset. ``` ``` Good afternoon. I would also like a translation in Russian. If someone would sort out how to collect from the source, I would deal with the translation myself. OK, I've updated the code so it'll accept utf8 chars. To do a translation into a new language, fork my github project and edit the "translated.txt" file to create a new one (translated_ru.txt perhaps). Some rules: No double quotes (") allowed anywhere except the start and end of a string (some are on multiple lines). Don't change anything that has a % followed by some characters (google translate will mess these up so you will have to fix them by hand). Don't add lots of new text, the final langdata file must be less than 128K and it's quite close to that. I'm happy to create the langdata file for you when the strings are translated but make sure you follow the rules above or it won't work. ``` ``` Hi DZO. I was wondering if there's a step by step guide anywhere showing how to edit these .LNG files / translate them to English, because I'd really like to learn how it works. I understood how to access, backup and replace the files, but I just can't get the decoding and stuff to work. I've seen your post on github but I'm not sure how to use the scripts.. If a guide doesn't exist and you prefer to not make one, which I understand, do you still take requests? Thanks for reading! The source on github are small C programs. To run them you need a compiler, it's possible on windows but much easier on a linux box. For a debian based distribution you need unicode libs so do: apt install libunistring-dev git clone https://github.com/dzo/mrz99.git cd mrz99 make to extract strings from a .LNG file do: ./decode PF090JPJPN.LNG | iconv -f utf16 > untranslated_090.txt to create a new .LNG file do: ./recode translated.txt PF090JPJPN_new.LNG where translated.txt is the translated text. To extract the images from an Image.img file do mkdir bmp ./extractbmp cp -r bmp bmp_d cd bmp_d for i in *.gz; do gzip -d $i; done to make a new Image.img file put your new images in the updated directory (must be 16 bit rgb565) and do: cp -r bmp bmp1 cd updated sh ./update.sh cd .. ./extractbmp encode I do have a way to change the splash screen on the mrz99 but it's a little fiddly so I'll only make it available if there is lots of demand. ``` ``` Hi DZO, Sorry to bother you again, but could you please advise if there is any instruction how to change boot splash screen on mrz77? Here are instructions on how to change the mrz99 splash screen. First get an 800x480 image to use. Save it in 16 bit rgb565 format, strip the header off so it is exactly 768000 bytes long. add a 512 byte header that starts like this: 00000000 a5 5a 5a a5 00 b8 0b 00 bc ea cd 15 00 00 00 01 |.ZZ.............| 00000010 01 00 00 00 00 00 00 00 4e 41 30 39 30 4f 50 4e |........NA090OPN| 00000020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| with the other bytes 0xff call it NA090OPN.DAT compile the makever.c program from my github and run it with NA090OPN.DAT to generate NA090OPN.VER. On a usb stick or sd card create a directory called AVICMRZ90 with a directory OPN090 inside it. copy NA090OPN.VER to AVICMRZ90 as PF090OPN.VER and OPN.VER (I can't remember which is correct so just put both in there) copy NA090OPN.DAT to the OPN090 directory and rename it as PF090OPN.DAT start testmode and select "forced firmware update" in japanese, I think it's the third entry but check first using google translate. select "opening image", i think it's the last entry but again, check. select usb or sd card and a new version number should appear, if not, check your directory structure and file names. hit menu (or it could be another key) and it will write the splash screen. I have done this and it works but as you can see it's not a simple process, it took me a long time to figure out the directory structure and when it finally worked I had the DAT and VER files in lots of places with different names so the above may not be 100% correct but with some trial and error you should be able to get it to work. There is no way to go back to the standard image. I'm happy with the splash screen I have now so I'm not going to change it or spend time making this process easier. I'm definitely not going to take requests to convert splash screen images into dat and ver files!! ``` ``` Кнопки Select, Copy, Paste, Delete не доступны, нужен на флешку файл testmode.key без него редактирование не будет доступно. Buttons Select, Copy, Paste, Delete are not available, you need the file testmode.key without it there is no editing. I can not find the file, it does not fit from other models((( ``` ``` Did you get help on how to create back up? if yes kindly let me know how Go to the folder you want to backup. Select the files, and confirm that the + sign appears at the left of the files. Now select copy. go to sd card and select paste. put the card in your computer to confirm if the files are backed up. ``` ``` you can make the FW copy form the device easy - just use "Take out program" menu in test mode while SD-card inserted (FAT32 formatted, FW size about 500Mb) ``` ![изображение](/attachments/5e8e4e3c-2fc6-4ca1-bd92-cf712ffa588c) ``` Hi DriveNSK, I didn't find any correct TESTMODE.KEY for now: a have tried a lot of variants from this site and others but every time saw an error message "TESTMODE.KEY is incorrect". But I can see the Test modes keywords inside of the file "Testmode.exe". I'm not sure what the correct TESTMODE.KEY will open the "Copy" and "Paste" commands, further, the device file manager didn't access to files which contains the strings for translation - all of them inside of the main FW file PS140PLT.PRG. WM6.x - yes, the device is Windows Mobile 6.x based, and I found tools to get/repack files of the FW (dumpromx for extract/replace files, fdf2reg and reg2fdf for registry "default.fdf" file changing). "Take out program" is one of the menu items on the second or third screen of the TestMode menu on my RZ-09. I can make a screenshot for you tomorrow. My device cannot connect to PC, for navigation updates synchronization uses the SD card (you need to prepare it on the device first and after it uses the Smartloop SW - it in Japanese only). ``` ``` FW backup instruction for AVIC-RZ09 (and similar devices - AVIC-RL09, AVIC-RW09, AVIC-RZ09, AVIC-RZ07, AVIC-RZ06, AVIC-RL05, AVIC-RZ05, AVIC-RW03, AVIC-RZ03): 1. Get SD card, FAT32-formatted. Probably the USB disk will work too, but I didn't check back up on USB. 2. Make the empty folder named "NAVIVUP" on SD card. 3. Power on the AVIC and place the SD card into AVIC device slot. 4. Go to in the Testmode (press and hold "NAVI" button, press each once right-left-right-left-right-left, release "NAVI" button - device restarted in test mode). 5. On the first screen - select menu "10. Program forced write", go to the next screen of this submenu (2 of 3) and select "3. Take out program". 6. Select destination "SD" or "USB" and press "MENU" for start downloading. 7. Wait for about minute while FW downloaded to SD/USD disk - with full-screen messages "!!NOW COPYING!!", while "HIT ANY KEY" message didn't appear. Profit) You can see the full-FW files on your SD/USB disk in the NAVIVUP folder. P.S.: Sorry guys but I cannot upload the screen-shots here, I see just "There was a problem uploading the file." message displayed. ``` ``` Hi everyone, I have partially translated my AVIC-RZ09 to English, but it looks not so good as I wanted because of string length limits of initDB.dat file. I didn't find any markup records in initDB.dat file. I try to investigate some other files of the AVIC-RZ09 firmware but no results for now. Maybe someone knows where are stored the Strings length and field's markup of the AVIC UI? Here are sources and examples: https://github.com/Shtirlitz/RZ09 ``` http://avic411.com/index.php?/topic/39638-avic-mrz99-custom-firmware-testmode/&do=findComment&comment=351161 https://4pda.to/forum/index.php?showtopic=847671&st=20#entry90149444 http://avic411.com/index.php?/topic/39638-avic-mrz99-custom-firmware-testmode/&do=findComment&comment=355907
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: norohind/mrz99#1
No description provided.