PlayView: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(added a link to the only known, working extractor for Playview)
 
(86 intermediate revisions by 9 users not shown)
Line 7: Line 7:
<div style="float:right">[[File:8tnu0100000fayu8.jpg|200px|thumb|left| Game used to advertise PlayView]]</div>
<div style="float:right">[[File:8tnu0100000fayu8.jpg|200px|thumb|left| Game used to advertise PlayView]]</div>


PlayView can be described as guide book for games. Using "ultra- high resolution (4K) digital data", PSP or PS3 will display the images with no effort. It can be compatible 3D and PS Move+EYE Camera on PS3 and can include possible extra content(themes, DLC).
Using "ultra- high resolution (4K) digital data", PSP or PS3 will display the images smoothly. It can be compatible 3D and PS Move (At CEDEC 2010, Teiji Yutaka demonstrated PlayView using the PlayStation Move controller in real time to increase and reduce the size of a still image of a park consisting of over 3 billion pixels) +EYE Camera on PS3 and can packed with other extra content(themes, DLC).


Most of the time, each full screen page display is equivalent to 2 paper pages of an art book/game manual but other display have been release (Gran Tourismo PlayView: long highway road, with zoom you reach other visual content). Specific background music or sound
Most of the time, each full screen page display is equivalent to 2 paper pages of an art book/game manual but other display have been release (Gran Turismo PlayView: long highway road, with zoom you reach other visual content).  
and videos per page can be apply.


There are various kind of content, but it can be distinguish as for PS3 or PSP (Some games titles are present in both category). However, it work on the same way (with specific encryption/security, resolution/more sub element such sound channel etc...)
Specific background music or sound and videos per page can be apply.


PS3 games can contain and embebed Playview (e.g. the "wizard book" inside "Ni No Kuni" uses a custom game module named '''libTGV_v1.45.07.sprx''')
There are various kind of content (guide book, sexy content, stand alone games) for PS3 and PSP (Some games titles are present in both category). However, it work on the same way (with specific encryption/security, resolution/more sub element such sound channel etc...)


Playview might required FW 6.39 or so, and PS3 FW around 3.70.
PS3 games can contain embebed Playview (e.g. the "wizard book" inside "Ni No Kuni" uses a custom game module named '''libTGV_v1.45.07.sprx''')
 
Title ID: Japan: PS3: NPJB60*** & NPJA60*** , for PSP: NPJH60***. Others: "4K gallery": NPEB01397)
 
Playview might requires PSP FW 6.39 or so, and PS3 FW min around 3.70.


Few full free content for PS3 & PSP are available online.
Few full free content for PS3 & PSP are available online.
Line 22: Line 25:
Transfer from PSP PlayView to PS VITA is possible for some PlayView titles (export PS3 to PSP also is possible but as not bootable, transfer with UMD passport?).
Transfer from PSP PlayView to PS VITA is possible for some PlayView titles (export PS3 to PSP also is possible but as not bootable, transfer with UMD passport?).


PSP/PS3 Digital comic/strategy/guide/manual are not PlayView, see below.
PSP/PS3 Digital comic/strategy/guide/manual are not PlayView.


Codename of playview is '''TGV''' (Tiny Gigantic Viewer) and his derivates with an added or removed letter (TG, GV, etc...)
Codename of playview is '''TGV''' (Tiny Gigantic Viewer) and the derivates with an added or removed letter (TG, GV, etc...)


*Demo on PS3 (in English) : http://www.youtube.com/watch?v=5LIdPOZGoDE
*Demo on PS3 (in English) : http://www.youtube.com/watch?v=5LIdPOZGoDE
Line 30: Line 33:
*Game on PS3 (Atelier Totori) : http://www.youtube.com/watch?v=HITguIxAPQ0
*Game on PS3 (Atelier Totori) : http://www.youtube.com/watch?v=HITguIxAPQ0


*[http://search.jp.playstation.com/search?site=FIZ02WOB&design=2&group=1&charset=UTF-8&period1=0&period3=0&genre=0&option=13&optionCond=0&count=100 Game list in Japan for PS3,PSP&PS VITA]
*Game on PS3 (Gran Turismo):  http://www.youtube.com/watch?v=wZhY3COwhhA
 
* Game list in Japan for PS3,PSP&PS VITA : [http://search.jp.playstation.com/search?site=FIZ02WOB&design=2&group=1&charset=UTF-8&period1=0&period3=0&genre=0&option=13&optionCond=0&count=100] / [https://store.sonyentertainmentnetwork.com/#!/ja-jp/playview/cid=PN.CH.JP-PN.CH.MIXED.JP-PLAYVIEWCONTENTS]


===example structure PSP(/PS3)===
* 4K Gallery
EP4288-NPEB01397_00-4KGALLERY0000100 (1674.87 MB (1756225856 Bytes)
http://zeus.dl.playstation.net/cdn/EP4288/NPEB01397_00/NYCWHljxcSEpyxJAanqFEkWdeKPvAMAzSccWyivNVxZAoLqqxzODqNytbXCTkbhD.pkg
 
EP4288-NPEB01397_00-4KGALLERY0000100.rap
DA71FD8E03A13E3F254CD7478618AF66
 
dev_klic: 01811B5625EEF31A916E081FE38AC38E
 
=== example file name PS3 ===
 
*content.dat.edat: XML structure (link, selector, zoom, BGM music setting...)
*page01.gvd : tiles images for one page
*page02.gvd
...
*se.dat : sound effects
*title01.mp3 : BGM music
*title02.mp3
*tgv.cfg : file configuration of PlayView (optional, open with notepad++ or as text on linux)
*ui.dat.edat : boot screen, user interface images & setting related
 
=== example structure PSP/PS3 ===


<div style="float:right">[[File:Playview layers.jpg|200px|thumb|left| PlayView image layers for 1 page]]</div>
<div style="float:right">[[File:Playview layers.jpg|200px|thumb|left| PlayView image layers for 1 page]]</div>
Line 50: Line 76:
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! style="background-color:#02CDC7; color:#FFFFFF;" |  || style="background-color:#02CDC7; color:#FFFFFF;" |Level Layer visual || style="background-color:#02CDC7; color:#FFFFFF;" |Atelier Meruru Guide Book <!--//Meruru no Atelier Arland no Renkinjutsushi 3 Hatsutaiken Guide Book //--> : Number Image|| style="background-color:#02CDC7; color:#FFFFFF;" | Note || style="background-color:#02CDC7; color:#FFFFFF;" | Grid (WxH) || style="background-color:#02CDC7; color:#FFFFFF;" |Other example: Atelier Totori Plus(PSP&PS3) or Atelier Meruru Plus <!--//Atelier Totori Plus Official PlayView or Meruru no Atelier Plus: Arland no Renkinjutsushi 3 - Official PlayView (PSP&PS3)//-->|| style="background-color:#02CDC7; color:#FFFFFF;" |Other example: Atelier Ayesha Guide Book<!--//Ayesha no Atelier Tasogare no Daichi no Renkinjutsushi Hatsutaiken Guide Book//-->
! |  || Level Layer visual || Atelier Meruru Guide Book <!--//Meruru no Atelier Arland no Renkinjutsushi 3 Hatsutaiken Guide Book //-->: Number Image || Note || Grid (WxH) || Other example:<br />Atelier Totori Plus (PSP&PS3){{or}} Atelier Meruru Plus <!--//Atelier Totori Plus Official PlayView or Meruru no Atelier Plus: Arland no Renkinjutsushi 3 - Official PlayView (PSP&PS3)//--> || Other example:<br />Atelier Ayesha Guide Book<!--//Ayesha no Atelier Tasogare no Daichi no Renkinjutsushi Hatsutaiken Guide Book//-->
|-
|-
|rowspan="7" | Zoom in  ∇
|rowspan="7" | Zoom in  ∇
|-
|-
| 0 ||  1(sum: 180x101)  || (180x101) "thumbnail" when slide || 1x1 || 1 image (240x135) || 1 (200x112)
| 0 ||  1(sum:&nbsp;180x101)  || (180x101) "thumbnail" when slide || 1x1 || 1&nbsp;image&nbsp;(240x135) || 1&nbsp;(200x112)
|-
|-
| 1 ||  2(sum: 360x202)  || Left: 256x202 Right: 104x202 || 2x1 || 4 images (480x270) || 2 (400x225)
| 1 ||  2(sum:&nbsp;360x202)  || Left: 256x202 Right:&nbsp;104x202 || 2x1 || 4&nbsp;images&nbsp;(480x270) || 2&nbsp;(400x225)
|-
|-
| 2 ||  6(sum: 720x405)  || ||  3x2 || 12 images (960x540) || 8 (800x450)
| 2 ||  6(sum:&nbsp;720x405)  || ||  3x2 || 12&nbsp;images&nbsp;(960x540) || 8&nbsp;(800x450)
|-
|-
| 3 ||  24(sum: 1440x810) || ||  6x4 || 40 images (1920x1080) || 28 (1600x900)
| 3 ||  24(sum:&nbsp;1440x810) || ||  6x4 || 40&nbsp;images&nbsp;(1920x1080) || 28&nbsp;(1600x900)
|-
|-
| 4 ||  84(sum: 2880x1620)|| || 12x7 || 135 images (3840x2160) || 104 (3200x1800)
| 4 ||  84(sum:&nbsp;2880x1620)|| || 12x7 || 135&nbsp;images&nbsp;(3840x2160) || 104&nbsp;(3200x1800)
|-
|-
| 5 || 299(sum: 5760x3240)|| Max_Zoom, the "deepest" into the page || 23x13 || no || 375 (6400x3600)
| 5 || 299(sum:&nbsp;5760x3240)|| Max_Zoom, the&nbsp;"deepest"&nbsp;into&nbsp;the&nbsp;page || 23x13 || no || 375&nbsp;(6400x3600)
|-
|-
|}
|}


*Level Layer order are reversed (layer 0 being the max_zoom) on the file who contain the image: gvd.dat.edat file (see DATA BASE Viewer) and effect as double page flip are defined into the content.dat.edat (second part contan the structure XML) .
*Level Layer order are reversed (layer 0 being the max_zoom) in the begin of the file which contains the image: gvd.dat.edat (see DATA BASE Viewer) and effects as double page flip are defined into the content.dat.edat (second part contains the structures XML).
 
*Not all pages need to have the same resolution.
 
*Max resolution seen (PS3): 7680x4320


==Game Data==
==Game Data==
Line 76: Line 106:
However, PlayView version "1.00" and "1.01" difference are cosmetic order (or divided file on some PS3 title) until content.dat.edat XML structure (to be picky) and PlayView setting  (format +warning/logo/user interface screen...).
However, PlayView version "1.00" and "1.01" difference are cosmetic order (or divided file on some PS3 title) until content.dat.edat XML structure (to be picky) and PlayView setting  (format +warning/logo/user interface screen...).


:<small>*Tgvtools-v0.81 (FW 3.70.001) and v.1.10 (FW 410.001)</small>
:<small>*Tgvtools-v0.81xx / 4416 (FW 3.70.001), v.1.10xx / 5450 (FW 410.001), v.1.11xx / 5906 (FW 430.001) v1.50xx (Local build) / 5890 (FW 430.001)</small>
:<small>*Ni No Kuni internal PlayVew book use Tgvtools-v0.81 (FW 3.70.001)</small>
:<small>*Ni No Kuni internal PlayView book use Tgvtools-v0.81 (FW 3.70.001)</small>


See note for JPG extractor tool.
See note for JPG extractor tool.
Line 117: Line 147:
| 0010 || 4 || Offset file name.gvd (without header TGDT0100)
| 0010 || 4 || Offset file name.gvd (without header TGDT0100)
|-
|-
| 0014 || 4 || Length file name.gvd (00 is not counted)
| 0014 || 4 || Length file name.gvd (0x00 is not counted)
|-
|-
| 0018 || 4 || Offset Data Base Viewer
| 0018 || 4 || Offset Data Base Viewer
Line 128: Line 158:
|-
|-
|}
|}


