Всем привет.
ИСТОРИЯ
Сегодня я хочу рассказать вам о своём небольшом проекте — Altirra Middle Runner (amr).
Всё началось с того, что, перебирая огромное количество программ для Atari, мне приходилось постоянно переключать конфигурации эмулятора Altirra.
Некоторые программы требовали BASIC, другие — извлечения картриджа. Третьи требовали другую версию ПЗУ — OS-B, четвёртой — больше памяти, чем выбрано в профиле по умолчанию.
Всё это меня утомило, ведь единственное, чего хотелось — это нажать на иконку с изображением диска или кассеты в Windows и сразу получить работающий эмулятор с нужными параметрами, а не тратить драгоценное время на выяснение в очередной раз, почему программа зависает или эмулятор вылетает с ошибкой.
Если кто не знает, есть такой стандарт описания параметров файлов — TOSEC. Возможно, вы заметили, что в названиях файлов, помимо названия программы, в квадратных скобках указана дополнительная информация, описывающая необходимое для её запуска оборудование.
Например:
Подробнее о спецификации TOSEC можно прочитать в интернете, а нас интересуют два параметра: [BASIC] и [OS-B].Код:Anti-Sub Patrol (1983)(Roklan)(US)[BASIC][OS-B][cr CSS].atr
Во-первых, параметр [OS-B] говорит нам, что нам нужна более ранняя версия Atari 800 с прошивкой «OS-B». Во-вторых, параметр [BASIC] говорит о необходимости вставить картридж с прошивкой «Atari Basic rev B.rom», поскольку он был вставлен отдельно.
Теперь нам достаточно указать аргументы при запуске эмулятора, чтобы выбранная нами программа успешно загрузилась.
Что она делает?
Имя файла передаётся программе amr в качестве аргумента, затем оно анализируется и определяются параметры необходимого оборудования.
После этого формируется строка запуска с аргументами эмулятора, и всё это передаётся в altirra.exe.
Чтобы эти параметры не перезаписывали основные настройки эмулятора, используется аргумент "/tempprofile".
Это тестовая версия программы, и она будет дорабатываться в будущем, но на данный момент она успешно определяет и позволяет корректно запустить эмулятор со следующими настройками:
На данном этапе этого вполне достаточно для запуска большинства программ, но в будущем список, безусловно, будет расширяться.Код:[BASIC] [OS-A] [OS-B] [XL-OS] [req 8K] [req 16K] [req 24K] [req 48K] [req 52K] [req 64K] [req 128K] [req 256K] [req 320K] [req 320KCOMPY] [req 576K] [req 576KCOMPY] [req 1088K] (PAL) (NTSC)
Ещё меня не давала покоя автоматическая загрузка кассет «Turbo 2000».
Altirra отлично справляется с этой задачей, но хотелось бы запускать такие файлы одним кликом.
К моему счастью, Altirra умеет работать с VFS (виртуальной файловой системой) и, в частности, с файлами внутри zip-архивов.
В результате возникла идея упаковать wav-файл с аудиозаписью в формате «turbo 2000» с именем «data.wav» в zip-архив, изменить расширение файла на t2k и настроить ассоциации для корректного запуска.
Единственный нюанс: для загрузки таких кассет необходимо предварительно запустить загрузчик T2000.
УСТАНОВКА
Для корректной установки amr просто распакуйте архив в папку Altirra.
Так, чтобы файл amr64.exe находился рядом с файлом Altirra64.exe.
Далее необходимо запустить "make_reg.bat". Он сгенерирует файл ассоциаций для реестра Windows - "amr.reg".
Этот файл будет использовать значки из папки "icons" и текущий путь для сопоставления amr64.exe со следующими типами файлов: atr atx bas car cas dcm pro rom xex xfd t2k.
При необходимости этот список можно расширить, добавив новые типы файлов.
Дважды щёлкните по файлу amr.reg и подтвердите изменения в реестре Windows.
На этом установка завершена. Осталось только поместить файл с прошивкой "Atari Basic rev B.rom" в папку "roms".
Этот файл критически важен и необходим для запуска программ, требующих "OS-B".
ЗАПУСК
Если вы всё сделали правильно, теперь просто нажмите на файл atari в проводнике Windows.
Поскольку всё находится в тестовом режиме, откроется окно консоли с описанием параметров, которые удалось (или нет) определить, а также строкой аргументов запуска Altirra.
В будущем, конечно, это окно не понадобится и отображаться не будет.
Для запуска кассет «Turbo 2000» также необходимо, чтобы файл загрузчика «T2000 loader.xex» находился рядом с amr64.exe.
После запуска эмулятора на экране появится надпись «T2000». После воспроизведения звукового сигнала необходимо нажать клавишу «Return».
После мерцания черных и серых полос появится название программы и необходимо снова нажать «Return».
Ваше дальнейшее участие не требуется и через минуту вы увидите результат загрузки.
По аналогии с форматом t2k для кассет, загружаемых из wav-файла, добавлен формат caz.
Это тоже zip-архив, содержащий файл data.wav.
Для Atari было выпущено немало кассет с аудиодорожкой, в которой воспроизводилась музыка или голос во время загрузки основной программы, и этот формат был создан именно для этих целей.
Также были немного изменены значок и генератор reg-файлов.
ссылка на архив — AMR_v0.08.zip









Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
