                 ░            ░▓▄▄▄▄▄
▄             ▓  ▓▀ ▀▀▀▓▄▄▄▄▄  ▀▓█▄ ▀▀▀████▓▄▄▄▄              ▓
██▓██▄▄▄     ▓░        ░    ▀▀▀▀▒▀█▓▄       ▀▀▀▀██▓██▄▄▄     ▓░
  ░▀▀▀▓███▓▄█▒                  ░  ▒   ▀░         ░▀▀▀▓███▓▄█▒
      ░  ▀▀█ ░                     ░                  ░  ▀▀█ ░


                     Quick Commander v3.21
                       История изменений


    [!] важное   [+] новое   [*] сделано лучше или изменено
       [?] скорее хуже, чем лучше   [-] исправлена ошибка

────────────────────────────────────────────────────────────────
    :: Версия 3.21
    :: Дата: 08.10.2026
────────────────────────────────────────────────────────────────

[!] QC работает под esxDOS на DivMMC с образами TRD на
    SD-карте, через ее эмуляцию TR-DOS: проверено с 0.8.9
    на Spectrum 48, 128, +2A/+3 и Pentagon в эмуляторах
    (узнает он 0.8.5 и новее; ZX-Uno и Next в режиме esxDOS
    не проверялись). QC сам узнает esxDOS
    и пишет "esxDOS" в окошке режимов. Что образу не нужно,
    там выключено: меню Care (на C QC пишет
    "Not available under esxDOS.") и режим autoKeep. T
    выходит из QC в TR-DOS самой esxDOS, как при запуске
    программы. Дисковод без образа сразу дает "No Disk.".
    Часы SMUC под esxDOS не работают, и QC их выключает.
[!] Под esxDOS QC можно сделать загрузчиком по умолчанию:
    файл TRDBOOT.BIN на SD-карте вместо TR-DOS Navigator, и
    Enter в браузере на любом образе без своего boot
    запускает QC. Ставит, настраивает и обновляет его Quick
    Setup (Navigator остается как TRDBOOT.NAV).
[!] Quick Setup настраивает не только файлы QC на диске, но
    и образ ПЗУ QC (qc_rom.C), резидент в памяти, Shadow
    RAM, а под esxDOS - TRDBOOT.BIN на SD-карте: при запуске
    он показывает, где нашел QC, и спрашивает, что
    настраивать.
[*] Комплект: образ диска QC_3_21.TRD (первым на нем boot,
    копия файла QC) вместо QC_3_21.SCL. esxDOS 0.8.9 на SCL
    не пишет, более старые версии SCL не открывают. На
    образе также образ ПЗУ (qc_rom.C) и TRDBOOT.BIN
    (trdboot.C) для Quick Setup.
[*] Save boot (S) пишет boot на место первого файла boot.B
    на диске (его и запускает TR-DOS), если они одной длины,
    а иначе тот удаляет и добавляет новый boot в конец.
    Раньше новый boot всегда добавлялся в конец каталога и
    не запускался, если на диске уже был boot (например, на
    образе комплекта).
[*] Если QC стартует в главном меню, а на диске нет
    basic-файлов, он сразу открывает файловое меню (пробел,
    как обычно, возвращает в главное меню).
[*] Окошко режимов: "autoKeep" и "Full" вместо "aKeep" и
    "Fullcat"; autoKeep (под esxDOS - "esxDOS") - под
    машиной, Full - под "res".
[*] Тексты комплекта по-английски: эта история изменений
    (hist_en.txt); краткое описание - readme.txt (было
    file_id.diz).
[?] Спрайтовый вьювер (Symbol Shift+v) пока выключен: его
    место нужно для работы под esxDOS.
[-] Часы CMOS: на сером 128 и +2 без часов QC показывал
    время ??:??:?? (порты часов дают там байты экрана).
    Теперь при запуске QC целый кадр читает регистр часов и
    без часов работает без CMOS.