====Image ID.gvd:====
====Image ID.gvd:====
Line 152: Line 181:
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! style="background-color:#010ADA; color:#FFFFFF;" |Offset || style="background-color:#010ADA; color:#FFFFFF;" |Length || style="background-color:#010ADA; color:#FFFFFF;" |Value || style="background-color:#010ADA; color:#FFFFFF;" |Note
! style="background-color:#010ADA; color:#FFFFFF;" | Offset || style="background-color:#010ADA; color:#FFFFFF;" | Length (Hex) || style="background-color:#010ADA; color:#FFFFFF;" | Value || style="background-color:#010ADA; color:#FFFFFF;" | Note
|-
|colspan="5" style="text-align:center; background-color:#FFFFFF;" |
|-
|colspan="5" style="text-align:center; background-color:#ADAADA;" | '''GVD Header (Page)'''
|-
|-
| 0000 || 10|| 47 56 45 57 30 31 30 30 4A 50 45 47 30 31 30 30 ||"GVEW0100JPEG0100"
| 0000 || 10|| 47 56 45 57 30 31 30 30 4A 50 45 47 30 31 30 30 || "GVEW0100JPEG0100"
|-
|-
| 0010 || 4 || 00 00 xx xx || Length Width (hex) total layer 0 (variable per game)
| 0010 || 4 || 00 00 XX XX || Source Image Width (Hex)
|-
|-
| 0014 || 4 || 00 00 xx xx || Length Height (hex) total layer 0 (variable per game)
| 0014 || 4 || 00 00 XX XX || Source Image Height (Hex)
|-
|-
| 0018 || 4 || 42 4C 4B 5F ||"BLK_"
| 0018 || 4 || 42 4C 4B 5F || "BLK_"
|-
|-
| 001C || 4 || 00 00 xx xx|| Length Data Base (variable per game structure)
| 001C || 4 || 00 00 XX XX || Length of Database (Hex) (№ of entries*0x20) + 0x08
|-
|-
| 0020 || 8 || 00 00 00 01 00 00 00 00 || Similar
| 0020 || 8 || 00 00 00 01 00 00 00 00 || Static Value
|-
|-
|colspan="5" style="text-align:center; background-color:#ADAADA;" |Data Base
|colspan="5" style="text-align:center; background-color:#ADAADA;" | '''Database'''
|-
|-
| 0028 || 4 || 00 00 00 20 || Apps/machine code?  
| 0028 || 4 || 00 00 00 20 || Apps/machine code?  
Line 172: Line 205:
| 002C || 4 || 00 00 00 04 || Apps/machine code?
| 002C || 4 || 00 00 00 04 || Apps/machine code?
|-
|-
| 0030 || 4 || 00 00 00 xx || Grid position Width  (hex): as horizontal line, left to right.
|colspan="5" style="text-align:center; background-color:#ADAADA;" | '''Database Entry'''
|-
| 0030 || 4 || 00 00 00 XX || Horizontal position on grid from left to right (Hex)
|-
|-
| 0034 || 4 || 00 00 00 xx || Grid position Height (hex): next position after each horizontal line.
| 0034 || 4 || 00 00 00 XX || Vertical position on grid from top to bottom (Hex)  
|-
|-
| 0038 || 4 || 00 00 00 0x || Layer level: layer 0 (max zoom) appear first.
| 0038 || 4 || 00 00 00 0X || Layer level
|-
|-
| 003C || 4 || 00 00 xx xx || Length of the image (hex)
| 003C || 4 || 00 00 XX XX || Length of the image (Hex)
|-
|-
| 0040 || 4 || 00 00 00 xx || Length padding of the image (hex)
| 0040 || 4 || 00 00 00 XX || Length padding of the image (Hex)
|-
|-
| 0044 || 4 || 00 00 00 00 || Not used?
| 0044 || 4 || 00 00 00 00 || Not used?
|-
|-
| 0048 || 4 || 00 00 0x xx || Width image  (hex)
| 0048 || 4 || 00 00 0X XX || Width image  (Hex)
|-
|-
| 004C || 4 || 00 00 0x xx || Height image (hex)
| 004C || 4 || 00 00 0X XX || Height image (Hex)
|-
|-
| 0050 || ... || ... || Repeat last 0x20 for each image on the page
| 0050 || 20 || ... || Repeat for each entry
|-
|-
|colspan="5" style="text-align:center; background-color:#ADAADA;" |Data Base
|colspan="5" style="text-align:center; background-color:#ADADAD;" | ''End of Database Entry''
|-
|-
| XXXX || 4  || 42 4C 4B 5F|| "BLK_"
|colspan="5" style="text-align:center; background-color:#FFFFFF;" |
|-
|-
| XXXX || 4  || xx xx xx xx || Total length embedded images (with FF padding)
|colspan="5" style="text-align:center; background-color:#ADADAD;" | ''End of Database''
|-
|-
| XXXX || 8 || 00 00 00 02 00 00 00 00 || Similar
| XXXX || 4 || 42 4C 4B 5F || "BLK_"
|-
|-
| XXXX || xx || FF D8 ...|| First JPEG (first from level layer on file 0, top left to right)
| XXXX || || XX XX XX XX || Length of all embedded images including pad (Hex)  
|-
|-
| XXXX || xx || || Padding with FF (16 bytes alignment<!--//not mandatory//-->)
| XXXX || || 00 00 00 02 00 00 00 00 || Static Value
|-
|-
| XXXX || xx || || Second JPEG  until last image for the page. Start either next name file.gvd/data base viewer
|colspan="5" style="text-align:center; background-color:#ADADAD;" | ''End of GVD Header''
|-
|-
| XXXX || xx || xx xx || Padding with 00 for alignment if next is data base viewer
|colspan="5" style="text-align:center; background-color:#FFFFFF;" |
|-
|colspan="5" style="text-align:center; background-color:#ADAADA;" | '''Grid Image Data'''
|-
| XXXX || ... || FF D8 ... || JPEG data (Starting from layer 0, left to right, top to bottom)
|-
| XXXX || ... || ... || FF pad if grid image, 00 pad if next is data base viewer (16 byte alignment)
|-
| XXXX || ... || ... || Repeat for each grid image (Start either next name file.gvd/data base viewer)
|-
|colspan="5" style="text-align:center; background-color:#ADADAD;" | ''End of Grid Image Data''
|-
|-
|}
|}
Line 210: Line 255:
=====Images JPG=====
=====Images JPG=====
Embedded image (JPEG JFIF) per page.
Embedded image (JPEG JFIF) per page.
<!--// this will be needed here)
 
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 242: Line 287:
|-
|-
|}
|}
//-->
 
