«Дошли руки» до адаптации отгрузок к системе +3DOS. Первым делом попробовал поэкспериментировать с наиболее популярной игрой ELITE. Тем более, что в ней имеется классическое меню отгрузок. За основу была взята кассетная версия 128К с WOS, как наиболее удачная и уже с адаптированным к +3DOS загрузчиком.
К недостаткам этой версии могу отнести только отсутствие оригинального шрифта. В плане полноты, разнообразия кораблей, артефактов, описанных в литературе, эта версия удовлетворит запросы большинства геймеров.
Вообще, как многим известно, существует много разных версий, в том числе и бесчисленные переделки для TR-DOS, которые потеряли всякие признаки первоистока. Наиболее распространенная версия адаптированная к TR-DOS – это версия от Joystick Club. Не хочу хаять эту версию, так как в далекие годы детства играл в нее и радовался наличию адаптированной процедуры отгрузок, что, как правило, в других играх местных коллекции было редкостью. А тут ELITE, да с адаптированной отгрузкой! Но я также не могу не отметить ряд ее недостатков. Во-первых использование файла доступа несколько ограничивает, не позволяет без перезагрузки загружать разные сэйвы, во-вторых сама версия от Joystick Club небезупречна. Отсутствуют некоторые корабли, при стыковке корабли не вылетают со станции, а также, по мнению ряда геймеров, она более легкая при ведении космический баталий.
На Virtual TR-DOS имеется распространненая версия с весьма измененным меню отгрузок, где по нажатию SS вам выдают голубые строчки меню. Смотрится это не очень красиво, потерян шарм, выдача секретного номера командира и вообще изменен интерфейс не в лучшую сторону! Понятно, что все перечисленные недостатки вызваны нехваткой пространства в ОЗУ, тем более что версии, как правило, рассчитаны на работу с 48к машинами… В случи адаптации под +3DOS такой проблемы нет, так как эта система стоит на машинке со 128к! Поэтому при адаптации я преследовал цель – «Не навреди!». Если и вносил что-то свое, то делал лучше чем было. Думаю, мне это вполне удалось.
И так, что и как сделано:
1. Загрузка и сохранение файла состояния игры на диск +3DOS. Название файла отгрузки и имя командира совпадает, за исключением того, что к имени файла добавляется расширение sav. Таким образом, после сохранения командира JAMESON, на диске будет создан файл JAMESON.sav. Введение дополнительного разграничения по имени файла счел лишним, думаю, ничего кроме путаницы и увеличения объема процедуры отгрузки это не даст. Представьте, что после ввода имени командира вам бы еще предложили ввести имя файла. Двойной ввод – нужен он? Заменить вод имени командира на ввод имени файла испортит исходный интерфейс. Так что остановился на оригинальном варианте, который был в кассетной версии. Этот вариант предельно четок, понятен и удобен.
2. При пересохранении командира на диске создается bak файл, то есть файл со старым состоянием переименовывается, например, JAMESON.bak. Это позволит исправить возможную ошибку, когда геймер буде сохраняться всегда под одним именем командира без добавления индекса. Например, игра не удалась и вместо возврата к старой версии можно нечаянно вызвать сохранение, нажать и все вы навсегда сохраните неудачный бой или еще что-то. Подсказки на подтверждение загрузки и сохранения я не сделал, так как это ведет к сильной доработке кода. Я старался ничего не трогать, и все запросы, которые появляются – все присутствуют в оригинале, только с измененным текстом.
2. Сообщение перед сохранением «Insert tape, then press any key» заменено на «Please waite...». Ожидание нажатия клавиши соответственно тоже убрано. Очевидно, что в дисковом варианте это не нужно, если дискеты не будет, появится соответствующее сообщение и после загрузки в дисковод диска операцию можно повторить. Надпись «Please waite» появляется как при сохранении, так и при загрузке и сигнализирует о процессе загрузки/сохранении.
3. При ошибке вместо сообщения Tape loading error появляется соответствующее сообщение об ошибке. В оригинальной версии ошибка печаталась только при некорректной загрузке, при сохранении такого сообщения не выдавалось. Я ввел несколько вариантов ошибок.
No disk, Disk is write protected, File no found, Bad file name, Full disk.
Полагаю этих вариантов вполне достаточно, при возникновении ошибки, которая не перечислена в списке выше, выдается сообщение Unknown error. Такое сообщение, скорее всего, всплывет, если использовать нестандартный формат дискеты. Сообщение Bad file name появляется при неверном имени файла, но в игре реально ввести только пустое имя.
4. Еще одно изменение коснулось количества символов в имени командира. Оно было сокращено с 10 до 8, что очевидно вызвано совмещением имени командира и имени файла. Также была доработана процедура ввода, после достижения 8 символов, процедура загрузки или записи больше не стартует. При попытке ввести 9 символ ввод просто блокируется, вы можете либо удалит 8 символ и предыдущие либо нажать ввод для запуска процедуры. Сделал эту доработку для удобства, так как пользователь заранее не знает сколько символом ему отведено для формирования имени командира и велика вероятность того, что он захочет больше 8… А так, у него появится возможность без создания лишнего сэйва придумать себе короткий и лаконичный псевдоним.
Версия проверялась на Spin и Real эмуляторе, а также на реальном ZX-Spectrum+3.
В саму игру долго не играл, но думаю ничего там плохого быть не должно, так как код не портил, уходил сразу в другой банк памяти и там делал свои дела… Те изменения кода, который проводил все проверил – ввод 8 символов и печать дополнительных сообщений.
И наконец, сама версия ELITE для +3DOS!!!




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

