Reference ยท Formats

STR movies

Covers8
US /DATA/OPEN/THQ_LOGO.STRUS /DATA/OPEN/NICKLOGO.STRUS /DATA/OPEN/LOGOXA.STRUS /DATA/OPEN/DEMO01.STRUS /DATA/OPEN/DEMO02.STRUS /DATA/OPEN/DEMO03.STRUS /DATA/OPEN/CREDITS.STRUS SLUS_006.50:0x800bae4c

/DATA/OPEN/*.STR: 320 x 240 frames in real-time data sectors, each frame split over several sectors, with an XA soundtrack (file 1, channel 1, submode 0x64) interleaved about one sector in eight.

A video sector

Form 1, submode 0x48 (data, real time). User data, little-endian:

u16  0x0160
u16  0x8001
u16  chunk        this sector's place in the frame, from 0
u16  chunks       sectors in the frame (9 in THQ_LOGO)
u32  frame        from 1
u32  unknown_0c   e.g. 0x428 for THQ_LOGO frame 1
u16  width        320
u16  height       240
u8   [12]         the frame's BS header, repeated in every chunk
u8   [2016]       the frame's BS bytes

A frame is its chunks' 2016-byte parts in order; it is a BS picture. THQ_LOGO's frames are BS version 3, NICKLOGO's version 2. The original decodes them at 24 bits (MDEC command 0x32xxxxxx: 24-bit, unsigned) and shows them in the GPU's 24-bit display mode.

The movie table

movie_play(n, skippable) (0x8008b448) takes movie n from a table at 0x800bae4c, 8 bytes each: u32 frames, u32 lba.

nframesfileplayed by
0101THQ_LOGO.STRmain, 0x8008b230
1100NICKLOGO.STRmain, 0x8008b27c
2150LOGOXA.STRmain, 0x8008b0b4
3150DEMO01.STRfront end, 0x8008b100
4400DEMO02.STRfront end, 0x8008b14c
5550DEMO03.STRfront end, 0x8008b198
61875CREDITS.STRa database, 0x8008b1e4

Playback

The player streams with libcd's St* calls at double speed and shows each frame as it completes, then waits two vertical blanks; it ends after frames frames. When skippable it asks the input module for a button pressed this frame (0x8001baf8(pads, 0)) once a frame and stops if there is one.

Unknown

  • unknown_0c in the sector header.
  • The exact pacing: the original shows a frame when its sectors are in; the port schedules frame k at its last sector's time at 150 sectors a second.
  • The ...B.STR files (640 x 192, BS version 2, submode 0x42): no movie table entry names them; see the B movies.