The second page start.
The second page start (new Playview version: 1.gvd file= 1 page).




===content.dat(.edat):===
===content.dat(.edat):===
The file contain the XML structure to transport elements such video, music background etc...
The file contains a file list, and XML files giving the structure to transport elements such video, music background etc...
(thiis file format can vary up to PlayView version)


*First part header:
*First part header:
Line 261: Line 307:
| 000C || 4 || Total Length first part/start second part
| 000C || 4 || Total Length first part/start second part
|-
|-
| 0010 || 4 || Offset (without header)
| 0010 || 4 || Offset (without header) on file list
|-
|-
| 0014 || 4 || Length
| 0014 || 4 || Length filename (without 0x00)
|-
|-
| 0018 || 4 || Offset  
| 0018 || 4 || Offset (without this header) of the file (XML)
|-
|-
| 001C || 4 || Length
| 001C || 4 || Length file (XML) without 0x00
|-
|-
| 0020 || xx|| Repeat last 0x10
| 0020 || xx|| Repeat last 0x10
|-
|-
|}
|}
Then come the file list


*Second part XML:
*Second part XML:
 
{{Boxcode|float=left|width=auto|height=600px|title=On 1.01|code=<syntaxhighlight lang="xml">
On 1.01:
<!--contain all the name file.gvd as XML in order of file appearance-->
<div style="height:800px; width:730px; overflow:auto">
content.flst page00.xml page01.xml page02.xml ...page09.xml
 
{{Boxcode|content=<syntaxhighlight lang="xml">
content.flst page00.xml page01.xml page02.xml ...page09.xml <!--contain all the name file.gvd as XML in order of file appearance-->
0A<?xml version="1.0" encoding="utf-8"?>
0A<?xml version="1.0" encoding="utf-8"?>
<gigantic_image_content version="1.0">
<gigantic_image_content version="1.0">
     <image_files>
     <image_files>
         <archive source="gvd.dat">
         <archive source="gvd.dat">
             <image width="3840" height="2160" id="i0001" source="page00.gvd" tile_type="normal"/> <!--See other example structure for W & H-->
<!--See other example structure for W & H and Other tile_type as Multiplane and Stereoscopy?-->
             <image width="3840" height="2160" id="i0001" source="page00.gvd" tile_type="normal"/>  
             <image width="3840" height="2160" id="i0002" source="page01.gvd" tile_type="normal"/>
             <image width="3840" height="2160" id="i0002" source="page01.gvd" tile_type="normal"/>
             <image width="3840" height="2160" id="i0003" source="page02.gvd" tile_type="normal"/>
             <image width="3840" height="2160" id="i0003" source="page02.gvd" tile_type="normal"/>
                   ...
                   ...
             <image width="3840" height="2160" id="i0010" source="page09.gvd" tile_type="normal"/> <!--until the last : here there are 10 pages-->
             <image width="3840" height="2160" id="i0010" source="page09.gvd" tile_type="normal"/>  
         </archive>
         </archive>
     </image_files>
     </image_files>
Line 310: Line 356:
     </home>
     </home>


<!--Limit of the values (ZOOM IN:limited by the images). Here you can adjust/unlock the level of max_zoom -->
<!--Limit of the values (ZOOM IN:limited by the images). Here you can adjust/unlock/lock the level of max/min_zoom (between 1 to 0 ∞)-->
     <limit>
     <limit>
         <boundary offset_x="0.000000" max_overshoot="0.000000" offset_y="0.000000" scale="1.000000"  
         <boundary offset_x="0.000000" max_overshoot="0.000000" offset_y="0.000000" scale="1.000000"  
Line 316: Line 362:
     </limit>
     </limit>


<!--Links to other pages. Here you create 2 links, enter by selector-->
<!--Links to other pages. Here you create 2 links, enter by selector (ID_YYYYMMDDHHMMSSSSS
for internal use/(not checked on file attribute or only if file list XML don t load properly?)-->
     <link width="3840.000000" crossfade_range="1.000000" target="page01.xml" center_x="1920.000000"  
     <link width="3840.000000" crossfade_range="1.000000" target="page01.xml" center_x="1920.000000"  
center_y="1080.000000" height="2160.000000" separate="true" id="ID_YYYYMMDDHHMMSS001" name="[l]link(1)">
center_y="1080.000000" height="2160.000000" separate="true" id="ID_YYYYMMDDHHMMSSSSS" name="[l]link(1)">
         <boundary offset_x="0.000000" max_overshoot="0.500000" offset_y="0.000000" scale="1.000000"  
         <boundary offset_x="0.000000" max_overshoot="0.500000" offset_y="0.000000" scale="1.000000"  
max_zoom="INF" action="enable" max_invisibility="INF" min_zoom="0.500000" max_stretch="INF"/>
max_zoom="INF" action="enable" max_invisibility="INF" min_zoom="0.500000" max_stretch="INF"/>
Line 348: Line 395:
...
...


</syntaxhighlight>}}
</syntaxhighlight>}}{{clear}}
</div>
 
===Note===
===Note===


*Image: JPEG (...)<!--//Not really specific. here for setting/tools/tips etc..,Images JPG for marker only//-->
*Image: JPEG (not progressive)


*Video:
*Video:
Line 377: Line 424:
| Audio Channels      || Stereo  || Stereo
| Audio Channels      || Stereo  || Stereo
|-
|-
| Specific markers     ||        ||  
| Specific tags     ||        ||  
|-
|-
|}
|}
   
   
::<small>*no auto scale on PSP? (fw 6.60 videos utility is more picky than fw 6.39)</small>
::<small>*no auto scale on PSP? (fw 6.60 videos utility is more picky than fw 6.39)</small>
::<small>*not all PlayView on PS3 & PSP contains videos, 3D content video and stereo 3D are supported.</small>
::<small>*not all PlayView on PS3 & PSP contains videos (3D content video and stereo 3D are supported).</small>
 
 
*Music: Used on background, for each page or when linked/zoomed. MP3 format (128 KBPS but any shoud do)


*text: (sys_ressource.dat) with embedded .xml & [[XMB Fonts|fonts]] (.ttf) for string (align, coord x & y, size and colors)


