[R&D] A7 R&D thread

Mtz

Well-Known Member
Joined
Nov 15, 2012
Messages
3,267
Likes
1,546
Location
Nice place
Country
Romania
Dash Cam
Viofo A119. WR1. SGGCX2. GitUp.
Regarding font bitmaps, maybe is the same idea as the old MTKFontCreator. But using another standards.
mtkfc5.jpg mtkfc2.jpg mtkfc3.jpg mtkfc4.jpg 00075.jpg mtkfont.jpg

enjoy,
Mtz
 

reverend

Well-Known Member
Joined
Apr 22, 2014
Messages
5,424
Likes
3,716
Country
United Kingdom
Dash Cam
Too many
I think I used some of those MTK tools for firmware modification on my old Oppo DVD player - that was an MTK1389 from memory?
 

jokiin

Well-Known Member
Manufacturer
Joined
Jan 27, 2013
Messages
38,202
Likes
19,589
Location
Shenzhen, China - Sydney, Australia
Country
China
Dash Cam
Too many ¯\_(ツ)_/¯
I think I used some of those MTK tools for firmware modification on my old Oppo DVD player - that was an MTK1389 from memory?
have a look at the clue in Mtz's avatar, I was doing DVD players years ago (around 12 years ago) and we used tools from Mtz to fix firmware mistakes the engineers could never get right and we supplied a modded firmware to the factory prior to production, our players were popular back then as a result as we had proper subtitle support and whole bunch of other mods we did, most of which was based on work Mtz was doing for others at the time
 

reverend

Well-Known Member
Joined
Apr 22, 2014
Messages
5,424
Likes
3,716
Country
United Kingdom
Dash Cam
Too many
I never even noticed that before!!

It was a Cambridge Audio DVD99 I had that I shoehorned an Oppo firmware on - it eventually killed the transport though - it's still sat in my front room actually so I might dig it out and see if it can be recovered as just noticed it does SACD!

This totally explains why you and Mtz know so much about the encoding side though - I've probably read your posts over the years elsewhere as well!
 

Mtz

Well-Known Member
Joined
Nov 15, 2012
Messages
3,267
Likes
1,546
Location
Nice place
Country
Romania
Dash Cam
Viofo A119. WR1. SGGCX2. GitUp.
we used tools from Mtz to fix firmware mistakes
Hmz... not tools by Mtz, but his work. I was using other people tools, like the MTKFontCreator.
Oppo was for American market, they doesn't need subtitles support so wasn't interesting for me. The softpedia board where I uploaded all my work is deleted. But who needs now a divx player?
Back to MTKFontCreator, is possible create a custom codepage0 and codepage1 to be encoded in a single bitmap. Just put the text in a txt file in the CodePage Files folder.
I see a difference in font creation, the Ambarella background is pink and the MTKFontCreator is red. Also I don't see outline. But if creating some valid bitmaps, I think the colors can be changed later in the txt converted file by just find and replace.

enjoy,
Mtz
 

jokiin

Well-Known Member
Manufacturer
Joined
Jan 27, 2013
Messages
38,202
Likes
19,589
Location
Shenzhen, China - Sydney, Australia
Country
China
Dash Cam
Too many ¯\_(ツ)_/¯
This totally explains why you and Mtz know so much about the encoding side though - I've probably read your posts over the years elsewhere as well!
sadly I'm responsible for about 50,000 forum posts across a few sites over the last 10 years or so, I do pop up in various places from time to time
 

jokiin

Well-Known Member
Manufacturer
Joined
Jan 27, 2013
Messages
38,202
Likes
19,589
Location
Shenzhen, China - Sydney, Australia
Country
China
Dash Cam
Too many ¯\_(ツ)_/¯
Hmz... not tools by Mtz, but his work.
well the tools you were using at least, for the most part I think what we did was largely guided by the work you were doing, we just transferred that to our needs and fixed a lot of problems and gave us an edge
 
OP
OP
Tobi@s

Tobi@s

Well-Known Member
App Developer
Joined
Nov 12, 2013
Messages
1,359
Likes
807
Location
Bavaria
Country
Germany
Dash Cam
some
This is getting interesting :D
That mtkFontCreator looks interesting, will have a look at it later
 

Mtz

Well-Known Member
Joined
Nov 15, 2012
Messages
3,267
Likes
1,546
Location
Nice place
Country
Romania
Dash Cam
Viofo A119. WR1. SGGCX2. GitUp.
sadly I'm responsible for about 50,000 forum posts
And now you just passed 10000 posts on DCT. I have only about 25000 posts, I think. :oops::oops::oops:

And I remember on this board I was maybe first forum user which was giving answers soon after people posted. At that time DCM was giving answers maybe when he was coming home, once a day. :p

enjoy,
Mtz
 

reverend

Well-Known Member
Joined
Apr 22, 2014
Messages
5,424
Likes
3,716
Country
United Kingdom
Dash Cam
Too many
Have they changed partitions with one of the newer A7 SDKs as I have a G90C here on firmware 604 which won't extract (just creates a 0 byte file when trying rom - using rfs creates a corrupt 8MB file) - I've just gotten an output of firmfl and it has all these options listed now:

Code:
Usage: gen [number of partition] [bst] [bld] [hal] [pba] [pri] [sec] [bak] [rmd] [rom] [dsp] [lnx] [swp] [add] [adc] [filename]
Ex: gen 3 bld pri dsp d:\amboot_kernel_dsp.bin
 
OP
OP
Tobi@s

Tobi@s

