Index of /Book386/fliplayer/

NameLast ModifiedSizeType
../ -  Directory
VIDEOS/2026-Oct-10 15:11:34-  Directory
README.txt2026-Oct-10 16:05:573.0Ktext/plain; charset=utf-8
flip2026-Oct-10 15:23:4123.9Kapplication/octet-stream
fliplayer.c2026-Oct-10 15:06:0653.8Ktext/x-csrc; charset=utf-8
ppm2fli-2.1.tar2026-Oct-10 15:10:09201.0Kapplication/x-tar
video_to_fli.sh2026-Oct-10 15:10:283.3Ktext/x-sh; charset=utf-8
 _____ __    _____ _____ _                    _____         _   ___ ___ ___    __    _             
|   __|  |  |     |  _  | |___ _ _ ___ ___   | __  |___ ___| |_|_  | . |  _|  |  |  |_|___ _ _ _ _ 
|   __|  |__|-   -|   __| | .'| | | -_|  _|  | __ -| . | . | '_|_  | . | . |  |  |__| |   | | |_'_|
|__|  |_____|_____|__|  |_|__,|_  |___|_|    |_____|___|___|_,_|___|___|___|  |_____|_|_|_|___|_,_|
                              |___|                                                                

fliplayer.c "BOOK386 Linux video player" silent-movie style FLI player

 Plays an Autodesk Animator FLI film (320x200, the kind ppm2fli writes)
 with a piano accompaniment synthesised live on an AdLib / OPL2 / OPL3
 card by a Reality Adlib Tracker (RAD v1.0) player -- like a pianist
 playing along to a black-and-white comedy in a 1920s picture house.
 Title cards open and close the show, and the picture can be tinted grey
 or sepia and given a slight projector flicker.

 The RAD tune is NOT built in: you always supply your own module with -t
 (or play without music with -m).

 Made for a 386SX-40 with no FPU: integer code only, the film is decoded
 into RAM and only the changed rows are copied to the (slow) ISA VGA, and
 if the machine falls behind the picture drops frames to stay in step.
 The music is ticked at 50 Hz from a SIGALRM timer, independent of the
 drawing speed.

 Plain C89 for gcc 2.7.2.3   Build:

     gcc -O2 -m386 -fomit-frame-pointer -o fliplayer fliplayer.c -lvga

 Run as root (OPL ports + svgalib):

     ./fliplayer -t tune.rad [options] movie.fli
       -t tune.rad  the RAD v1.0 module to play (required, unless -m)
       -p port      OPL base port in hex (default 388)
       -T "text"    title shown on the opening card (default: file name)
       -d ms        override the frame delay stored in the FLI
       -g           black & white (grey palette)
       -e           sepia tint
       -k           projector flicker
       -l           loop the film forever (no closing card)
       -n           no title cards
       -v           wait for vertical retrace (no tearing, lower fps)
       -m           mute: no music, no OPL access (no -t needed)
       -f           skip OPL chip detection

 Keys while the film runs:
       SPACE        pause / resume (the piano falls silent while paused)
       LEFT         jump back 5 seconds        (works while paused too)
       RIGHT        jump forward 5 seconds     (works while paused too)
       ESC or q     quit

 Jumping back needs earlier screens, and a FLI file has no index (every
 frame is a delta), so the player keeps up to MAX_SNAPS snapshots of the
 screen in RAM (~65 KB each, spaced 5 s apart and thinned out
 automatically on long films) and re-decodes from the nearest one.



 Now in order to generate the fli movie you need a recent machine to do the conversions 
 (anything that ffmpeg supports should be convertable really to the fli format) 

 Make a film with:  video_to_fli.sh movie.mp4 movie 
 (this needs ffmpeg, imagemagick and ppm2fli (ppm2fli sources included) 

 Sample fli videos in VIDEOS  
Webserver 1.0