*Sound: (only se.dat?)
*Sound Effects: se.dat (packed .vag) assigned for (seen on build v1.50):
 
<pre>
upper_column
lower_column
left_column
right_column
help_open
help_close
cursor_appear
cursor_move
cursor_error
cursor_cancel
decide
cancel
start_movie
stop_movie
help_movie
enter_movie_mode
enter_movie_mode_playing
leave_movie_mode
zoom_in
zoom_out
return_to_main
out_of_range
ready_to_zoom
ready_to_play
error
zoom_in_negative
zoom_out_negative
cant_return_to_main
notice_big
notice_normal
left_flip
right_flip
store_ready
help_move_right
help_move_left
go_to_store
back_from_store
web_browser_ready
web_browser_open
web_browser_close
left_flip_4k
right_flip_4k
</pre>


Some PS3/PSP PLayview can have specific sound assigned to actions such cancel.


{| class="wikitable sortable"
{| class="wikitable sortable"
Line 397: Line 492:
| style="background-color:#123ADA; color:#FFFFFF;" |'''Remark'''
| style="background-color:#123ADA; color:#FFFFFF;" |'''Remark'''
|-
|-
| Magic      || 0x00 || 0x06 || 53 47 58 44 50 01 || "SGXDP"
| Magic      || 0x00 || 0x06 || 53 47 58 44 50 01 or 53 47 58 44 81 41 || "SGXDP" or "SGXD.A"
|-
|-
| Header size || 0x06 || 0x04 || 00 00 60 01 ||
| Header size || 0x06 || 0x04 || 00 00 60 01 || 0x160
|-
|-
| Body size  || 0x0A || 0x8 || N.A ||
| Body size  || 0x0A || 0x8 || N.A ||
Line 405: Line 500:
|}
|}
   
   
 
*Dev_Klicense is located (always?) in between the title ID (+0x00 NULL finished) and the TGV_BUILD_INFO.
*Music: Used on background, for each page or when linked/zoomed. MP3 format (128 KBPS)


*PSP EDAT files (videos & sound also): see tool on main page for decrypt.
*PSP EDAT files (videos & sound also): see tool on main page for decrypt.


