Files
Sprinter-SDCC/examples/mdview
snark13 858e5755ad ChangeLog:
- big commit.
2026-06-10 10:35:48 +03:00
..
2026-06-10 10:35:48 +03:00
2026-06-10 10:35:48 +03:00
2026-06-10 10:35:48 +03:00

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.

# Заголовок первого уровня  
## Заголовок второго уровня  
### Заголовок третьего уровня  
#### Заголовок четвёртого уровня  

Текстовое форматирование

Жирный текст выделяется двойными звёздочками: **текст**

Курсив выделяется одиночными звёздочками *текст* или знаком подчёркивания _текст_

Встроенный код обозначается обратными кавычками

Зачёркнутый текст — двойные тильды: ~~текст~~

Ненумерованный список

Маркеры -, * или +:

  • Первый пункт списка
  • Второй пункт списка
  • Третий пункт с достаточно длинным текстом, который при необходимости будет перенесён на следующую строку с сохранением отступа

Нумерованный список

  1. Первый элемент
  2. Второй элемент
  3. Третий элемент

Цитата

Блок цитаты начинается с символа >. Несколько последовательных строк одной цитаты склеиваются в единый абзац с автоматическим переносом слов.

Блок кода (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 КБ, адреса 0x40000xBFFF).
    • Буфер файла — страницы EMM, отображаемые в W3 (0xC0000xFFFF)

TODO

  1. Увеличение размера документов. Снять лимит 128 КБ: Достаточно разрешить работать с большим кол-вом страниц памяти, пока оттестированно на работе с 8-мю страницами по 16Кб.

  2. Форматированные таблицы. Разбирать строки вида | ячейка | ячейка | с автоматическим выравниванием столбцов и отрисовкой разделительных линий (строки |---|---|). На текущий момент таблицы отображаются как обычные nowrap-строки без выравнивания.

  3. Поддержка кодировок CP1251 и UTF-8. Автоопределение кодировки по BOM, явное указание через аргумент командной строки (--encoding cp1251), возможность переключения кодировки во время просмотра (F8). Нужно прежде всего для документов на русском языке; CP866 кодировака уже поддерживается.

  4. Ускорение рендеринга. Кэш строк экрана. Оптимизация цикла вывода символов через BIOS WRCHAR (пакетный вывод, DMA).


MDView v0.2 · (c) 2026 Петров А.Г.