Difference between revisions of "Format:VID (SymbOS video files)"
From CPCWiki - THE Amstrad CPC encyclopedia!
(→Web links: download link moved) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | This is a description of the VID format used for [[SymPlay]] in [[SymbOS]]. | + | This is a description of the VID format used for [[SymPlay]] in [[SymbOS]]. This format is also supported in the [[PC-CPC]] emulator. |
<pre> | <pre> | ||
Line 19: | Line 19: | ||
movinflen ds 3 ;total number of frames (24bit); the total number of seconds must not be above 65535 | movinflen ds 3 ;total number of frames (24bit); the total number of seconds must not be above 65535 | ||
;*** frame specific | ;*** frame specific | ||
− | movinfxln dw 0 ;frame width (only valid, if | + | movinfxln dw 0 ;frame width (only valid, if movinfflg[bit0]==0) |
− | movinfyln dw 0 ;frame height (only valid, if | + | movinfyln dw 0 ;frame height (only valid, if movinfflg[bit0]==0) |
− | movinfmod db 0 ;screen mode (only valid, if | + | movinfmod db 0 ;screen mode (only valid, if movinfflg[bit1]==0) [1=4colours, 7=16colours] *** MUST BE 1 or 7 *** |
− | movinfcol ds 2*16 ;colour table -> 16 x 12bit cpc plus colours (only valid, if | + | movinfcol ds 2*16 ;colour table -> 16 x 12bit cpc plus colours (only valid, if movinfflg[bit2]==0)*** IGNORED *** |
movinfsiz dw 0 ;size of each frame in bytes without header (only valid, if movinfcrn==0); | movinfsiz dw 0 ;size of each frame in bytes without header (only valid, if movinfcrn==0); | ||
;total size with optional header MUST be divideable by 512! | ;total size with optional header MUST be divideable by 512! | ||
Line 35: | Line 35: | ||
;### 128 byte frame header | ;### 128 byte frame header | ||
+ | ;### only existing, if movinfflg>0 and movinfcrn>0; otherwise the bitmap data is starting directly | ||
frminfbeg | frminfbeg | ||
− | frminfxln dw 0 ;frame width (only valid, if | + | frminfxln dw 0 ;frame width (only valid, if movinfflg[bit0]==1) |
− | frminfyln dw 0 ;frame height (only valid, if | + | frminfyln dw 0 ;frame height (only valid, if movinfflg[bit0]==1) |
− | frminfmod db 0 ;screen mode (only valid, if | + | frminfmod db 0 ;screen mode (only valid, if movinfflg[bit1]==1) |
− | frminfcol ds 2*16 ;colour table -> 16 x 12bit cpc plus colours (only valid, if | + | frminfcol ds 2*16 ;colour table -> 16 x 12bit cpc plus colours (only valid, if movinfflg[bit2]==1) |
frminfsiz dw 0 ;size of this frame in bytes without header (only valid, if movinfcrn!=0) | frminfsiz dw 0 ;size of this frame in bytes without header (only valid, if movinfcrn!=0) | ||
frminfact ds 4 ;byte0=action -> 0=continue playing, 1=stop movie here (byte1=reason), 2=jump to frame [byte1-3] | frminfact ds 4 ;byte0=action -> 0=continue playing, 1=stop movie here (byte1=reason), 2=jump to frame [byte1-3] | ||
Line 58: | Line 59: | ||
==Web links== | ==Web links== | ||
− | * [http://www.symbos.de/ | + | * [http://www.symbos.de/media.htm?3 VID file downloads] |
[[Category:SymbOS]] | [[Category:SymbOS]] | ||
[[Category:Programming]] | [[Category:Programming]] |
Latest revision as of 06:02, 27 February 2024
This is a description of the VID format used for SymPlay in SymbOS. This format is also supported in the PC-CPC emulator.
;### 512 byte main header movinfbeg ;*** general movinfide db "SymVid10" ;identifier movinfflg db 0 ;flag field; if one flag is set, the regarding information is given in a 128byte header in each single frame, ;if one flag is not set, the regarding information is given in this main header or nowhere; ;if this byte is 0, all frames do not contain an additional header but only the screen data ;0 (+1) -> size *** NOT SUPPORTED *** ;1 (+2) -> number of colours (mode 0/1/2) *** NOT SUPPORTED *** ;2 (+4) -> colour definition *** IGNORED *** ;3 (+8) -> key controls ;4(+16) -> subtitles movinfcrn db 0 ;crunch type (0=frames are not crunched) *** MUST BE 0 *** movinffps db 0 ;frames per second (1-100) movinflen ds 3 ;total number of frames (24bit); the total number of seconds must not be above 65535 ;*** frame specific movinfxln dw 0 ;frame width (only valid, if movinfflg[bit0]==0) movinfyln dw 0 ;frame height (only valid, if movinfflg[bit0]==0) movinfmod db 0 ;screen mode (only valid, if movinfflg[bit1]==0) [1=4colours, 7=16colours] *** MUST BE 1 or 7 *** movinfcol ds 2*16 ;colour table -> 16 x 12bit cpc plus colours (only valid, if movinfflg[bit2]==0)*** IGNORED *** movinfsiz dw 0 ;size of each frame in bytes without header (only valid, if movinfcrn==0); ;total size with optional header MUST be divideable by 512! ;*** subtitles movtitnum db 0 ;number of presented languages (1-8; 0=no subtitles) movtitdat ds 8*16 ;8 x name (16 bytes, 0=terminator) of the language with ID 0-7 movtitnam ds 32 ;movie name (terminated by 0) movtitinf ds 32 ;additional information (terminated by 0) movinfenc db 0 ;encoding type (0=CPC, 1=MSX) movinfend ds 512-movinfend+movinfbeg ;### 128 byte frame header ;### only existing, if movinfflg>0 and movinfcrn>0; otherwise the bitmap data is starting directly frminfbeg frminfxln dw 0 ;frame width (only valid, if movinfflg[bit0]==1) frminfyln dw 0 ;frame height (only valid, if movinfflg[bit0]==1) frminfmod db 0 ;screen mode (only valid, if movinfflg[bit1]==1) frminfcol ds 2*16 ;colour table -> 16 x 12bit cpc plus colours (only valid, if movinfflg[bit2]==1) frminfsiz dw 0 ;size of this frame in bytes without header (only valid, if movinfcrn!=0) frminfact ds 4 ;byte0=action -> 0=continue playing, 1=stop movie here (byte1=reason), 2=jump to frame [byte1-3] frmkeynum db 0 ;number of possible keys (0-8) frmkeyfrm ds 8*4 ;keycode (1byte) + destination frame (24bit) frmtitact db 0 ;0=don't change last subtitle, 1=delete last subtitle frmtitdat ds 128-frmtitdat+frminfbeg ;subtitle data (maximum is about 50 bytes) ;-> 1 byte=text length (0=data terminator), 1 byte=language id, x bytes=text