Дошёл до переписывания директив и чуточку подправил их работу:
- «D» - переход в DOS (E000)
- «M<address>» - построчный редактор дампа памяти в режиме 64 Кб
- «M<start>,<end>» - печатает дамп памяти в режиме 64 Кб
- «M<start>,<end>,,1<00-FF>» - печатает дамп ROM-диска
- «M<start>,<end>,,200» - печатает дамп памяти в обычном режиме
- «T<start>,<end>,<target>» - копирует ячейки в режиме 64 Кб
- «T<start>,<end>,<target>,1<00-FF>» - копирует ячейки ROM-диска в память 64 Кб
- Директивы C/F/S теперь работают только в режиме 64 Кб
- «X» - упрощён и модифицирует регистры через директиву «M7614»
Тем самым, директива M выполняет расширенный функционал, в зависимости от количества параметров.
А директиву R заменяет расширенный функционал директивы T, потому R упразднил.
Код подпрограммы вывода символа на экран будет частично векторизован:
Если в ячейках 7600/7601 будет нулевой указаталь, то ячейки 7602/7603 указывают на пользовательский драйвер.
(
Ни одна из известных программ не обнуляет эти ячейки, что гарантирует 100% совместимость.)
Исправил подпрограмму вывода символа:
- Более эконочиный вариант, жрущий стек на 6 байтов меньше
- Коды 0C и 1F теперь обрабатываются вне зависимости от Esc-статуса
- Код 1F дополнительно вызывает подпрограмму F82D (из "Холодного Старта Монитора они удалились)
- Отличные от Esc+Y последовательности передаются пользовательской ловушке