vplayer_for_sprinter/source/readme.md

125 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Sprinter Video Player (SVP)
**Версия:** v0.15.035 Alpha
**Автор:** kostya261
**Дата:** 09.07.2026
## Описание
Sprinter Video Player — это проигрыватель видео для компьютера **Sprinter**, написанный на ассемблере Z80. Плеер предназначен для воспроизведения файлов в специализированном формате `.SPR`. Программа работает с видеопотоком и звуком, используя аппаратные возможности платформы Sprinter.
> **Важно:** Это **альфа-версия**. Возможны ошибки и нестабильная работа.
---
## Системные требования
- Компьютер **Sprinter** (или совместимый).
- Процессор Z80.
- Операционная система **DOS** или совместимая с DSS-вызовами.
- Достаточно оперативной памяти для загрузки видеофайлов.
- Графический режим **320x256** (режим #81) или **640x256** (#82).
- **Covox-Blaster** (или совместимый) для воспроизведения звука.
---
## Формат видеофайлов (.SPR)
Плеер воспроизводит файлы в собственном формате `.SPR`. Структура файла:
### Заголовок (HEADER_SIZE = 1045 байт)
| Смещение | Размер | Описание |
|----------|--------|----------|
| 0-2 | 3 | Сигнатура: "SPR" |
| 3-4 | 2 | Ширина кадра |
| 5 | 1 | Высота кадра |
| 6 | 1 | Отступ по Y |
| 7 | 1 | Отступ по X |
| 8 | 1 | FPS |
| 9 | 1 | Код частоты звука |
| 10-1033 | 1024 | Палитра (B, G, R, 0 — 256 цветов) |
| 1034-1037| 4 | Смещение до аудиоданных (32 бита) |
| 1038-1039| 2 | Размер 1/5 части кадра |
| 1040-1041| 2 | Размер таблицы смещений (MFP) |
| 1042 | 1 | Количество страниц под таблицу MFP |
| 1043-1044| 2 | Размер последней страницы MFP |
### Данные
- После заголовка идёт **таблица смещений (MFP)**, которая содержит информацию о расположении данных в файле.
- Далее следуют **видеоданные**, разбитые на 5 частей (по частям кадра).
- За видеоданными — **аудиоданные** (формат — моно, 8 бит, частота зависит от кода).
---
## Управление
| Клавиша | Действие |
|-----------------|----------|
| **ESC** (код #76) | Выход из плеера |
- Проигрывание начинается автоматически после запуска.
- Для выхода достаточно нажать ESC в любой момент.
- А в целом пока любая клавиша...
## Запуск
1. Поместите видеофайл (`.SPR`) в ту же директорию, что и `player.exe`, или укажите полный путь.
2. Запустите плеер из командной строки:
player.exe <путь_к_файлу.spr>
---
Пример:
player.exe video/my_movie.spr
---
## Технические особенности
Видео отображается в графическом режиме 320x256 с использованием палитры 256 цветов.
Видеопоток разделён на 5 блоков, которые загружаются и отображаются частями для оптимизации скорости.
Звук воспроизводится через порт #4F (Covox-Blaster) с использованием прерываний.
Поддерживается работа с FastRAM.
(Ну это было в планах, но пока забил, так как машина на которой тестил, у нее FastRam не работает)
Плеер использует собственный механизм таблицы смещений (MFP) для навигации по кадрам.
## Известные ограничения
Только альфа-версия; возможны сбои при воспроизведении больших файлов.
Не поддерживается изменение громкости или перемотка.
Требуется корректная структура .SPR-файла; неподдерживаемые форматы приведут к ошибке.
Звук воспроизводится с фиксированной частотой
(пока это 11 кГц, в дальнейшем нужно сделать автоматическое определение из заголовка файла.
Возможность заложена, реализации нет).
## Сборка из исходников
Для сборки потребуется:
SjASMPlus (или совместимый ассемблер).
Компиляция выполняется с помощью скрипта make3.bat.
bash
make3.bat
Результат — player.exe.
## Благодарности
За использование DSS и BIOS-вызовов Sprinter.
Вдохновение от сообщества ZX Spectrum / Sprinter.
## Контакты
Автор: kostya261
Дата: 09.07.2026
Версия: 0.15.035 Alpha
## Лицензия
Данный проект распространяется в ознакомительных целях. Автор не несёт ответственности за возможные проблемы при использовании.