129 lines
6.4 KiB
Markdown
129 lines
6.4 KiB
Markdown
# Sprinter Video Player (SVP)
|
|
|
|
**Версия:** v0.15.035 Alpha
|
|
**Автор:** kostya261
|
|
**Дата:** 09.07.2026
|
|
|
|
## Описание
|
|
|
|
Sprinter Video Player — это проигрыватель видео для компьютера **Sprinter**, написанный на ассемблере Z80. Плеер предназначен для воспроизведения файлов в специализированном формате `.SPR`. Программа работает с видеопотоком и звуком, используя аппаратные возможности платформы Sprinter.
|
|
|
|
> **Важно:** Это **альфа-версия**. Возможны ошибки и нестабильная работа.
|
|
|
|
---
|
|
|
|
## Системные требования
|
|
|
|
- Компьютер **Sprinter** (или совместимый).
|
|
- Процессор Z80.
|
|
- Операционная система **DOS** или совместимая с DSS-вызовами.
|
|
- Оперативная память 1 страница - код, 2 страницы - звук, и еще одна страница для загрузки 1/5 кадра.
|
|
- (итого для работы проигрывателя требуется 64кб ОЗУ)
|
|
- Графический режим **320x256** (режим #81).
|
|
- **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 кГц, в дальнейшем нужно сделать автоматическое определение из заголовка файла.
|
|
Возможность заложена, реализации нет).
|
|
*** Уже поправил, можно использовать как 8кГц, 11кГц и 22кГц... ***
|
|
|
|
## Сборка из исходников
|
|
Для сборки потребуется:
|
|
|
|
SjASMPlus (или совместимый ассемблер).
|
|
|
|
Компиляция выполняется с помощью скрипта make3.bat.
|
|
|
|
bash
|
|
make3.bat
|
|
main3.asm
|
|
Результат — player.exe.
|
|
|
|
## Благодарности
|
|
Сообществу телеграм канала Sprinter.
|
|
|
|
## Контакты
|
|
Автор: kostya261
|
|
Дата: 09.07.2026
|
|
Версия: 0.15.035 Alpha
|
|
|
|
## Лицензия
|
|
Данный проект распространяется в ознакомительных целях. Автор не несёт ответственности за возможные проблемы при использовании.
|