Index of /Book386/fliplayer/
| Name | Last Modified | Size | Type |
| ../ | | - | Directory |
| VIDEOS/ | 2026-Oct-10 15:11:34 | - | Directory |
| README.txt | 2026-Oct-10 16:05:57 | 3.0K | text/plain; charset=utf-8 |
| flip | 2026-Oct-10 15:23:41 | 23.9K | application/octet-stream |
| fliplayer.c | 2026-Oct-10 15:06:06 | 53.8K | text/x-csrc; charset=utf-8 |
| ppm2fli-2.1.tar | 2026-Oct-10 15:10:09 | 201.0K | application/x-tar |
| video_to_fli.sh | 2026-Oct-10 15:10:28 | 3.3K | text/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