Well-Known Member
App Developer
Joined
Nov 12, 2013
Messages
1,359
Likes
807
Location
Bavaria
Country
Germany
Dash Cam
some
Someone with an 0805/06 had a similar problem.. Will try to get morr information on it.
 

reverend

Well-Known Member
Joined
Apr 22, 2014
Messages
5,424
Likes
3,716
Country
United Kingdom
Dash Cam
Too many
I just tried a hammer to crack a nut and tried this:

Code:
firmfl gen 1 bst bst.bin
firmfl gen 1 bld bld.bin
firmfl gen 1 hal hal.bin
firmfl gen 1 pba pba.bin
firmfl gen 1 pri pri.bin
firmfl gen 1 sec sec.bin
firmfl gen 1 bak bak.bin
firmfl gen 1 rmd rmd.bin
firmfl gen 1 rom rom.bin
firmfl gen 1 dsp dsp.bin
firmfl gen 1 lnx lnx.bin
firmfl gen 1 swp swp.bin
firmfl gen 1 add add.bin
firmfl gen 1 adc adc.bin
It's generated files for everything but pri which is 0 bytes so I'm trying dropping that.
 

DT MI

Well-Known Member
Joined
Oct 10, 2014
Messages
4,648
Likes
3,365
Location
Michigan
Country
United States
Dash Cam
Too Many - See Signature
I just stumbled across this thread and even though I can't help or provided any insight to the issues being discussed I'd like to thank you guys for a nice trip down memory lane.

Before retiring I spent more years than I care to divulge doing software development - a fair amount of it at the hardware level - so this thread has been an opportunity for me to reflect on how much I don't miss the frustration of malfunctioning code and trying to come up with a fix. :D
 

Nigel

Well-Known Member
Joined
Jul 7, 2014
Messages
5,798
Likes
2,617
Location
Devon
Country
United Kingdom
Dash Cam
Gitup Git3, Mini 0806
I just tried a hammer to crack a nut and tried this:

Code:
firmfl gen 1 bst bst.bin
firmfl gen 1 bld bld.bin
firmfl gen 1 hal hal.bin
firmfl gen 1 pba pba.bin
firmfl gen 1 pri pri.bin
firmfl gen 1 sec sec.bin
firmfl gen 1 bak bak.bin
firmfl gen 1 rmd rmd.bin
firmfl gen 1 rom rom.bin
firmfl gen 1 dsp dsp.bin
firmfl gen 1 lnx lnx.bin
firmfl gen 1 swp swp.bin
firmfl gen 1 add add.bin
firmfl gen 1 adc adc.bin
It's generated files for everything but pri which is 0 bytes so I'm trying dropping that.
They all consist of 3 English letters so that is only 17,576 possible combinations - you could use a bigger hammer ;)
 
Joined
Aug 18, 2014
Messages
79
Likes
69
Country
Belarus
Structure bitmaps.bin

Header Bitmaps.bin = 0x20 bytes
=====================
offset length hex-value name
0000 4 bytes xx002345 constant (use different compression algorithms)
===================
01...... RLE x1
03...... RLE x3

0004 2 bytes 0020 ??? header length bitmaps.bin
0006 2 bytes 0010 ??? the length of the header of each picture
0008 2 bytes 0001 Number of groups of pictures (max 6)
00A0 2 bytes 0002 Number of images in the group
(in each group must have the same number of pictures)

00C0 1 bytes xx Format Bitmaps.bin
===================================
00 then color = 256 or RGB-565 (if 256 is specified explicitly transparent color)
(otherwise not yet examined)
01 then color = aRGB-4444
02 then color = aRGB-1555
03 then color = RGB-1555 (Alpha ignored)
==============================
xx = 0F then color = 256 (A5s) ??????????????

00D0 19 bytes ---- byte alignment

Header First pictures = 0x10 bytes
=========================
offset length hex-value name
0020 4 bytes 00000040 beginning of the first image file (from the beginning bitmaps.bin)
0024 4 bytes 00000098 length of the first image file (info = 10 bytes + data)
0028 8 bytes -------- byte alignment

Header 2nd picture = 0x10 bytes
=========================
offset length hex-value name
0030 4 bytes 000000D8 beginning of the second image file (from the beginning bitmaps.bin)
0034 4 bytes 00000098 length of the second image file (10 bytes + data info)
0038 8 bytes -------- byte alignment

File info Pictures = 0x10 bytes
===================
offset length hex-value name
0040 1 bytes xx Flags (combination of flags above)
================
00 = BMF_RAW (bitmap is not RLE encoded)
01 = BMF_RLE (bitmap is RLE encoded)
10 = BMF_HAS_TRANS (bitmap uses transparency)

xx = 11 then A2s chip ???
xx = 81 then A5s chip ???
xx = 05 ???
xx = 85 ???

0041 1 bytes xx Bits
==============================
01 = 1bpp
02 = 2bpp
04 = 4bpp
08 = 8bpp
10 = 16bpp
18 = 24bpp ???

0042 2 bytes 0014 width in pixels
0044 2 bytes 0014 height in pixels
0046 2 bytes 0000 ???
0048 4 bytes 0000000D transparent color if > 8bpp bitmaps
004C 4 bytes 00000088 picture data length

Good luck.
z768
 
Joined
Aug 18, 2014
Messages
79
Likes
69
Country
Belarus
RLE algorithm for A7
0305 0412 -> 05 05 05 05 12 12 12 12 12

A2 for it a bit more complicated

Good luck.
z768.
 
Last edited: