- big commit.
MDView — Просмотрщик Markdown для Sprinter
MDView — программа для просмотра документов в формате Markdown на компьютере Sprinter (процессор Z80). Документ хранится в отдельном W3 окне и не занимает основную RAM программы.
Возможности
- Документы до 128 КБ (8 страниц EMM по 16 КБ каждая)
- До 16 384 экранных строк в индексе
- Автоматический перенос слов по ширине экрана (80 столбцов)
- Горизонтальный сдвиг для широких строк (блоки кода, таблицы)
- Статус-бар: имя файла, диапазон строк, процент прокрутки
- Спиннер в строке состояния во время загрузки и индексации
- Поддержка «мягкого» склеивания строк в абзацах и цитатах
Запуск
mdview [имя_файла.md]
Если имя файла не задано, загружается README.MD.
Управление
Клавиша Действие
───────────── ────────────────────────────────────────
Up Down Прокрутка на одну строку вверх / вниз
PgUp PgDn Прокрутка на страницу (30 строк)
Home Начало документа
End Конец документа
Left Right Горизонтальный сдвиг (только nowrap-строки)
F1 Окно справки
F10 / Esc Выход из программы
Синтаксис Markdown
Заголовки
Поддерживаются уровни H1–H4. Уровни H5 и H6 отображаются как H4.
# Заголовок первого уровня
## Заголовок второго уровня
### Заголовок третьего уровня
#### Заголовок четвёртого уровня
Текстовое форматирование
Жирный текст выделяется двойными звёздочками: **текст**
Курсив выделяется одиночными звёздочками *текст* или знаком подчёркивания _текст_
Встроенный код обозначается обратными кавычками
Зачёркнутый текст — двойные тильды: ~~текст~~
Ненумерованный список
Маркеры -, * или +:
- Первый пункт списка
- Второй пункт списка
- Третий пункт с достаточно длинным текстом, который при необходимости будет перенесён на следующую строку с сохранением отступа
Нумерованный список
- Первый элемент
- Второй элемент
- Третий элемент
Цитата
Блок цитаты начинается с символа
>. Несколько последовательных строк одной цитаты склеиваются в единый абзац с автоматическим переносом слов.
Блок кода (verbatim)
Блок кода заключается в тройные обратные кавычки. Внутри блока текст отображается «как есть» без разбора Markdown:
#include <stdio.h>
#include <sprinter.h>
int main(void) {
puts("Hello, Sprinter!");
return 0;
}
Горизонтальная линия
Три или более символов ---, *** или ___ на отдельной строке:
Технические характеристики
- Платформа: Sprinter, процессор Z80 @ 21 МГц
- Кодировка: CP866 (DOS Cyrillic)
- Максимальный размер файла: 128 КБ
- Максимальное число строк в индексе: 16 384
- Режим памяти: small
- Код программы, cтек, данные, куча — окнa W1-W2 (32 КБ, адреса 0x4000–0xBFFF).
- Буфер файла — страницы EMM, отображаемые в W3 (0xC000–0xFFFF)
TODO
-
Увеличение размера документов. Снять лимит 128 КБ: Достаточно разрешить работать с большим кол-вом страниц памяти, пока оттестированно на работе с 8-мю страницами по 16Кб.
-
Форматированные таблицы. Разбирать строки вида
| ячейка | ячейка |с автоматическим выравниванием столбцов и отрисовкой разделительных линий (строки|---|---|). На текущий момент таблицы отображаются как обычные nowrap-строки без выравнивания. -
Поддержка кодировок CP1251 и UTF-8. Автоопределение кодировки по BOM, явное указание через аргумент командной строки (
--encoding cp1251), возможность переключения кодировки во время просмотра (F8). Нужно прежде всего для документов на русском языке; CP866 кодировака уже поддерживается. -
Ускорение рендеринга. Кэш строк экрана. Оптимизация цикла вывода символов через BIOS WRCHAR (пакетный вывод, DMA).
MDView v0.2 · (c) 2026 Петров А.Г.