PS3 [RESEARCH] Special characters in imagefont.bin - Emojis icons symbols

Well I suppose 26x23 could still be the native resolution? As that vsh screenshot is just how big it displays when used as an XMB title, you can see its smaller in my first post where its used as an "info" string, and its a different size again somewhere in between on the epilepsy warning.
 
Probably. i don't remember if fonts are scaled in vsh menu sources.
Could you send me a 1:1 scaled screenshot of the O button from xmb tittle, with pure black background (by using pure black png wallpaper and using vsh menu screenshot feature)?
 
This one from the previous page is at native screen res (XMB title), on black background.
wMg4kxc.png


I just cropped it.
 
Last edited:
I noticed the icon has a light effect at bottom line (some white ilumination effects) that bytes have the higest values, im going to convert some here for the record:
0xF3 (1111 0011)
0xF9 (1111 1001)
0xFD (1111 1101)
0xFF (1111 1111)
At top-center there is another interesting group
0xE8 (1110 1000)
0xEA (1110 1010)
0xEC (1110 1100)
0xEB (1110 1011)
0xE9 (1110 1001)
0xE7 (1110 0111)
 
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19

00000000  AD AD AD AD AD AD B2 AD AD AD E8 EA EC EB E9 E7 AD AD B2 AD AD AD AD AD AD AD  ²èêìëéç²
0000001A  AD AD AD AD AD AD AD D4 DE DB DD E0 E3 E0 E0 DC D0 D8 AD B2 AD AD AD AD AD AD  ÔÞÛÝàãààÜÐØ²
00000034  AD AD AD AD AD BD CC D1 D2 C2 AA 9B 90 94 A2 B9 CB D2 D0 C4 B2 AD AD AD AD AD  ½ÌÑÒª›."¢¹ËÒÐIJ
0000004E  AD AD AD AD AE C0 BC A7 7D 55 38 27 22 24 2F 4A 70 9B BC C1 B7 AD AD AD AD AD  ®À¼§}U8'"$/Jp›¼Á·
00000068  AD AD AD AD AF A4 84 52 24 0E 0A 32 45 45 2B 07 19 42 70 9D B0 9F AD AD AD AD  ¯¤"R$..2EE+..Bp.°Ÿ
00000082  AD AD AD 98 93 69 3C 17 06 5D C9 CE CE CE CE BA 32 0E 2F 59 8D 9C AD AD AD AD  ˜"i<..]ÉÎÎÎκ2./Y.œ
0000009C  AD AD 80 8E 64 36 16 13 9E CE CE A3 78 85 B3 CE CE 8A 0D 26 4E 86 87 AD AD AD  €Žd6..žÎΣx…³ÎΊ.&N†‡
000000B6  AD AD 77 67 2A 19 08 A8 CE A8 1C 00 00 00 00 45 BE CE 7E 0E 27 54 7F AD AD AD  wg*..¨Î¨.....E¾Î~.'T.
000000D0  AD AD 6D 41 1D 07 5E CE 9E 03 00 00 00 00 00 00 18 C3 CE 30 16 27 74 5F AD AD  mA..^Ξ........ÃÎ0.'t_
000000EA  AD AD 63 1D 0D 04 BE CE 21 00 00 00 00 00 00 00 00 50 CE 8A 05 17 4B 56 AD AD  c...¾Î!........PΊ..KV
00000104  AD 3E 53 07 04 1C CE AB 00 00 00 00 00 00 00 00 00 0C CE C3 01 05 2C 4D AD AD  >S...Ϋ..........ÎÃ..,M
0000011E  AD 34 3F 00 00 31 CE 8B 00 00 00 00 00 00 00 00 00 00 C6 CE 03 00 1E 43 AD AD  4?..1΋..........ÆÎ...C
00000138  AD 33 44 01 01 28 CE 95 00 00 00 00 00 00 00 00 00 02 CE CE 03 01 1E 3D AD AD  3D..(Ε..........ÎÎ...=
00000152  AD 37 60 0B 10 12 CE C6 03 00 00 00 00 00 00 00 00 25 CE A8 04 09 3B 46 AD AD  7`...ÎÆ.........%Ψ..;F
0000016C  AD E4 62 2D 14 05 95 CE 6A 00 03 00 00 00 00 00 02 9E CE 5E 0B 1B 53 48 AD AD  äb-..•Îj........žÎ^..SH
00000186  AD EF 5A 54 24 10 30 CE CE 45 00 00 00 00 00 03 71 CE BE 1A 1F 40 72 AD AD AD  ïZT$.0ÎÎE......qξ..@r
000001A0  AD F1 4F 8C 49 26 0B 5D CE CE 8B 32 0F 18 45 A3 CE C9 30 1D 35 75 66 AD AD AD  ñOŒI&.]Î΋2..E£ÎÉ0.5uf
000001BA  AD F0 F7 73 93 4C 29 0B 3A BE CE CE CE CE CE CE 9E 23 1F 41 79 92 AD AD AD AD  ð÷s"L).:¾ÎÎÎÎÎΞ#.Ay'
000001D4  AD E6 F6 F9 9A 8F 5C 35 17 11 58 85 B3 A8 7B 47 15 29 51 93 B6 6C AD AD AD AD  æöùš.\5..X…³¨{G.)Q"¶l
000001EE  B2 CF F2 F8 6F AC B1 7A 57 39 24 1B 14 17 20 2E 4C 6E A1 C5 81 AD AD AD AD AD  ²Ïòøo¬±zW9$... .Ln¡Å.
00000208  AD BD CF F4 FB 65 A5 E5 B8 8F 7C 6B 64 68 76 89 A6 CD C8 83 AD AD AD AD AD AD  ½Ïôûe¥å¸.|kdhv‰¦Íȃ
00000222  AD B2 BF D7 F5 FC FE 91 CA ED E2 D9 CD D5 DF EE D6 A0 AD AD AD AD AD AD AD AD  ²¿×õüþ'ÊíâÙÍÕßîÖ 
0000023C  AD AD B2 BF D7 F3 F9 FD FF 96 A9 B5 C0 BB B4 97 AD AD AD AD AD AD AD AD AD AD  ²¿×óùýÿ–©µÀ»´—
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19

00000000  A4 A4 A4 A4 A4 A4 A9 A4 A4 A4 E1 E4 E6 E5 E2 E0 A4 A4 A9 A4 A4 A4 A4 A4 A4 A4  ¤¤¤¤¤¤©¤¤¤áäæåâत©¤¤¤¤¤¤¤
0000001A  A4 A4 A4 A4 A4 A4 A4 CD D7 D4 D6 D9 DC D9 D9 D5 C7 D1 A4 A9 A4 A4 A4 A4 A4 A4  ¤¤¤¤¤¤¤Í×ÔÖÙÜÙÙÕÇѤ©¤¤¤¤¤¤
00000034  A4 A4 A4 A4 A4 B7 C4 C8 CA BB A2 96 88 8D 9C B0 C3 C9 C7 BD A9 A4 A4 A4 A4 A4  ¤¤¤¤¤·ÄÈÊ»¢–ˆ.œ°ÃÉǽ©¤¤¤¤¤
0000004E  A4 A4 A4 A4 A5 B9 B4 A0 79 50 31 22 1E 20 28 43 6B 96 B3 BA AD A4 A4 A4 A4 A4  ¤¤¤¤¥¹´ yP1". (Ck–³º¤¤¤¤¤
00000068  A4 A4 A4 A4 A6 9D 7E 4D 20 0E 05 01 00 01 03 09 19 3F 6B 98 A7 99 A4 A4 A4 A4  ¤¤¤¤¦.~M ........?k˜§™¤¤¤¤
00000082  A4 A4 A4 92 8C 57 35 CC 4B 01 06 00 00 00 00 08 04 6C 6E 54 85 97 A4 A4 A4 A4  ¤¤¤'ŒW5ÌK........lnT…—¤¤¤¤
0000009C  A4 A4 7B 86 5E 35 77 FC F9 40 00 06 00 00 07 00 5F FB F7 3F 43 7F 80 A4 A4 A4  ¤¤{†^5wüù@......_û÷?C.€¤¤¤
000000B6  A4 A4 73 63 24 10 05 B1 FC F9 3E 00 06 07 00 5F FB FC 8E 0E 24 4F 7A A4 A4 A4  ¤¤sc$..±üù>...._ûüŽ.$Oz¤¤¤
000000D0  A4 A4 68 39 19 09 01 00 B5 FC F9 3E 00 00 5F FB FC 89 01 05 12 24 70 58 A4 A4  ¤¤h9....µüù>.._ûü‰...$pX¤¤
000000EA  A4 A4 5C 18 0D 04 00 00 00 B5 FC F9 3E 5F FB FC 89 00 00 01 08 14 44 52 A4 A4  ¤¤\......µüù>_ûü‰.....DR¤¤
00000104  A4 36 4E 09 06 01 00 00 00 00 BC FC F8 FB FC 89 00 00 00 01 04 08 25 46 A4 A4  ¤6N.......¼üøûü‰......%F¤¤
0000011E  A4 2D 37 01 01 00 00 00 00 07 00 E9 FC FC BF 00 06 00 00 00 00 01 1A 3B A4 A4  ¤-7........éüü¿........;¤¤
00000138  A4 2B 3C 04 04 01 00 00 07 00 5F FB FC FC F8 3E 00 06 00 00 02 03 1C 34 A4 A4  ¤+<......._ûüüø>.......4¤¤
00000152  A4 30 59 0C 09 03 00 07 00 5F FB FC 94 BC FC F9 3E 00 06 01 06 0B 33 3D A4 A4  ¤0Y......_ûü"¼üù>.....3=¤¤
0000016C  A4 DD 5B 26 10 07 01 00 5F FB FC 89 00 00 BC FC F9 40 00 05 0C 16 4E 41 A4 A4  ¤Ý[&...._ûü‰..¼üù@....NA¤¤
00000186  A4 EA 55 4F 1F 0F 05 60 FB FC 89 00 00 00 00 B5 FC F9 49 0A 1B 38 6D A4 A4 A4  ¤êUO...`ûü‰....µüùI..8m¤¤¤
000001A0  A4 EC 4A 84 42 21 51 FB FC 89 00 00 00 00 00 00 AE FC F7 29 2E 71 62 A4 A4 A4  ¤ìJ"B!Qûü‰......®ü÷).qb¤¤¤
000001BA  A4 EB F2 6F 8C 45 2A E3 90 01 00 00 00 00 00 01 02 B6 76 39 74 8B A4 A4 A4 A4  ¤ëòoŒE*ã.........¶v9t‹¤¤¤¤
000001D4  A4 DF F1 F4 95 87 57 2C 13 07 03 01 00 00 02 06 0F 23 4C 8C AC 67 A4 A4 A4 A4  ¤ßñô•‡W,.........#LŒ¬g¤¤¤¤
000001EE  A9 C6 ED F3 6A A3 A8 75 53 32 1F 16 11 13 1D 27 47 69 9B BE 7C A4 A4 A4 A4 A4  ©Æíój£¨uS2.....'Gi›¾|¤¤¤¤¤
00000208  A4 B7 C6 EF F6 61 9E DE AF 87 78 66 5D 64 72 83 9F C5 C1 7D A4 A4 A4 A4 A4 A4  ¤·ÆïöažÞ¯‡xf]drƒŸÅÁ}¤¤¤¤¤¤
00000222  A4 A9 B8 D0 F0 FA FE 8A C2 E7 DB D2 C5 CE D8 E8 CF 9A A4 A4 A4 A4 A4 A4 A4 A4  ¤©¸ÐðúþŠÂçÛÒÅÎØèÏš¤¤¤¤¤¤¤¤
0000023C  A4 A4 A9 B8 D0 EE F4 FD FF 8F A1 AB B9 B2 AA 91 A4 A4 A4 A4 A4 A4 A4 A4 A4 A4  ¤¤©¸Ðîôýÿ.¡«¹²ª'¤¤¤¤¤¤¤¤¤¤
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19

