Тотальная неудачница и убийца жёстких дисков.
#post-id: 5472-15-45
#original-date: 20.07.2015 Mon
#original-time: 3:45 PM
#original-day:  5472
#original-host: DOS 7.10

Продолжаем. Разобралась (вспомнила), как задать скорость повтора клавиш в DOS. Делается это как-то так.



Утилиты MODE.COM в DOSBox не было, поэтому я взяла её с волшебной дискеты, где DOS 7.10 (тот, который с Windows 98 идёт). Это из этого пошла другая проблема - утилита отказывалась работать в DOS 5.0, как ей сообщал DOSBox. Поэтому перед вызовом я указываю новую версию штатной досбоксовой утилитой, а после - возвращаю всё как было. На всякий пожарный.

К слову. Команда VER - стандартная для DOS. В DOSBox её просто немного подправили, добавив аргумент SET, который меняет сообщаемую программам версию. Если вызвать команду без аргументов, то она сообщит версию досбокса и сообщаемую версию (в оригинале сообщается версия DOS или Windows).

Если бы мне пришлось тоже самое делать в настоящем DOS, то там пришлось бы заюзать утилиту SETVER, которая не только где-то там хранит базу данных, какому екзешнику какую версию сообщать (кажется, она прямо в бинарник себе эти данные и пишет), но и загружается как драйвер через CONFIG.SYS. Тоесть сначала мы вызываем екзешник и указываем всё, что нам нужно, а потом перезагружаемся, и загруженный как драйвер екзешник уже перехватывает двадцать первое прерывание от программ м выдаёт нужным указанную версию.

Минус такого решения в том, что драйвер тоже кушает память, а в DOS её всегда не хватает. Ну и немного замороченно реализовано ^^'

Кстати, в заголовке поста фейковая версия DOS. Дело в том, что я как раз экспериментировала с утилитой MODE, ну и подменила версию.