Revival
#04
20 октября 1997 |
|
Система - Конвертация программ PC -> ZX (TZX, SNA, TAP, Z80, Hobeta).
┌──────────────────────────────────────────────────────────┐ ┌─┴──────────────────────────────────────────────────────────┴─┐ │ CИСТЕМА │ └─┬──────────────────────────────────────────────────────────┬─┘ └──────────────────────────────────────────────────────────┘ ┌───────────────────────────┐ │ ∙ КОНВЕРТАЦИЯ IBM -> ZX ∙ │ └───────────────────────────┘ Конвертация программ ──────────────────── (Для тех, кто знаком с IBM PC) Empty spaces - what are we living for Abandoned places - I guess we know the score On and on, does anybody know what we are looking for... Queen. The Show Must Go On Хочу рассказать о том, как можно конвертировать спектрумовские игры из форматов .sna, .tap и .z80 в HoBet'у. Думаю, вам известно, что спектрумовский софт в Интернете в подавляющем большинстве случаев находится именно в этих форматах. .Z80 ──── Для конвертации я использую эмулятор UKV. В этом-то и кроется проблема. UKV v1.2 не может работать с 48-ыми .Z80, так что их приходится конвертировать в формат .SNA-48 с помощью программки SPCONV. При этом все, что от вас требуется - это написать: spconv game.z80 game.sna И у вас 48-ой .sna, который можно без проблем (хмм... не всегда) загрузить в UKV. Но допустим, что у вас 128-ой .Z80. В этом случае запускаем эмулятор, жмем ESC (попадаем в отладчик). Теперь в меню FILE входим в опцию "SELECT SNAPSHOT FORMAT" (выбираем ".Z80 128"). Далее грузим snapshot ("READ SNAPSHOT FILE") и запускаем его (F9). Если все работает, как часы, то можно заняться конвертацией. Входим в отладчик (ESC), затем неплохо бы прямо в нем разобраться, какой у программы стартовый адрес. Или, хотя бы, выяснить, какие страницы заняты и насколько. Определив, где что находится, можно сохранять содержимое нужных страниц: в меню DATA выбираем "WRITE BLOCK" и вводим строку: game1 , address , length где game1 - имя PCшного файла, в котором будет сохранен блок, address - шестнадцатиричный адрес начала записываемого блока, length - его длина (тоже HEX) Записав таким образом всю необходимую информацию, выходим из эмулятора (ALT+X в отладчике). Теперь в директории можно обнаружить сохраненные файлы. Чтобы их перегнать в формат программы HoBeta, которая переводит файлы с PC на ZX и обратно, можно воспользоваться программой PCTOBETA, обратившись к ней так: pctobeta game1 game1.$c GAME1 где game1 - конвертируемый файл, game1.$c - имя создаваемого хобетного файла, GAME1 - имя, которое будет иметь файл на спектрумовском диске Можно сразу воспользоваться HoBet'ой, но копировать PCшный файл не по F5, а по ALT+F5. Теперь у вас на диске должна иметься переконвертированная игра в виде нескольких файлов. А уж как вам заставить ее работать - не мне вам объяснять. .SNA ──── Эти снапшоты тоже можно конвертировать через UKV, при этом способ конвертации мало чем отличается от описанного в главе про .Z80. Единственная разница - возможность конвертации как 48-ых, так и 128-ых снапшотов. Не забудьте только выбрать нужный режим в FILE/SELECT SNAPSHOT FORMAT. И еще: игры, переконвертированные из .sna и .z80 обычно требуют реставрации. Не поленитесь пройти программу до конца, просмотреть, не запорчены ли где спрайты. Также в переконвертированном блоке может быть много мусора: копии экранов, неиспользующиеся данные и т.п. Их неплохо бы убрать. .TAP ──── Их конвертировать проще всего. Для этого есть по крайней мере 2 способа. Проще всего запустить программку TAP2HOB. Она прекрасно извлекает блоки из tap'ов, записывая их в формате хобеты, т.е. решает сразу все проблемы. Остается только переконвертировать игру с помощью этой самой HoBet'ы. Но есть одно "но": эта программа не годится для тех тапов, которые имеют в своем составе блоки без заголовков. А это почти все игры с уровнями + львиная доля обычных. Тут-то и пригодится программа TAP2TRD. Она перегоняет все содержимое тапа в образ Шалаевского эмулятора. Как ей пользоваться. Допустим, имеется файл game.tap. Создаем с помощью программы zcop образ диска Шалаевского эмулятора: zcop disk.trd где disk.trd - имя образа диска. Теперь вводим в командной строке следующее: tap2trd disk.trd game.tap Теперь содержимое тапа в disk.trd. Разобраться с ним можно как в самом эмуляторе, так и непосредственно на Спектруме. В последнем случае скопировать образ диска на дискету можно, в частности, пользуясь встроенными в эмулятор дисковыми утилитами. Еще один момент, на который мне хотелось бы обратить ваше внимание: TAP2TRD не объединяет файл с его заголовком, а записывает его как два блока без заголовка: первый представляет из себя сам заголовок длиной в 17 байт, а второй - непосредственно данные. Вроде все. PS: Просьба не обращаться ко мне с просьбой прислать ту или иную из вышеупомянутых программ. PPS: Конвертацию графики, думаю рассматривать не стоит. Если вы считаете по другому - пишите. Возможно, когда-нибудь коснусь и этого вопроса.
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября