sd2snes/snes/msu1/data.a65
ikari b964f1fa7b MSU1 video player update (framerate support)
There is now a small header for the MSU video files:

 uint16_t framecount;
 uint8_t  std_frameduration;
 uint8_t  alt_frameduration;
 uint8_t  alt_durfreq;

framecount is the number of frames in the video.
std_frameduration is the usual duration of a video frame in SNES video frames.
alt_frameduration is an alternate duration
alt_durfreq specifies after how many frames the alternate duration should be used for a single video frame. The frame counter is reset afterwards.

This allows to use simple pulldown patterns.
e.g. for a 29.97fps video you need 2:2 pulldown (display every video frame for two SNES video frames).
In this case, std_frameduration, alt_frameduration, alt_durfreq are: 2, 2, x (any number is good for the freq in this case)
For 23.976fps video one would do 3:2 pulldown (displaying every other video frame for three SNES video frames).
The format would be: 2, 3, 1

Frame size is always 224x144, 32512 bytes (4 tiles wasted to save tilemap memory), followed by 512 bytes of palette.
2010-12-31 03:07:22 +01:00

22 lines
519 B
Plaintext

.data
dispcnt .byt 0
stddur .byt 0 ; standard picture duration in fields
altdur .byt 0 ; alternate picture duration in fields
altcnt .byt 0 ; use alternate picture duration every n frames
curdur .byt 0 ; current valid duration
curcnt .byt 0 ; current frame count for picture duration
numframes .word 0
firstframe .byt 0
charptr .byt 0
;----------parameters for dma----------
dma_a_bank .byt 0
dma_a_addr .word 0
dma_b_reg .byt 0
dma_len .word 0
dma_mode .byt 0
isr_flag .byt 0