00000000  A0 A0 A0 A0 A0 A0 A5 A0 A0 A0 D8 DA DC DB D9 D7 A0 A0 A5 A0 A0 A0 A0 A0 A0 A0        ¥   ØÚÜÛÙ×  ¥       
0000001A  A0 A0 A0 A0 A0 A0 A0 C3 CE CB CD D0 D3 D0 D0 CC BD C7 A0 A5 A0 A0 A0 A0 A0 A0         ÃÎËÍÐÓÐÐÌ½Ç ¥      
00000034  A0 A0 A0 A0 A0 AF BA BE C0 B3 9E 92 88 8C 98 AB B9 BF BD B4 A5 A0 A0 A0 A0 A0       ¯º¾À³ž'ˆŒ˜«¹¿½´¥     
0000004E  A0 A0 A0 A0 A1 B1 AE 9C 79 57 3D 30 2B 2D 37 4C 6F 92 AD B2 A9 A0 A0 A0 A0 A0      ¡±®œyW=0+-7Lo'²©     
00000068  A0 A0 A0 A0 A2 99 7E 54 2D 19 11 0D 00 0D 0F 15 24 45 6F 94 A3 95 A0 A0 A0 A0      ¢™~T-.......$Eo"£•    
00000082  A0 A0 A0 8F 8B 69 C9 E4 DE DD DD DD DD DD DD DD DF E2 C2 5A 85 93 A0 A0 A0 A0     .‹iÉäÞÝÝÝÝÝÝÝßâÂZ…"    
0000009C  A0 A0 7B 86 64 3B EE F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 EC 2F 51 7F 80 A0 A0 A0    {†d;îøøøøøøøøøøøì/Q.€   
000000B6  A0 A0 75 67 33 22 EA F8 48 31 31 31 31 31 31 31 48 F8 E7 1A 33 56 7A A0 A0 A0    ug3"êøH1111111Høç.3Vz   
000000D0  A0 A0 6C 44 26 15 E5 F8 1D 12 00 00 00 00 00 12 1D F8 E5 11 1F 32 72 5E A0 A0    lD&.åø.........øå..2r^  
000000EA  A0 A0 62 25 19 10 E6 F8 1D 12 00 00 00 00 00 12 1D F8 E6 0D 14 21 4D 58 A0 A0    b%..æø.........øæ..!MX  
00000104  A0 41 55 15 12 0D E6 F8 1D 12 00 00 00 00 00 12 1D F8 E6 0D 10 14 34 4F A0 A0   AU...æø.........øæ...4O  
0000011E  A0 39 42 0D 0D 00 E6 F8 1D 12 00 00 00 00 00 12 1D F8 E6 00 00 0D 27 46 A0 A0   9B...æø.........øæ...'F  
00000138  A0 38 47 10 10 0D E6 F8 1D 12 00 00 00 00 00 12 1D F8 E6 00 0E 0F 29 40 A0 A0   8G...æø.........øæ...)@  
00000152  A0 3C 5F 18 15 0F E6 F8 1D 12 00 00 00 00 00 12 1D F8 E6 0D 12 17 3F 49 A0 A0   <_...æø.........øæ...?I  
0000016C  A0 D4 61 35 1C 13 E5 F8 1D 12 00 00 00 00 00 12 1D F8 E6 11 18 23 55 4A A0 A0   Ôa5..åø.........øæ..#UJ  
00000186  A0 E3 5B 56 2C 1B EA F8 1D 00 00 00 00 00 00 00 1D F8 E5 16 28 43 70 A0 A0 A0   ã[V,.êø.........øå.(Cp   
000001A0  A0 ED 52 84 4B 2E EB F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 E9 25 3A 73 66 A0 A0 A0   íR"K.ëøøøøøøøøøøøé%:sf   
000001BA  A0 E8 F6 71 8B 4E F1 F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 F8 F0 44 76 8A A0 A0 A0 A0   èöq‹NñøøøøøøøøøøøðDvŠ    
000001D4  A0 D6 F5 F9 91 87 5D 3A 20 13 0F 0D 00 00 0E 12 1B 32 53 8B A8 6B A0 A0 A0 A0   Öõù'‡]: ........2S‹¨k    
000001EE  A5 BC EF F7 6E 9F A4 77 59 3E 2C 23 1E 20 2A 36 50 6D 97 B5 7C A0 A0 A0 A0 A0  ¥¼ï÷nŸ¤wY>,#. *6Pm—µ|     
00000208  A0 AF BC F3 FB 65 9A D5 AA 87 78 6A 63 68 74 83 9B BB B7 7D A0 A0 A0 A0 A0 A0   ¯¼óûešÕª‡xjchtƒ›»·}      
00000222  A0 A5 B0 C6 F4 FC FE 89 B8 E0 D2 C8 BB C4 CF E1 C5 96 A0 A0 A0 A0 A0 A0 A0 A0   ¥°Æôüþ‰¸àÒÈ»ÄÏáÅ–        
0000023C  A0 A0 A5 B0 C6 F2 F9 FD FF 8D 9D A7 B1 AC A6 8E A0 A0 A0 A0 A0 A0 A0 A0 A0 A0    ¥°Æòùýÿ..§±¬¦Ž
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19

00000000  FF A6 A6 A6 A6 A6 AB A6 A6 A6 E5 E7 E9 E8 E6 E4 A6 A6 AB A6 A6 A6 A6 A6 A6 A6  ÿ¦¦¦¦¦«¦¦¦åçéèæä¦¦«¦¦¦¦¦¦¦
0000001A  FF A6 A6 A6 A6 A6 A6 CF DB D7 D9 DD E0 DD DD D8 CA D4 A6 AB A6 A6 A6 A6 A6 A6  ÿ¦¦¦¦¦¦ÏÛ×ÙÝàÝÝØÊÔ¦«¦¦¦¦¦¦
00000034  FF A6 A6 A6 A6 B5 C7 CB CC B9 A4 96 8B 8F 9D B2 C6 CC CA BC AB A6 A6 A6 A6 A6  ÿ¦¦¦¦µÇË̹¤–‹..²ÆÌʼ«¦¦¦¦¦
0000004E  FF A6 A6 A6 A7 B7 B4 A2 79 55 38 2D 81 24 31 49 6D 96 B4 B8 AF A6 A6 A6 A6 A6  ÿ¦¦¦§·´¢yU8-.$1Im–´¸¯¦¦¦¦¦
00000068  FF A6 A6 A6 A8 9E 80 51 24 0D 06 6F EF 22 04 0C 1C 41 6D 99 A9 9A A6 A6 A6 A6  ÿ¦¦¦¨ž€Q$..oï"...Am™©š¦¦¦¦
00000082  FF A6 A6 93 8E 67 3B 19 07 01 0F EA F0 B0 00 01 05 11 2C 58 88 97 A6 A6 A6 A6  ÿ¦¦"Žg;....êð°....,Xˆ—¦¦¦¦
0000009C  FF A6 7C 89 62 36 17 05 08 00 91 F0 F0 F0 47 00 00 03 0D 25 4E 82 84 A6 A6 A6  ÿ¦|‰b6....'ðððG....%N'"¦¦¦
000000B6  FF A6 74 65 36 13 06 01 00 28 F0 EE 75 F0 DA 08 00 00 04 11 21 54 7A A6 A6 A6  ÿ¦te6....(ðîuðÚ.....!Tz¦¦¦
000000D0  FF A6 6A 40 1D 0C 01 08 02 BF F0 6F 02 BF F0 60 00 00 01 06 17 27 71 5C A6 A6  ÿ¦j@.....¿ðo.¿ð`.....'q\¦¦
000000EA  FF A6 61 21 11 05 00 00 53 F0 DA 08 08 28 F0 EA 0F 00 00 01 0A 19 4A 56 A6 A6  ÿ¦a!....SðÚ..(ðê......JV¦¦
00000104  FF 3D 52 0C 07 01 00 0B E3 F0 47 00 00 00 98 F0 91 00 08 01 05 0D 2E 4C A6 A6  ÿ=R.....ãðG...˜ð'......L¦¦
0000011E  FF 34 3E 01 01 02 00 6F F0 B0 00 00 00 02 15 EE F0 28 00 00 00 01 1E 43 A6 A6  ÿ4>....oð°.....îð(.....C¦¦
00000138  FF 33 44 05 05 01 15 EE EF 22 08 00 00 00 00 6F F0 BF 02 08 03 04 20 3C A6 A6  ÿ3D....îï".....oð¿.... <¦¦
00000152  FF 37 5D 10 0C 04 9F F0 83 00 00 00 00 00 00 08 DA F0 47 01 07 0D 3A 46 A6 A6  ÿ7]...Ÿðƒ.......ÚðG...:F¦¦
0000016C  FF E1 5F 2F 14 42 F0 EE 32 22 22 22 22 22 22 22 6F F0 DA 0E 10 1B 52 48 A6 A6  ÿá_/.Bðî2"""""""oðÚ...RH¦¦
00000186  FF ED 59 5A 26 D1 F0 F0 F0 F0 F0 F0 F0 F0 F0 F0 F0 F0 F0 7B 1F 3F 6E A6 A6 A6  ÿíYZ&Ñððððððððððððð{.?n¦¦¦
000001A0  FF F1 4F 87 7E CD C4 BE BB BA BA BA BA BA BA BA BA BB C0 C1 45 72 64 A6 A6 A6  ÿñO‡~Íľ»ºººººººº»ÀÁErd¦¦¦
000001BA  FF ED F6 70 8E 4B 29 10 10 01 00 00 00 00 00 01 03 0C 1F 40 76 8D A6 A6 A6 A6  ÿíöpŽK)............@v.¦¦¦¦
000001D4  FF E1 F5 F8 95 8A 5B 35 18 09 04 01 00 00 03 07 13 2A 50 8E AE 69 A6 A6 A6 A6  ÿáõø•Š[5.........*PŽ®i¦¦¦¦
000001EE  FF C9 F1 F7 6C A5 AA 77 57 39 23 1B 16 18 21 30 4D 6B 9C BD 7D A6 A6 A6 A6 A6  ÿÉñ÷l¥ªwW9#...!0Mkœ½}¦¦¦¦¦
00000208  FF B5 C9 F3 FA 63 A0 E2 B1 8A 78 68 62 66 73 86 A1 C8 C3 7F A6 A6 A6 A6 A6 A6  ÿµÉóúc ⱊxhbfs†¡ÈÃ.¦¦¦¦¦¦
00000222  FF AB B6 D3 F4 FB FD 8C C5 EB DF D5 C8 D0 DC EC D2 9B A6 A6 A6 A6 A6 A6 A6 A6  ÿ«¶ÓôûýŒÅëßÕÈÐÜìÒ›¦¦¦¦¦¦¦¦
0000023C  FF A6 AB B6 D3 F2 F8 FC FE 90 A3 AD B7 B3 AC 92 A6 A6 A6 A6 A6 A6 A6 A6 A6 A6  ÿ¦«¶Óòøüþ.£·³¬'¦¦¦¦¦¦¦¦¦¦
 
Last edited:
Doing some searchs using GIMP, it seems it's indexed colors. So using an RVB (+ alpha?) palette. Hoping the palette is somewhere in the bin file.

Edit:
Made a custom raw RVB palette the circle button screenshot, then opened the glyph as raw using that palette and it shows:
8813ebd613af4ec7b1ff5328d73fe39d.png


So, ugly but it's because my palette is approximated, without alpha, wrong color or missing adresse...
If we find the palettes, we win.
And seeing there are different values for the full transparancy, per glyph means there are one palette per glyph...
 
Last edited:
Yep, i just found the palettes, for every one of the images i posted in my previous message there is a color palette (also compressed in zlib individually) in another table inside imagefont.bin

At top of every palette it tells the byte assigned to transparency, for the 4 images i posted, the palettes are using 0xAD, 0xA4, 0xA0, and 0xA6 respectivelly for transparent
This is the only byte i could identify from the palettes, i never dealed with image files like this, but i think is enought to say that are actually color palettes

The palettes are a bit weird, has like an small header (where the transparency value is indicated), and after that appears a list of values in increasing order (from 0x00 up to 0xFF but are not scaled preciselly), every value seems to be 0x4 lenght (im guessing are the colors in RGBA)

I will send you the files i cropped and decompressed so you can see it better
 
Last edited:
@Berion may want to weigh in but 8bpp with transparency usually follows this binary pattern AARRGGBB where AA is the alpha channel for transparency.
However I thought the hex code for full transparency was 00 for 0% opacity & FF for 100% opacity.
10% increments steps would go like this:
Code:
Hex codes for opacity:

100% — FF
90% — E6
80% — CC
70% — B3
60% — 99
50% — 80
40% — 66
30% — 4D
20% — 33
10% — 1A
0% — 00
Unless, like you said, this palette uses another binary pattern...
 
There are palettes, is verifyed, right now are identifyed 3 values from them
-the transparent byte
-pixel data offset
-pixel data lenght

The palettes works also as a "link" to tell the firmware where is located the pixel data inside imagefont.bin
The firmware loads the contents of imagefont.bin "from bottom to top" in this order:
1 - reads the index (at bottom of imagefont.bin), in the index is specifyed where are located the palettes
2 - reads the palettes (at middle of imagefont.bin), in the palettes is specifyed where is the pixel data
3 - reads the pixel data (at top of imagefont.bin)

*All "palettes" and "pixel data" chunks are compressed in zlib individually
 
I updated wiki page like 40 times today while looking at the structure in HxD and notepad++
If someone is interested in it, please take a calmly read (and compare in your PC with the files)
http://www.psdevwiki.com/ps3/XMB_Fonts#imagefont.bin

The section about the "palette" is new, and is specially interesting, this is where is stored the animation and frame info
Inside the "palette" there is a header (0x6 bytes), then a section for every frame (0xC bytes each), and then a list with the colors in the palette (as far i saw there are 256 colors, 4 bytes each)
@littlebalup is making good advances with that color palette, im sure he understand how colors works better than me at this point

In total there are 7 "unknowns" in the whole structure, but are isolated (the values stored in them doesnt seems to affect the structure), it can be said the overall "skelleton" of the file format structure is mapped, now is posible to make an script or an app to automatize the extraction or rebuilding even without knowing what is the purpose of the "unknowns" (in other words, we can deal with the unknowns like if there was knowns by using the values found in ofw)
From that 7 unknowns i think there are 2 or 3 that can be identifyed by looking at the palettes of other icons (i only was looking at a 5 files from the 300+ availables), in another 2 unknowns only was found the value zero used (so is imposible to identify them until we find some icons where are used, but maybe are not used anywhere, this ones could be easter eggs features, or stuff inherited from PSP that was not used in PS3), and another couple of unknowns that seems to use binary flags

Today we made a good step forward with this file format :)
 
Last edited:
Hmm... 256 colors, each using 4 bytes when only one byte is needed...?
If you are right, given the choice to use 32 bit (= 4 bytes), one would have expected a much larger color palette... What kind of info is stored in the 3 extra bytes?
 
Yes, understood the palette indexes and the colors.
Colors are 4 bytes. RGBA (1st byte for the red, 2nd for the blue, 3rd for the green and 4th for the alpha)
Palette color index starts at 0x12 in the palette file with the color number 0x00, color number 0x01 at 0x16, etc...
256 colors stored.
I'll try to make some understandable screens tonight.
 
Chat:
JRiwjDF.png


Buttons:
n4iPFQZ.png


Sony Logos:
hIel4tB.png


System Icons:
Eyo266S.png


Smileys:
Yx1Y730.png


Hand Signs:
wqzFTVQ.png


Transport:
oNSow6H.png


Plants:
rX9oWaS.png


Food:
7DGfdpx.png


Vegetables and Fruit:
cDB0m5r.png


Sweets:
Ake3mxa.png


Games/Sports:
Hy12xC6.png


Phones/Clocks/PCs etc:
IYveERK.png


Tools/Audio etc:
zrH8Yy5.png


Instruments/Bags/Shoes/Buildings etc:
PkC37de.png


Animals:
9QE54h7.png


Arrows:
LL90vmd.png


Star Signs:
etBY2JO.png


That is all of them afaik. :)

Here they are all displayed on the epilepsy warning.
tLfQqOo.png


Here is a link to all screenshots and a txt file with them all included for any one interested. The layout in the text file is exactly the same as the screenshots.

DOWNLOAD

EDIT: after having another look, seems I am missing a couple. I have 330, there should be 332. dam..
 
Last edited:
Successfully converted pixels and palette data to a readable targa file :)
It's pretty easy in fact. Just need to create a proper targa header, swap some color bytes in the palette (targa palette colors are BGRA), keep the pixels data as is, then combine all together in a single file.
See attached preview and samples. Now I'll have a look to the animated pics.

Capture.PNG
 

Attachments

Successfully converted pixels and palette data to a readable targa file :)
It's pretty easy in fact. Just need to create a proper targa header, swap some color bytes in the palette (targa palette colors are BGRA), keep the pixels data as is, then combine all together in a single file.
See attached preview and samples. Now I'll have a look to the animated pics.

View attachment 9313

You dont hang around, Great work! :)
 
Nice collection DeViL303, there are a lot :) this is going to take me some time to upload to wiki (the .txt file you made comes in handy to copypaste the "tofu" to the new tables btw), i will do in the next days at some point, gime me time

At this point im done with the structure i think, all i know about it is written in the wiki page, maybe i will edit it a bit more today to clean it up or reorder it but im in a pause

@littlebalup now you are going to take a look at the animations try to see if you can identify some of the 7 "unkown" values left from the structure, take a fast look at wiki page, are marked in red (to boost the interest on purpose, hehhehe, this is what i use to call a "dev bait" as a wiki internal joke)
Good work with the pixel conversion, and good point about the targa format, i dont know targa but i can tell sony uses targa format for the original images inside RCO files (before are converted to GIM... orignally are targa in the firmware compilation enviroment), i know because the orignal name (with .tga file extension) can be seen at the footer of some GIM files

So is probable that the images from imagefont.bin was originally targa, and in the process of creation of imagefont.bin the header was removed, then the channels order of the palette was swapped, etc... as you explained
It comes in handy for any kind of custom rebuilder, to deal with the custom images is better to use .tga this way the conversion to imagefont.bin format is direct (no quality loss because the pixel info will remain intact)
 
Last edited:
I have realised I am missing 2. :( Not looking forward to going through them all again to find them.

Anyway, This is all great, I think the first thing to do once we can is add a PS2 logo (if its not one of the ones I missed), should be easy enough to use the PSP logo as a base, and then use the top half of the "P" to make the "2" by copying it and rotating it.
 

Similar threads

Back
Top