По сей день можно услышать, что мол-де старые “Моторолы” программируются самым что ни на есть содомским способом, обязательно с древнего компьютера с физическим COM-портом, и чтобы на нем стояла именно чистая MS-DOS. История эта идет из начала двухтысячных, когда вопросы, связанные с GP 300, особенно активно обсуждались в Рунете и, естественно, у кого с тех времен так и осталась инерция, а кто уже с нуля это все нагуглил. Причем даже тогда это недолго было актуальным.
Для программирования Motorola GP 300 и прочих раций того времени вы можете использовать любой компьютер и ноутбук, под управлением не только любой версии Windows, но и Linux, Mac OS X и так далее.
Секрет прост: еще в 2002 году вышла первая версия DOSBox – эмулятора, способного создавать нужное окружение для запуска досовских программ. Писали его в первую очередь для старых компьютерных игр, но для нас принципиально сейчас то, что DOSBox умеет “прокидывать” последовательный порт из хост-системы в созданное им окружение. Проще говоря, наличие на компьютере физического COM-порта вовсе не обязательно: в эмулированную среду можно перенаправить и виртуальный порт переходника USB-TTL, и даже программную “обманку”.
Содержание
Для простоты посмотрим, как установить и настроить DOSBox.
Шаг первый: скачиваем дистрибутив, соответствующий используемой операционной системе. Все они выложены на странице проекта на SourceForge, актуальная на момент написания версия – 0.74-3.
Скачиваем и устанавливаем. Перед тем, как приступить к конфигурации DOSBox, нужно также скачать саму программу для работы с рацией. Последнюю из известных версий можно найти прямо здесь, в файловом архиве.
RSS R08.01.00 - GP 300/GP 350
Извлекаем все файлы из архива в какую-нибудь папку на жестком диске. Для примера используем D:\GP_300. В файле README.TXT можно увидеть перечень номеров моделей раций, поддерживаемых программой:
Обратите внимание, что Motorola P110 этой версией уже не поддерживается. Для работы с ней используйте версию R07.00.00.
RSS R07.00.00 - GP 300/P 110
Если же речь идет о Motorola GP 300 Select-V, то для нее нужен собственный софт, несовместимый с прочими модификациями рации:
RSS R02.04.00 - GP 300 Select-V
Теперь можно приступать к настройке DOSBox. Вся его конфигурация задана в обычном текстовом файле, ярлык для которого сразу пропишется в меню “Пуск” Windows. Для Linux он будет лежать по адресу ~/.dosbox/dosbox-{version}.conf.
В нем редактируем следующие разделы:
[sdl] – отвечает за настройки отображения. По умолчанию DOSBox будет запускать программы в разрешении 640х480 пиксель-в-пиксель с реальным монитором, а даже при разрешении 1920х1080 на моем 24″ мониторе приходится реально напрягать глаза в этом случае. Поэтому прописываем
windowresolution=1024x768 output=ddraw
Теперь окно будет масштабироваться до указанного размера. Крупнопиксельные шрифты, конечно, тоже не радость, но их хотя бы можно читать, не утыкаясь в монитор.
[cpu] – настройки виртуального процессора для DOS-программы. Здесь все можно оставить на auto, изменив только
cycles=max
Дело в том, что для совместимости с разными играми DOSBox имеет возможность виртуально “замедлять” запущенную программу, и даже при настройке auto заставляет ее работать медленнее, чем она могла бы. Здесь возможны варианты, но лично на моей системе никакое замедление для работы с RSS не понадобилось, зато с ним были ощутимые “тормоза” даже при переходах по меню. Так что можно просто выставить виртуальную “тактовую частоту” на максимум, и только по необходимости (например, если программа зависает при считывании данных из рации) экспериментировать с замедлением (при запущенной программе это делает сочетание клавиш Ctrl+F11, текущее значение cycles отображается в заголовке окна).
[serial] – вот здесь уже пробрасывается COM-порт. Смотрим, где в системе прописался адаптер (о котором следующая статья):
Соответственно правим конфигурацию:
serial1=directserial realport:com5
В этом случае наш адаптер на порту COM5 запущенная в DOSBox программа будет видеть как COM1. В целом для работы с Motorola RSS программа уже готова, однако для удобства спустимся еще ниже.
[autoexec] – этот раздел можно произвольно наполнять DOS-командами, которые будут выполнены сразу после инициализации эмулятора. Прописываем:
mount C D:\GP_300 C: GP350.exe - для R08.01.00 или GP300.exe - для предыдущих версий или GP300-5T.exe - для GP 300 Select-V
Теперь при запуске DOSBox будет автоматически монтировать папку с распакованной RSS как виртуальный диск C: и сразу запускать RSS.