[-] Quick Setup после записи на диск читает настройки
    обратно и, если они не записались, пишет "Not saved".
    Раньше он писал "Saved." и после Ignore на защищенном
    диске. Если диск в дисководе сменили, S ничего не пишет,
    а R и N ищут QC на новом диске (раньше S записывал
    настройки в чужой файл на месте прежнего). После ошибки
    диска ? возвращает к ней, а не к "No QC". QC 3.11b3
    настраивается как 3.05-3.11, а не как 3.20.

────────────────────────────────────────────────────────────────
    :: Версия 3.20
    :: Дата: 05.10.2026
────────────────────────────────────────────────────────────────

[!] Файлы, упакованные ZX0 (Einar Saukas), распаковываются
    так же, как Hrust: U и просмотр (v, V, z, Symbol Shift+v,
    Enter). Поток ZX0 узнаётся сам, по любому файлу (у ZX0 нет
    заголовка), а просмотр обычных файлов от этой проверки
    не медленнее. Стандарт QC для таких файлов: .zx0 (тип z,
    "x0" в поле старта) и .z_<тип> (тип z, "_" и исходный
    тип, как .p_<тип> у Hrust): U возвращает этот тип, а в
    панели такой файл раскрашен цветом исходного типа.
[!] Вьювер текстов читает UTF-8: текст переводится в cp866
    (русские буквы, псевдографика и знаки шрифта как есть,
    кавычки, тире, украинские и белорусские буквы - похожими
    знаками, остальное - знаком ?). Кодировка определяется
    сама, C переключает DOS/UTF (файл загружается заново).
    Первый экран большого текста появляется быстрее.
[!] Подсказка: ? и H показывают клавиши режима и что они
    делают (в рамке поверх панелей); клавиша в подсказке
    выполняет свою команду, ? и H закрывают её. Меню внизу -
    словами, с Help: "Copy Move Delete Rename merGe View
    Unpack muZ" и "Care_menu diskName Tr-dos Run_in_48k
    Saveboot"; остальные клавиши - в подсказке.
[!] Quick Setup 3.20 на диске комплекта (QS 3.20, идея -
    Looker, его QS 1.0 был для 3.04): настройки QC 3.05-3.20
    в его файле на диске - режим при старте, дисководы,
    полный каталог, мелодии, загрузка (у 3.05-3.11),
    резидент, CMOS, копия каталога, скорость дисководов,
    цвета типов файлов и QC.
    Клавиши как в QC, мышь; Save записывает, Default -
    значения релиза.
[!] Плэйер - PTxPlay Сергея Булбы (release 1, 2007) вместо
    PT3-плэйера r6. Играет и модули PT2: модуль без текста в
    заголовке находится по устройству заголовка в первых 3Кб
    файла (поиск UniSearch). В модулях PT 3.7 и новее команды
    1 и 2 с задержкой 0 сдвигают тон на один шаг, как в
    редакторе (раньше - не сдвигали). В строке названия -
    формат модуля (PT3.x, VT II или PT2).
[+] U и просмотр распаковывают файлы Hrust и ZX0 больше 32K:
    данные до 64K (у Hrust - до 56K) распаковываются прямо в
    страницы, без склейки и без переноса памяти коммандера.
    На 48K - до 16K (у Hrust - до 14K). U берёт файл любой
    длины (было - до 128 секторов) и записывает данные до
    65280 байт (255 секторов). Hrust распаковывается
    быстрее (файлы от 16K - на 19-25%).