*Tiles (normal) also as [http://en.wikipedia.org/wiki/Multiplane_camera Multiplane] and [http://en.wikipedia.org/wiki/Stereoscopy Stereoscopy]?
*Tiles_type (.xml on content.dat) also as [http://en.wikipedia.org/wiki/Multiplane_camera Multiplane] and [http://en.wikipedia.org/wiki/Stereoscopy Stereoscopy] or 3D PlayView (with an header for .gvd as GV3D0100GVMP0100)?


*Web Brower link in-game for PS3 PlayView?
*Web Brower link in-game for PS3 PlayView?
*This tiny tool can extract embedded .JPG (some gvd.dat can have more than 10 000 images), heavily based on an [https://anonfiles.com/file/c70ac8535cc097ca13541e00261f8952 MPO splitter by Christian Steinruecken.]
http://rghost.net/48813321 (include Code-Compile-Credit. Drag and drop your file with embedded .JPG)


==PlayView Config==
==PlayView Config==


PlayView apps itself can be configured per game/machine. Indeed one aspect of this Tiny Gigantic Viewer being authoring, it need to be quick and easy to port (...) the game data but also the apps to fit into different content/machine/user.
Following Config PSP & PS3 and config User Interface description are not complete and don t necessary complete each other (and up to PlayView core version and title).
 
Following Config PSP & PS3 and config User Interface description are not necessary complete and don t necessary complete each other.


===Config PSP & PS3: tgv.cfg===
===Config PSP & PS3: tgv.cfg===


This file can be in different format up to the title.
This file might be in different format up to the title version (some settings might only work with specific plateforms/flags & PlayView core version or TV.


Allow different settings for the title such background color.
Allow different settings for the title such background color.


This table is not complete.
This table might not be complete.


{| class="wikitable sortable"
{| class="wikitable sortable"
Line 443: Line 531:
PSP default: 0.01
PSP default: 0.01
||
||
Percentage of margin to secure around the selection frame
|-
|-
|key_repeat_delay || range: [0.0, 1.0]
|key_repeat_delay || range: [0.0, 1.0]
Line 456: Line 545:
||
||
|-
|-
|clear_color_normal || e.g. default: 0xffffffff || RGBX color outside the viewer: background color
|clear_color_normal || e.g. default: 0xffffffff || RGBX color outside the viewer (can be display by setting limit min_zoom) : background color
|-
|-
|clear_color_dialog || e.g. default: 0x00000000 || RGBX color
|clear_color_dialog || e.g. default: 0x00000000 || RGBX color
Line 541: Line 630:
|bg_image_off || default: 0 || Hide background image (when slide)
|bg_image_off || default: 0 || Hide background image (when slide)
|-
|-
|default_language_psp ||PSP only default: 0 || Language for home button (quit game): See [[Content_Information_Files#Languages | Languages]] up to the ones available on PSP
|default_language_psp ||PSP only default: 0 || Language for home button (quit game):  
 
See [[Content_Information_Files#Languages | Languages]] up to the ones available on PSP
|-
|start_button || 0 || Function assignment of the start button
 
0 : Back to top ("return_to_main" sound assignement)
 
1 : 2D/3D switching
|-
|web_browser || 1 ||Mode of a Web browser:
 
0: Web browser invalid (PSP default)
 
1: Web component mode (PS3 default window display)
 
2: Web browser mode (full screen display)
|-
|video_default_zoom || ||
|-
|enable_tiling_4k_output || Default: 0 ||enable 4K display function:
 
0: OFF, 1: ON
|-
|force_tiling_4k_output_available || ||
|-
|use_rgb_for_tiling_4k_output || ||
|-
|tiling_4k_preload_policy || ||
|-
|enable_fullscreen_on_4k_tv || ||
|-
|force_auto_4k || ||
|-
|override_page_transition_pattern || Default: 0 ||force the pattern of page transition:
 
0: follow the specification of the content
 
1: double_page_flip. Effects such as page turning
 
2: stack_from_left. Picture overlapping like a picture-story show goes in and out to the left
 
3: stack_from_right. Picture overlapping as picture cards to enter and exit to the right
 
4: slide. The new incoming image slides at the same time went out image that is currently displayed slide.
 
|-
|background_image_file ||  background_image_file = background.jpg || Specify the file name to be used as a background image.
 
(JPEG, .jpg, and PNG, .png, are available)
 
Only the background color is used if you do not specify.
|-
|background_image_layout || Default: 0 || Arrangement method when using the background image
 
0 :
 
1 :
 
2 :
|-
|-
|}
|}


===Config User Interface: ui===
===Config User Interface: ui.dat (edat)===


This file can be in different format/name up to the title version.
This file can be in different format/name up to the title version.


Can be divide into 3 part:
Can be divided into 2 part:


*First part:
*First part:
Line 559: Line 707:
| 0000 || 8 || "TGDT0100"  
| 0000 || 8 || "TGDT0100"  
|-
|-
| 0008 || 4 || Total data entry (next 0x10) in hex
| 0008 || 4 || № of entries
|-
|-
| 000C || 4 || Total Length first part/start second part
| 000C || 4 || Total Length first part/start second part
|-
|-
| 0010 || 4 || Offset (without header)
| 0010 || 4 || Offset filename (without the header: first are the .cfg files and theirs naming header, followed by the .png)
|-
|-
| 0014 || 4 || Length
| 0014 || 4 || Length filename (count don t include NULL finished (0x00))
|-
|-
| 0018 || 4 || Offset  
| 0018 || 4 || Offset file
|-
|-
| 001C || 4 || Length
| 001C || 4 || Length file
|-
|-
| 0020 || xx|| Repeat last 0x10
| 0020 || xx|| Repeat last 0x10 for each entrance
|-
|-
|}
|}


*Second part (example):
*Second part:
<div style="height:650px; overflow:auto">
(filename+file)
{{Boxcode|content=<syntaxhighlight lang="xml">
contains multiple .cfg and .png files


(might be also variable up to PlayView version: ui_main_version_o and ui_main_version_x)
{{Boxcode|width=auto|height=650px|float=left|code=<syntaxhighlight lang="xml">
ui_main_o.cfg\00ui_version    =100
ui_main_o.cfg\00ui_version    =100
selection_frame_division    =0
selection_frame_division    =0
Line 653: Line 803:
player_progress_bar = player_progress_bar
player_progress_bar = player_progress_bar
player_progress_frame = player_progress_base
player_progress_frame = player_progress_base
\00ui_main_x.cfg\00ui_version    =100
\00ui_main_x.cfg\00ui_version    =100
selection_frame_division    =0
selection_frame_division    =0
Line 728: Line 880:
player_progress_frame = player_progress_base
player_progress_frame = player_progress_base


</syntaxhighlight>}}
</syntaxhighlight>}}{{clear}}
</div>
*Third part:
 
Title id.png followed by the image itself  (contains boot screens, menu user etc..)
 
 
 
 
 
 
 
----
 
= Misc: =
==Digital Comic PSP==
 
Not related to PlayView but for completion/comparison, we can make a quick review here.
 
On PS3, digital comic can also be repack and run as {{icon content pspremaster}} or {{icon content pspminis}}.
 
Customization might be extremely limited by size of image (around 2MB?)  per page/sum loaded although there are may be some possible setting (if not due to internal use) on emulation for PS3 and one SFO parameter on PSP. XML structure link seems also limited to only two xmlurl / action per page (left/right as backward/forward) .
 
it s simple to manipulate and make your owns .PNG (no need to be specific)  slow slide show pack as PKG for your game column.
 
Pages can be added by simply expand the structure inside USRDIR/packages/comic name/
 
==Structure tree==
 
 
PSP_GAME/
    |
    |-SYSDIR/
    |
    |-USRDIR/
          |
          |-font/
          |  | 
          |  |-latin_22_serif_r.pgf files, latin_22_serif_i.pgf files,...
          |
          |-images/
          |  | 
          |  |-.bmp, .gim and .tga files used for GUI.
          |
          |-module/
          |  | 
          |  |-libfont.prx
          |  | 
          |  |-libmp3.prx
          |  | 
          |  |-libpsmfplayer.prx
          |  | 
          |  |-libsecure.prx
          |  |
          |  |-psmf.prx
          |  | 
          |  |-psnet_ap_dialog_dummy.prx
          |
          |-packages/
          |  |
          |  |-comic name dir/
          |  |  |
          |  |  |-templates/
          |  |  |  |
          |  |  |  |-page1layout.xml, page2layout.xml, ...
          |  |  |
          |  |  |-_default_white_bg.jpg
          |  |  |
          |  |  |-001.PNG, 002.PNG, ...
          |  |  |
          |  |  |-AppTemplate.xml
          |  |  |
          |  |  |-packageInfo.xml
          |  |  |
          |  |  |-page00000001.xml, page00000002.xml, ...
          |  |
          |  |-background.jpg
          |  |   
          |  |-home_page.xml
          |
          |-AppTemplate.xml
                |
                |-config.txt
                |
                |-NTemplateMain.xml
 
==Notes==
 
*AppTemplate.xml : Contains application name of the app, font (size, type, style ...), buttonMap (L2/R2 included and related status), ...
 
*config.txt : home page URL, umd and ms root directory, ...
 
*NTemplateMain.xml :
 
===USRDIR/font===
 
PGF format for fonts is the format used on the psp
 
http://dl.qj.net/psp/tools-utilities-on-pc/ttf2pgf-font-converter.html
 
===USRDIR/images===
 
Images in game used for GUI.
 
===USRDIR/module===
 
libfont.prx, libmp3.prx, libsmfplayer.prx...
 
===USRDIR/packages===
 
*background.jpg
 
*home_page.xml
 
====USRDIR/packages/comic name/====


*_default_white_bg.jpg : used when the 0xx.PNG is not loaded properly (generic image used in other psp comic?)
After the .cfg files, contains start up screens: HD 1920x1080 for warning screen and 1280x720 for game logo, SD= 640x480) menu user etc.. in .png (zip compression) or gtf [[Multimedia Formats and Tools|Formats]]) on old PlayView version.


*001.PNG, 002.PNG, ... : are images specific to the comic book.  
<gallery widths="150px" heights="150px">
File:PlayView-PS3_help_JP-ui.dat.0001.PNG|PS3 User Interface
File:PlayView-PS3_help_UK-ui.dat.0001.PNG|PS3 User Interface (special title without zoom function)
File:PlayView-PSP_help_JP-ui.dat.0007.PNG|PSP User Interface
</gallery>


*AppTemplate.xml : Contains application name of the comic, font (size, type, style ...), buttonMap (L2/R2 included and related status), ...
==Homebrew==
===TLOU===
A ugly custom PlayView about TLOU - left behind comic books


*packageInfo.xml : contains Application Id, Name,...and Package Id
[[File:PlayView-ui.dat.dec.0001.PNG|thumbnail|right|Custom PlayView boot screen]]


*page00000001.xml, page00000002.xml, ... :  
*https://www.sendspace.com/file/jdfwze
*http://xncsuvult5.1fichier.com/ [https://www.mirrorcreator.com/files/0XGL3THR/JP0101-PLYV00001_00-PLYV000000000000.pkg_links]
*http://www.mirrorupload.net/file/IJQTPA4E/#!JP0101-PLYV00001_00-PLYV000000000000.pkg


====USRDIR/packages/comic name/template====
(if need to make your owns, we can speak about it on IRC PS3SANCTUARY, [http://playstationhax.it] or [http://www.psdevwiki.com/ps4/User:Ada_L0ve_Lace wiki messageboard]


*page1layout.xml, page2layout.xml, p3layout.xml ... : contains buttons assigned
*edat: dev_klic: 41444100000000000000000000414441 (http://www.mediafire.com/download/oc1474bsc9oaesa/TrueAncestor_EDAT_Rebuilder_v1.45.zip)
----
*note: on .gvd header, padding data is not used for convenience, instead the whole image size (so with this zeroed padding) is used.


==Digital Manual PS3==
*[[PlayView#example_file_name_PS3|See example_file_name_PS3]] (and same as [[PlayView#example_structure_PSP.2FPS3|example: Atelier Totori/Meruru plus]] for the layering/tiling resolution used)
Not related to PlayView but for completion/comparison, we can make a quick review here (or re/move later if there are custom manual or not documented well enough to got generic structure) .
Named as Digimanual or Manual (Digital), they are stand alone pkg hdd games included in disc (PKGDIR for example) or available online.


==Structure tree==
==Tools==


*Image2GVD application http://tizzyt-archive.blogspot.com/2014/08/image2gvd.html Make an regular image file to a .gvd file ready to be used on PlayView
*https://web.archive.org/web/*/http://playstationhax.xyz/forums/topic/82-image2gvd/
*Src: http://pastebin.com/PJbjJ3f5
*a free, open source Playview extractor (tested with Ni No Kuni): https://github.com/joernlenoch/playview-extractor


NPUO30***/ (only from few US example)
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
    |
    |-ICON0.PNG (See[[Content_Information_Files#HDD_Game| Content Information files for HDD Game]])
    |
    |-PARAM.SFO (SFO category HG)
    |
    |-PS3LOGO.DAT
    |
    |-USRDIR/
          |
          |-digiman.sdat
          |
          |-digiman_content.sdat
          |
          |-digiman_content_en.sdat (can also have others languages as digiman_content_es.sdat..)
          |
          |-EBOOT.BIN
          |
          |-assets/
                |
                |-image/ (can contain sub-directory such "screenshots"...)
                |    |
                |    |-.jpg and .png
                |
                |-sound/
                |    |
                |    |-.wav
                |   
                |-video/
                      |
                      |-.usm

Latest revision as of 12:27, 15 September 2024

PlayView[edit | edit source]

Default.jpeg

PlayView on PS3

Description[edit | edit source]

Generic[edit | edit source]

Game used to advertise PlayView

Using "ultra- high resolution (4K) digital data", PSP or PS3 will display the images smoothly. It can be compatible 3D and PS Move (At CEDEC 2010, Teiji Yutaka demonstrated PlayView using the PlayStation Move controller in real time to increase and reduce the size of a still image of a park consisting of over 3 billion pixels) +EYE Camera on PS3 and can packed with other extra content(themes, DLC).

Most of the time, each full screen page display is equivalent to 2 paper pages of an art book/game manual but other display have been release (Gran Turismo PlayView: long highway road, with zoom you reach other visual content).

Specific background music or sound and videos per page can be apply.

There are various kind of content (guide book, sexy content, stand alone games) for PS3 and PSP (Some games titles are present in both category). However, it work on the same way (with specific encryption/security, resolution/more sub element such sound channel etc...)

PS3 games can contain embebed Playview (e.g. the "wizard book" inside "Ni No Kuni" uses a custom game module named libTGV_v1.45.07.sprx)

Title ID: Japan: PS3: NPJB60*** & NPJA60*** , for PSP: NPJH60***. Others: "4K gallery": NPEB01397)

Playview might requires PSP FW 6.39 or so, and PS3 FW min around 3.70.

Few full free content for PS3 & PSP are available online.

Transfer from PSP PlayView to PS VITA is possible for some PlayView titles (export PS3 to PSP also is possible but as not bootable, transfer with UMD passport?).

PSP/PS3 Digital comic/strategy/guide/manual are not PlayView.

Codename of playview is TGV (Tiny Gigantic Viewer) and the derivates with an added or removed letter (TG, GV, etc...)

  • Game list in Japan for PS3,PSP&PS VITA : [1] / [2]
  • 4K Gallery
EP4288-NPEB01397_00-4KGALLERY0000100 (1674.87 MB (1756225856 Bytes)
http://zeus.dl.playstation.net/cdn/EP4288/NPEB01397_00/NYCWHljxcSEpyxJAanqFEkWdeKPvAMAzSccWyivNVxZAoLqqxzODqNytbXCTkbhD.pkg
  
EP4288-NPEB01397_00-4KGALLERY0000100.rap
DA71FD8E03A13E3F254CD7478618AF66
dev_klic: 01811B5625EEF31A916E081FE38AC38E

example file name PS3[edit | edit source]

  • content.dat.edat: XML structure (link, selector, zoom, BGM music setting...)
  • page01.gvd : tiles images for one page
  • page02.gvd

...

  • se.dat : sound effects
  • title01.mp3 : BGM music
  • title02.mp3
  • tgv.cfg : file configuration of PlayView (optional, open with notepad++ or as text on linux)
  • ui.dat.edat : boot screen, user interface images & setting related

example structure PSP/PS3[edit | edit source]

PlayView image layers for 1 page

Structure and display on both device PS3/PSP can be like flipping the pages of a book (see youtube game link and XML structure content.dat.edat) with specific background music for each page.

For one page (one page equivalent of 2 paper pages):

  • Each page contain 6 (or 5) layers with the same graphical content, the layer display is according to the level you zoom.
  • Aspect ratio is 1.77 (16:9) (all PSP models).
  • The demo video linked/image show a little different structure (tile sizes only as 256x256 and grid) . Described as"authoring", it s easy to understand/manipulate/modulate.


Level Layer visual Atelier Meruru Guide Book : Number Image Note Grid (WxH) Other example:
Atelier Totori Plus (PSP&PS3)
  or
Atelier Meruru Plus
Other example:
Atelier Ayesha Guide Book
Zoom in ∇
0 1(sum: 180x101) (180x101) "thumbnail" when slide 1x1 1 image (240x135) 1 (200x112)
1 2(sum: 360x202) Left: 256x202 Right: 104x202 2x1 4 images (480x270) 2 (400x225)
2 6(sum: 720x405) 3x2 12 images (960x540) 8 (800x450)
3 24(sum: 1440x810) 6x4 40 images (1920x1080) 28 (1600x900)
4 84(sum: 2880x1620) 12x7 135 images (3840x2160) 104 (3200x1800)
5 299(sum: 5760x3240) Max_Zoom, the "deepest" into the page 23x13 no 375 (6400x3600)
  • Level Layer order are reversed (layer 0 being the max_zoom) in the begin of the file which contains the image: gvd.dat.edat (see DATA BASE Viewer) and effects as double page flip are defined into the content.dat.edat (second part contains the structures XML).
  • Not all pages need to have the same resolution.
  • Max resolution seen (PS3): 7680x4320

Game Data[edit | edit source]

Can be slightly different and for convenience description, this term of "1.01" (based on disc_version from PSP title) is used for wikify but it not meant to be strict since there are not strictly two different model at this level of files (neither as PS3/PSP)

However, PlayView version "1.00" and "1.01" difference are cosmetic order (or divided file on some PS3 title) until content.dat.edat XML structure (to be picky) and PlayView setting (format +warning/logo/user interface screen...).

*Tgvtools-v0.81xx / 4416 (FW 3.70.001), v.1.10xx / 5450 (FW 410.001), v.1.11xx / 5906 (FW 430.001) v1.50xx (Local build) / 5890 (FW 430.001)
*Ni No Kuni internal PlayView book use Tgvtools-v0.81 (FW 3.70.001)

See note for JPG extractor tool.

gvd.dat(.edat):[edit | edit source]

1.00 1.01
TGDT0100 header 0x400 TGDT0100 header 0x400
Image ID.gvd for the first page all name file.gvd+ padding
second image id.gvd DATA BASE Viewer +padding
End Of File: 00 End Of File: 00

The file contain the image embedded as well as "database". Can be divided in 2 parts:

  • "TGDT0100"
  • "Image ID.gvd"


TGDT0100[edit | edit source]

Offset Length Value & note
0000 8 "TGDT0100"
0008 4 Total data entry (next 0x10) in hex
000C 4 Total Length first part/start second part (first image id.gvd)
0010 4 Offset file name.gvd (without header TGDT0100)
0014 4 Length file name.gvd (0x00 is not counted)
0018 4 Offset Data Base Viewer
001C 4 Length Data base Viewer file
0020 xx Repeat last 0x10 for page
0XXX xx Filled with 00 until the first image ID.gvd start

Image ID.gvd:[edit | edit source]

Repeat for each page referenced. Can be divide into 3 part: Name file referenced into XML, data base utility and the embedded images.


Name file.gvd[edit | edit source]
Offset Length Value & note
0000 10 .name file.gvd
0010 00 Padding with zero for alignment (if variable per page: DATA BASE Viewer start at next offset 0X00 or according to the structure used)


DATA BASE Viewer[edit | edit source]
Offset Length (Hex) Value Note
GVD Header (Page)
0000 10 47 56 45 57 30 31 30 30 4A 50 45 47 30 31 30 30 "GVEW0100JPEG0100"
0010 4 00 00 XX XX Source Image Width (Hex)
0014 4 00 00 XX XX Source Image Height (Hex)
0018 4 42 4C 4B 5F "BLK_"
001C 4 00 00 XX XX Length of Database (Hex) (№ of entries*0x20) + 0x08
0020 8 00 00 00 01 00 00 00 00 Static Value
Database
0028 4 00 00 00 20 Apps/machine code?
002C 4 00 00 00 04 Apps/machine code?
Database Entry
0030 4 00 00 00 XX Horizontal position on grid from left to right (Hex)
0034 4 00 00 00 XX Vertical position on grid from top to bottom (Hex)
0038 4 00 00 00 0X Layer level
003C 4 00 00 XX XX Length of the image (Hex)
0040 4 00 00 00 XX Length padding of the image (Hex)
0044 4 00 00 00 00 Not used?
0048 4 00 00 0X XX Width image (Hex)
004C 4 00 00 0X XX Height image (Hex)
0050 20 ... Repeat for each entry
End of Database Entry
End of Database
XXXX 4 42 4C 4B 5F "BLK_"
XXXX 4 XX XX XX XX Length of all embedded images including pad (Hex)
XXXX 8 00 00 00 02 00 00 00 00 Static Value
End of GVD Header
Grid Image Data
XXXX ... FF D8 ... JPEG data (Starting from layer 0, left to right, top to bottom)
XXXX ... ... FF pad if grid image, 00 pad if next is data base viewer (16 byte alignment)
XXXX ... ... Repeat for each grid image (Start either next name file.gvd/data base viewer)
End of Grid Image Data
Images JPG[edit | edit source]

Embedded image (JPEG JFIF) per page.

Offset Length Value Note
0000 2 FF D8 Magic JPG
0002 2 FF E0 marker: SOI Start Of Image
0004 2 00 10 Skipped
0006 5 4A 46 49 46 00 marker JPEG extension "JFIF"
000C 4
0014 2 FF DB Define Quantization table
0059 2 FF DB
009E 2 FF C0
00B1 2 FF C4 Huffman table
0110 ? quantization table
0270 xx
XXXX 10 FF D9 APP0 marker: EOI end of image + padding
XXXX XX FF padding align per 16 is not mandatory but can create visual "disorder"

The second page start (new Playview version: 1.gvd file= 1 page).


content.dat(.edat):[edit | edit source]

The file contains a file list, and XML files giving the structure to transport elements such video, music background etc... (thiis file format can vary up to PlayView version)

  • First part header:
Offset Length Value & Note
0000 8 "TGDT0100"
0008 4 Total data entry (next 0x10) in hex
000C 4 Total Length first part/start second part
0010 4 Offset (without header) on file list
0014 4 Length filename (without 0x00)
0018 4 Offset (without this header) of the file (XML)
001C 4 Length file (XML) without 0x00
0020 xx Repeat last 0x10

Then come the file list

  • Second part XML:
On 1.01
Edit-copy purple.svg.png
<!--contain all the name file.gvd as XML in order of file appearance-->
content.flst page00.xml page01.xml page02.xml ...page09.xml
0A<?xml version="1.0" encoding="utf-8"?>
<gigantic_image_content version="1.0">
    <image_files>
        <archive source="gvd.dat">
<!--See other example structure for W & H and Other tile_type as Multiplane and Stereoscopy?-->
            <image width="3840" height="2160" id="i0001" source="page00.gvd" tile_type="normal"/> 
            <image width="3840" height="2160" id="i0002" source="page01.gvd" tile_type="normal"/>
            <image width="3840" height="2160" id="i0003" source="page02.gvd" tile_type="normal"/>
                  ...
            <image width="3840" height="2160" id="i0010" source="page09.gvd" tile_type="normal"/> 
        </archive>
    </image_files>
    <structure>
        <root ref="i0001"/>
        <sequence transition="double_page_flip" id="s0001"> <!--visual effect as turning the page of paper book-->
            <item ref="i0002"/>  <!--Not all page need to have this double page flip effect-->
            <item ref="i0003"/>
        </sequence>
    </structure>
</gigantic_image_content>


<!--One page example-->

0A<?xml version="1.0" encoding="utf-8"?>
<gigantic_image version="1.0">
<!--Define when opening the page, limited by value below.-->
    <home>
        <view offset_x="0.000000" offset_y="0.000000" zoom="1.000000"/>   
    </home>

<!--Limit of the values (ZOOM IN:limited by the images). Here you can adjust/unlock/lock the level of max/min_zoom (between 1 to 0 ∞)-->
    <limit>
        <boundary offset_x="0.000000" max_overshoot="0.000000" offset_y="0.000000" scale="1.000000" 
        max_zoom="2.000000" max_invisibility="INF" min_zoom="1.000000"/>
    </limit>

<!--Links to other pages. Here you create 2 links, enter by selector (ID_YYYYMMDDHHMMSSSSS 
for internal use/(not checked on file attribute or only if file list XML don t load properly?)-->
    <link width="3840.000000" crossfade_range="1.000000" target="page01.xml" center_x="1920.000000" 
	center_y="1080.000000" height="2160.000000" separate="true" id="ID_YYYYMMDDHHMMSSSSS" name="[l]link(1)">
        <boundary offset_x="0.000000" max_overshoot="0.500000" offset_y="0.000000" scale="1.000000" 
	max_zoom="INF" action="enable" max_invisibility="INF" min_zoom="0.500000" max_stretch="INF"/>
    </link>
		
    <link width="3840.000000" crossfade_range="1.000000" target="page02.xml" center_x="1920.000000" 
	center_y="1080.000000" height="2160.000000" separate="true" id="ID_YYYYMMDDHHMMSS002" name="[l]link(2)">
        <boundary offset_x="0.000000" max_overshoot="0.500000" offset_y="0.000000" scale="1.000000" 
	max_zoom="INF" action="enable" max_invisibility="INF" min_zoom="0.500000" max_stretch="INF"/>
    </link>

<!--Embed to music and videos-->
<!--music-->		
    <embed width="1.000000" center_x="1.000000" center_y="1.000000" height="1.000000" 
        volume="0.600000" source="mymusic01.mp3" name="[BGM]">
        <boundary offset_x="0.000000" max_overshoot="INF" offset_y="0.000000" scale="1.000000" 
        max_zoom="INF" action="play" max_invisibility="INF" min_zoom="0.000000" max_stretch="INF"/>
    </embed>

<!--videos-->
    ...


<!--Selector values(right-angled with x & y) for the links defined above-->     
    ...

</gigantic_image>
   
...

Note[edit | edit source]

  • Image: JPEG (not progressive)
  • Video:
Property PSP PS3
Extension .mp4 .mp4
Frame Size 480*272 1280*720
Display Aspect 480*272 1280*720
Video Compression h264 h264
Frame Rate 29.970 29.970
Audio Format mpeg4aac mpeg4aac
Audio Frequency (Hz) 41000 48000
Audio Channels Stereo Stereo
Specific tags
*no auto scale on PSP? (fw 6.60 videos utility is more picky than fw 6.39)
*not all PlayView on PS3 & PSP contains videos (3D content video and stereo 3D are supported).


  • Music: Used on background, for each page or when linked/zoomed. MP3 format (128 KBPS but any shoud do)
  • text: (sys_ressource.dat) with embedded .xml & fonts (.ttf) for string (align, coord x & y, size and colors)
  • Sound Effects: se.dat (packed .vag) assigned for (seen on build v1.50):
upper_column
lower_column
left_column
right_column
help_open
help_close
cursor_appear
cursor_move
cursor_error
cursor_cancel
decide
cancel
start_movie
stop_movie
help_movie
enter_movie_mode
enter_movie_mode_playing
leave_movie_mode
zoom_in
zoom_out
return_to_main
out_of_range
ready_to_zoom
ready_to_play
error
zoom_in_negative
zoom_out_negative
cant_return_to_main
notice_big
notice_normal
left_flip
right_flip
store_ready
help_move_right
help_move_left
go_to_store
back_from_store
web_browser_ready
web_browser_open
web_browser_close
left_flip_4k
right_flip_4k


Name Offset Size Example Remark
Magic 0x00 0x06 53 47 58 44 50 01 or 53 47 58 44 81 41 "SGXDP" or "SGXD.A"
Header size 0x06 0x04 00 00 60 01 0x160
Body size 0x0A 0x8 N.A
  • Dev_Klicense is located (always?) in between the title ID (+0x00 NULL finished) and the TGV_BUILD_INFO.
  • PSP EDAT files (videos & sound also): see tool on main page for decrypt.
  • Tiles_type (.xml on content.dat) also as Multiplane and Stereoscopy or 3D PlayView (with an header for .gvd as GV3D0100GVMP0100)?
  • Web Brower link in-game for PS3 PlayView?

PlayView Config[edit | edit source]

Following Config PSP & PS3 and config User Interface description are not complete and don t necessary complete each other (and up to PlayView core version and title).

Config PSP & PS3: tgv.cfg[edit | edit source]

This file might be in different format up to the title version (some settings might only work with specific plateforms/flags & PlayView core version or TV.

Allow different settings for the title such background color.

This table might not be complete.

Settings Values Comments & note
selection_mode_by_enter_button (0/1) default: 0
selection_frame_margin range: [0.0, 0.25]

PS3 default: 0.15

PSP default: 0.01

Percentage of margin to secure around the selection frame

key_repeat_delay range: [0.0, 1.0]

PS3 default: 0.266667

PSP default: 0.233333

key_repeat_interval range: [0.0, 1.0]

PS3 default: 0.083333

PSP default: 0.05

clear_color_normal e.g. default: 0xffffffff RGBX color outside the viewer (can be display by setting limit min_zoom) : background color
clear_color_dialog e.g. default: 0x00000000 RGBX color
clear_color_margin e.g. default: 0x00000000 RGBA color outside Aspect ratio screen
disable_debug_menu default: 0 (1/0)
disable_debug_hud default: 0
enable_stick_guide (1/0)

PS3 default: 1

PSP default: 0

page_flip_speed_factor range: [0.01, 10.0]

PS3 default: 2.0

PSP default: 2.0

fixed_aspect_ratio_width = 16

fixed_aspect_ratio_height = 9

range: [0, 4096]

PS3 only default: 0

On PS3, Aspect ratio can be adjust. See above setting about color normal and margin.
viewport_shrink_factor range: [0.1, 1.0]

PS3 only default: 1.0

Rate full screen/viewer : Works also on PSP (as resolution on full screen)
force_16_9_letter_box_if_4_3_sdtv default: 0
letter_box_margin_color default: 0x00000000
enable_screenshot_utility = 1

screenshot_photo_title = photo_title

screenshot_game_title = game_title

screenshot_add_date_time = 1

screenshot_add_overlay = 1

(0/1)
max_num_sgx_streams 2
guide_alignment default: 5

0= Top left, 1= Top, 2= Bottom left,

3= Bottom left, 4= Bottom, 5= Bottom right,

6= Center

selection_frame_draw_margin

PS3 default: 0

PSP default: 0

selection_frame_draw_division default: 0
xy_motion_speed_limit_factor range: [0.01, 10.0]

PS3 default: 3.0

PSP default: 1.0

back_speed_factor range: [0.01, 10.0]

PS3 default: 1.0

PSP default: 0.58

back_home_speed_factor range: [0.01, 10.0]

PS3 default: 0.7

PSP default: 0.58

bg_image_off default: 0 Hide background image (when slide)
default_language_psp PSP only default: 0 Language for home button (quit game):

See Languages up to the ones available on PSP

start_button 0 Function assignment of the start button

0 : Back to top ("return_to_main" sound assignement)

1 : 2D/3D switching

web_browser 1 Mode of a Web browser:

0: Web browser invalid (PSP default)

1: Web component mode (PS3 default window display)

2: Web browser mode (full screen display)

video_default_zoom
enable_tiling_4k_output Default: 0 enable 4K display function:

0: OFF, 1: ON

force_tiling_4k_output_available
use_rgb_for_tiling_4k_output
tiling_4k_preload_policy
enable_fullscreen_on_4k_tv
force_auto_4k
override_page_transition_pattern Default: 0 force the pattern of page transition:

0: follow the specification of the content

1: double_page_flip. Effects such as page turning

2: stack_from_left. Picture overlapping like a picture-story show goes in and out to the left

3: stack_from_right. Picture overlapping as picture cards to enter and exit to the right

4: slide. The new incoming image slides at the same time went out image that is currently displayed slide.

background_image_file background_image_file = background.jpg Specify the file name to be used as a background image.

(JPEG, .jpg, and PNG, .png, are available)

Only the background color is used if you do not specify.

background_image_layout Default: 0 Arrangement method when using the background image

0 :

1 :

2 :

Config User Interface: ui.dat (edat)[edit | edit source]

This file can be in different format/name up to the title version.

Can be divided into 2 part:

  • First part:
Offset Length Value & Note
0000 8 "TGDT0100"
0008 4 № of entries
000C 4 Total Length first part/start second part
0010 4 Offset filename (without the header: first are the .cfg files and theirs naming header, followed by the .png)
0014 4 Length filename (count don t include NULL finished (0x00))
0018 4 Offset file
001C 4 Length file
0020 xx Repeat last 0x10 for each entrance
  • Second part:

(filename+file) contains multiple .cfg and .png files

(might be also variable up to PlayView version: ui_main_version_o and ui_main_version_x)

ui_main_o.cfg\00ui_version     =100
selection_frame_division     =0
startup_page_num     =5      <!--Variable number of screen before the title start-->
help_page_num     =1
guide_alignment     =3
#help_sd_magnification     =1.00
#guide_sd_magnification     =1.00
#player_sd_magnification     =1.00
#safearea_ratio     =0.89f
# guide param
guide_base_t     =13
guide_base_b     =13
guide_base_l     =41
guide_base_r     =14
guide_margin_t     =13
guide_margin_b     =13
guide_margin_l     =41
guide_margin_i     =7
guide_margin_r     =14
# video guide param
player_guide_icon_x     =36
player_guide_icon_y     =12
player_guide_play_time_x     =73
player_guide_play_time_y     =12
player_guide_whole_time_x     =252
player_guide_whole_time_y     =12
player_guide_progress_x     =106
player_guide_progress_y     =12
player_guide_progress_left_pos     =2
player_guide_progress_right_pos     =2
player_guide_font_w     =7
player_guide_font_interval_w     =6
# main o image(PS3:HD or PSP)
# startup
# start
startup01		= KIDOJI    <!--Boot screen-->
startup02		= KENKO     <!--Health  screen-->
startup03		= SHIYOJO   <!--Instruction screen-->
startup04		= LOGO      <!--Logo screen-->
startup05		= LOGO2     <!--Second logo screen-->
# frame
# start
frame_focus_on		= focus_focused
# guide
# start
guide_h		= guide_h
guide_ds		= guide_ds
guide_dm		= guide_dm
guide_s		= guide_s
guide_af		= guide_af_o
guide_ao		= guide_ao_o
guide_av		= guide_av_o
guide_am		= guide_am_o
guide_c		= guide_c_o
guide_lr		= guide_lr
guide_base		= guide_base
# help
# start
help01_text		= help_p_o
# player
# start
player_base		= player_panel_base
player_play		= player_play
player_pause		= player_pause
player_forward1		= player_forward1
player_forward2		= player_forward2
player_forward3		= player_forward3
player_rewind1		= player_rewind1
player_rewind2		= player_rewind2
player_rewind3		= player_rewind3
player_slow		= player_slow
player_numeric		= player_letters
player_progress_bar		= player_progress_bar
player_progress_frame		= player_progress_base


\00ui_main_x.cfg\00ui_version     =100
selection_frame_division     =0
startup_page_num     =5
help_page_num     =1
guide_alignment     =3
#help_sd_magnification     =1.00
#guide_sd_magnification     =1.00
#player_sd_magnification     =1.00
#safearea_ratio     =0.89f
# guide param
guide_base_t     =13
guide_base_b     =13
guide_base_l     =41
guide_base_r     =14
guide_margin_t     =13
guide_margin_b     =13
guide_margin_l     =41
guide_margin_i     =7
guide_margin_r     =14
# video guide param
player_guide_icon_x     =36
player_guide_icon_y     =12
player_guide_play_time_x     =73
player_guide_play_time_y     =12
player_guide_whole_time_x     =252
player_guide_whole_time_y     =12
player_guide_progress_x     =106
player_guide_progress_y     =12
player_guide_progress_left_pos     =2
player_guide_progress_right_pos     =2
player_guide_font_w     =7
player_guide_font_interval_w     =6
# main x image(PS3:HD or PSP)
# startup
# start
startup01		= KIDOJI
startup02		= KENKO
startup03		= SHIYOJO
startup04		= LOGO1
startup05		= LOGO2
# frame
# start
frame_focus_on		= focus_focused
# guide
# start
guide_h		= guide_h
guide_ds		= guide_ds
guide_dm		= guide_dm
guide_s		= guide_s
guide_af		= guide_af_x
guide_ao		= guide_ao_x
guide_av		= guide_av_x
guide_am		= guide_am_x
guide_c		= guide_c_x
guide_lr		= guide_lr
guide_base		= guide_base
# help
# start
help01_text		= help_p_x
# player
# start
player_base		= player_panel_base
player_play		= player_play
player_pause		= player_pause
player_forward1		= player_forward1
player_forward2		= player_forward2
player_forward3		= player_forward3
player_rewind1		= player_rewind1
player_rewind2		= player_rewind2
player_rewind3		= player_rewind3
player_slow		= player_slow
player_numeric		= player_letters
player_progress_bar		= player_progress_bar
player_progress_frame		= player_progress_base

After the .cfg files, contains start up screens: HD 1920x1080 for warning screen and 1280x720 for game logo, SD= 640x480) menu user etc.. in .png (zip compression) or gtf Formats) on old PlayView version.

Homebrew[edit | edit source]

TLOU[edit | edit source]

A ugly custom PlayView about TLOU - left behind comic books

Custom PlayView boot screen

(if need to make your owns, we can speak about it on IRC PS3SANCTUARY, [4] or wiki messageboard

Tools[edit | edit source]