← All spotlightsPrograms / Features

Spotlight › Video Player

V88 video playback

Host-encoded delta streams matched to the target adapter, disk bandwidth and 8088 decode budget.

Playing on the desktop
The os8088 desktop in black and white. A window titled Video Player - os8088 shows a chip with os8088 written on it, sitting on a circuit board with 1s and 0s along its traces, over a scrub bar and a row of buttons with Pause showing. Below it a Timer window reads 00:00:12, and a Disk window sits behind them.
Memory-resident playback beside Timer.
Playback target
30 fps with audio
Disk saving against XDC
21-46%
Audio output
SB / PC speaker / Covox

01 / Codec and precedent

Codec and precedent

V88 stores changed screen bytes and applies them through resident decode loops. Adapter conversion and most encoding decisions happen on the build host. MP4/AVI and other source formats must be transcoded first.

Jim Leonard's 8088 Domination (2014) and XDC are relevant precedents. V88 uses its own stream format; its size and CPU comparisons below belong to the project's matched test material, not a universal codec ranking.

02 / Player captures

Player captures

The player
The Video Player window at the top left of the desktop, titled Video Player - os8088. It shows the finished logo, a chip labelled os8088 on a circuit board, above a scrub bar and a row of buttons: repeat, mute, eject, previous, play, next and i.
Player transport.
Information card
The Video Player window widened, with a card beside the picture reading: File: OS8088.V88, os8088, 320x200 VGA 15.00 fps 0:07, 6 KB/s silent, From the start; keys 2, and Space plays and pauses; Esc stops.
Stream geometry, rate and playback mode.
Playing
The Video Player window playing, with the scrub bar's thumb a third of the way along and a Pause button showing. On the chip the first letters of os8088 are appearing.
Incremental logo playback.
Full screen
A black screen with the logo video in the middle at its own size, 320 by 200, and a small box in its top left corner reading Paused.
Full-screen playback at encoded dimensions.

03 / Stream and timing

Stream and timing

Frame records encode skips, short changed runs and fills. Payloads are arranged in the target adapter's VRAM order; playback does not rescale or convert them. A file can carry several adapter variants.

The player reads ahead between frame updates. With supported Sound Blaster playback, the audio interrupt provides the frame clock. A recorded Hercules/8088/SB2 test delivered all 1,800 frames of a 60-second, 30fps clip from hard disk without stalls, with picture lag within two frames.

The matched XDC sample comparison found 21-46% smaller files, while the most expensive V88 frames cost up to 1.28x as much decode time. The Bad Apple figures are below. A physical ST-225 test reported 104KB/s under the player's interrupt load; that does not establish every clip will fit.

Encoding profiles bound disk and decode work. Over-budget frames prioritise changes and defer the rest, so some output is an approximation. Sound Blaster, speaker and selected Covox paths have different CPU and scheduling constraints.

Bad Apple in XDC's format and in .V88
XDC.V88
read rate93.8 KB/s57.7 KB/s
file20.1 MB12.3 MB

04 / Playback limits

Playback limits

A longer stream can block normal desktop work; concurrent desktop playback requires a file that fits the supported memory path. Native colour/text modes are full-screen. Speaker audio is unavailable in the concurrent desktop path.

The 128KB build omits the player. A file encoded for an unsuitable disk/CPU profile may stall or defer more changes; the presence of a faster storage adapter alone does not remove decode cost.

05 / Play or encode

Play or encode

Open MEDIA/OS8088.V88. Space toggles playback, F selects full-screen and I opens stream information. Host encoders are tools/os88venc.py and tools/os88vencgui.py; choose a profile matching the actual playback machine.