[+] Панель показывает машину и всю ее память строчными
    буквами (zx 128k, pen 1024k, evo 4096k; atm, k/s, pro),
    а справа - res (было "resid"). Buffer теперь и в главном
    меню (вместо Memory). Под буфер QC, как и раньше, берет
    до 1024Кб; ZX-Evolution находится по порту x7F7 (#F7F7),
    в панели видны все ее 4096Кб.
[+] Вьювер картинок: экраны с бордюром (.bsc, 11136 байт).
    Экран показывается как обычно, а бордюр - одним цветом,
    самым частым в его рисунке. Сам рисунок бордюра пока не
    выводится.
[+] Rename: стрелки вниз и вверх записывают имя, как Enter,
    и сразу переименовывают следующий или предыдущий файл
    (так готовилось для QC 4.00).
[+] Вьювер картинок: A меняет цвета, как пробел (так
    готовилось для QC 4.00).
[+] Мышь в Quick Setup (Mouse): кнопки можно переставить
    (swapped: у ZX-Evolution левая кнопка - бит 0 порта
    #FADF, у Kempston-мыши там правая).
[+] Мышь: щелчок левой кнопкой по строке "Quick Commander"
    переключает главное и файловое меню, как пробел.
[+] Описание для разработчиков: конфигурации и их порты,
    настройки в файле QC, резидент и возврат в QC из
    программы, работа с TR-DOS, форматы файлов, лицензия
    распаковщика ZX0.
[+] Описания по-английски: guide_en.txt и tech_en.txt.
[*] Коммандер упакован ZX0 (Einar Saukas) вместо Hrust:
    файл короче, распаковка при запуске быстрее (0,6 с вместо
    0,9 с). Файлы Hrust U и просмотр распаковывают, как
    раньше.
[*] Указатель мыши - стрелка (так готовилась для QC 4.00)
    вместо прямоугольника 4x8 в инверсии: ходит по пикселям,
    видна поверх текста, при быстром движении не перескакивает
    к другому краю экрана. Видна и при отметке файлов правой
    кнопкой, и во время музыки. Та же стрелка в Quick Setup.
[*] Save boot и "res" в панели проверяют резидент и в конце
    его страницы (метка "Residentpresent!"), а не только в
    начале: если программа испортила конец (например, своим
    стеком), бут не сохраняется (так готовилось для QC 4.00).
[*] Break (Caps Shift+Space) закрывает вьюверы текстов,
    спрайтов и картинок, как Edit (так готовилось для QC 4.00).
    Раньше Break был пробелом: листал текст на страницу, менял
    цвета картинки.
[*] Распаковка - U вместо N (так готовилось для QC 4.00), имя
    спрашивается словами "Unpack file:".
[*] В режиме бута H - подсказка: программу H списка
    запускают Enter и 0.
[*] Сообщения короче: "Bad disk." вместо "Incorrect disk.",
    "Formatting..." вместо "Formating disk...", "Mask:" вместо
    "Mask for files:" (переименование по маске, CS+R).
[*] В комплекте TR-DOS 6.11E (Alone Coder, 2006) вместо 6.10E.
[*] Описание разделено на три текста: описание коммандера
    (guide_ru.txt), эта история изменений (hist_ru.txt) и
    описание для разработчиков (tech_ru.txt).
[?] Убрана команда H (упаковка файла в Hrust): память нужна
    под новое. Распаковка (U) и просмотр упакованных файлов
    остались. С ней ушла и S в режиме файлов: она
    переключала скорость упаковки (faStpack/Slowpack в
    панели, эта надпись тоже убрана). В режиме бута S - Save
    boot, как раньше.
[?] Вьювер текстов: кодировки WIN (cp1251) и KOI8-R убраны,
    остались DOS (cp866) и UTF-8.
[?] Убрана клавиша Y (информация об авторе) и щелчок мышью по
    названию коммандера, который её вызывал.
[?] Расширения .v и .V (модули Vortex Tracker II, с 3.05)
    больше не раскрашиваются: "лишние" (Sergey Bulba), так
    готовилось для QC 4.00. Их байты в сетапе остались на
    месте и не используются.
[?] Enter на коде запускает его сразу, с адреса старта (так
    готовилось для QC 4.00): адреса загрузки и старта больше
    не спрашиваются. Код, который грузится в экран (старт
    #4000..#5AFF: картинка или память с экрана), Enter
    показывает, как V. Файлы других типов, кроме basic и
    кода, Enter не запускает.
[?] Убран быстрый загрузчик Ursula 2.4 (Nick Patlaenko): код
    коммандера грузится функцией #3D13 TR-DOS (так готовилось
    для QC 4.00). С дискеты QC стартует примерно на 0,4 с
    дольше, зато грузится везде, где работает TR-DOS: в
    эмуляторах без портов ВГ93, с виртуальных дисководов и
    RAM-диска.
[-] На Pentagon 512/1024/4096 и KAY 1024 страница резидента
    (#D7) - 31-я (у KAY - 23-я), а QC считал её 7-й: Copy и
    Move затирали резидент, а версия в ПЗУ клала свой код в
    7-ю страницу, но искала его, настройки и резидент в 31-й
    (23-й): настройки из CMOS терялись или брались из
    случайных байтов, "resid" не было, Save boot не работал.
    Теперь QC сам находит эту страницу.
[-] ZX-Evolution: QC видел 512K вместо 1024K и включал
    турбо: проба Pentagon 4096 (порт #AFF7) попадала в #EFF7
    и включала режим Pentagon 1024, а часы (Gluk) писали в
    #EFF7 0 при каждом обращении (в эмуляторе MAME от этого
    Copy больше 128K зависал). Теперь порты ATM пробуются
    первыми, а часы оставляют в #EFF7 биты памяти и турбо.
[-] Mr Gluk Reset Service 6.3+: бит 7 ячейки CMOS #10
    запрещает Gluk запоминать дисковод, а QC с записью в
    CMOS писал туда номер дисковода и снимал этот запрет.
    Теперь при бите 7 QC ячейку #10 не трогает.
[-] Copy, прерванный (Abort) на "No Space", "Cat Over" или
    ошибке записи: следующая запись каталога входного диска
    считала свободное место по размеру выходного (с дисками
    разного размера - неверное число свободных секторов).
[-] После "No Disk." на том же дисководе (диск вынут, 5)
    головка теряла свой цилиндр: вставленный обратно диск
    читался не с тех дорожек (v показывал чужие сектора).
[-] Format: без диска начинал разметку (теперь, как Check,
    сначала проверяет, вращается ли диск); после прерванного
    (Abort) копирования на другой дисковод размечал дорожки
    не на своих местах; прерванный клавишей a сразу после
    начала портил дорожку 159; после Ignore на ошибке
    проверки остаток дорожки читался с дорожки 23.
[-] K (aKeep) на защищённом от записи диске с Abort: режим
    переключался, хотя на диск ничего не записано, и
    следующая запись каталога ставила или стирала метку на
    диске. Теперь всё остаётся как на диске.
[-] Rename: русские буквы во 2-м и 3-м знаке расширения
    портили адрес старта файла, а расширение не сохранялось.
    Теперь такое расширение не принимается, старт цел.
[-] У файла, длина которого кратна 256 и не сходится с
    числом секторов, длина считалась на 255 байт больше,
    чем помещается в его секторах.
[-] Распаковка Hrust (U и просмотр): файл с данными больше
    32K портил память, блок длиннее 32K (его конец потерян:
    так его сохраняла команда H) ронял коммандер, а файл с
    несжимаемым концом давал мусор или зависал.
[-] Плэйер: зависал на модуле с 0 позиций в заголовке (битые
    или переделанные модули); у модуля длиннее 16K или
    пересекающего границу 16-килобайтных частей файла вместо
    конца играло ПЗУ (такие модули теперь не играются);
    после p, f, l канал на огибающей молчал, пока модуль не
    задаст её снова; щелчок мышью по строке 23 в паузе давал
    случайную клавишу.
[-] Enter в просмотре текста, картинки или спрайтов
    (следующий файл): модуль дальше первых 16K файла плэйер
    брал не из той страницы памяти (мусор или зависание), а
    у файла длиннее 48K музыка шла поверх его байтов вместо
    панелей.
[-] Спрайтовый вьювер (Symbol Shift+v): у файла длиннее 48K
    дальше 48K вместо файла показывался экран.
[-] Мышь: на сером 128 и +2 без мыши QC считал её
    подключённой (её порты дают байты экрана), и указатель
    прыгал. Теперь при запуске кнопки мыши читаются целый
    кадр (так готовилось для QC 4.00).
[-] Мышь: щелчок по кнопке дисковода выбирал дисковод и во
    время "No Disk.", ошибки диска (и следующий щелчок по
    Retry не срабатывал), в care-меню. Теперь щелчок - как
    клавиша (1-4 для входного, Symbol Shift+1-4 для
    выходного), и дисковод выбирается только в панелях.
[-] Отметка файлов перетаскиванием правой кнопкой мыши: на
    полосе прокрутки отмечался файл, где указателя не было,
    а после меню строки 23 или кнопки дисковода файлы больше
    не отмечались (кнопка ещё и выбирала дисковод).
[-] После проверки диска (Check, Resdisk), не прерванной
    через Abort, ошибка диска в другой команде (Copy,
    Save...) показывала "Skip" на месте имени файла, хотя s
    там не работает.
[-] Buffer на 128K (и при старте с w) показывал 320 секторов
    вместо 384, если 8-я страница не используется: вычиталась
    страница, которой нет. Copy и Move брали все 384.
[-] Ползунок полосы прокрутки иногда не сдвигался (со 128
    файлами - с 22-го файла на 23-й) и перерисовывался зря,
    когда курсор оставался на том же файле.
[-] Вьювер текстов: коды 11 и 12 в режимах цвета
    показывались чужими знаками шрифта.
[-] Вьювер картинок: у экрана без атрибутов (6144 байта)
    правые 8 точек последней строки портились.
[-] Распаковка Hrust (U и просмотр): блок без данных за
    заголовком (так oh2c пакует пустой файл) затирал память
    коммандера, а блок с нулевой длиной данных U сохранял
    как файл из 0 секторов и переписывал дорожку на диске.
    Теперь такие блоки не распаковываются.
[-] Файл из 0 секторов (строки и надписи каталога): v, V,
    z, Symbol Shift+v, щелчок по нему и U читали 255 секторов
    оттуда, куда он указывает (каталог или следующие файлы),
    а U мог распаковать следующий файл под его именем. Теперь
    такой файл не читается.
[-] Сектор с меткой удалённых данных (защищённые диски):
    сообщение об ошибке показывало не те дорожку и сектор, а
    Ignore сбрасывал машину. Теперь это Error, как DISC ERROR
    у TR-DOS, и Retry, Abort, Ignore работают.
[-] Copy и Save на диск, где за концом каталога остались
    старые записи (бывает на чужих дисках): они попадали в
    каталог, свободное место уменьшалось, а при копировании
    нескольких файлов записи второго и следующих указывали
    не на их данные. Теперь после новой записи ставится
    конец каталога, как это делают Erase и m.

────────────────────────────────────────────────────────────────
    :: Предыдущая версия - 3.11 (28.04.2006)
────────────────────────────────────────────────────────────────


                 ░            ░▓▄▄▄▄▄
▄             ▓  ▓▀ ▀▀▀▓▄▄▄▄▄  ▀▓█▄ ▀▀▀████▓▄▄▄▄              ▓
██▓██▄▄▄     ▓░        ░    ▀▀▀▀▒▀█▓▄       ▀▀▀▀██▓██▄▄▄     ▓░
  ░▀▀▀▓███▓▄█▒                  ░  ▒   ▀░         ░▀▀▀▓███▓▄█▒
      ░  ▀▀█ ░                     ░                  ░  ▀▀█ ░


           (c) 1998-2026 Андрей Богданович (Spectre)
                 www.zxby.org  spectre@zxby.org
