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.
22 lines
519 B
Plaintext
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
|