Revival #04
20 октября 1997
  Софт  

Система - Конвертация программ PC -> ZX (TZX, SNA, TAP, Z80, Hobeta).

<b>Система</b> - Конвертация программ 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:  Конвертацию графики, думаю рассматривать не стоит. Если
вы  считаете по другому - пишите. Возможно, когда-нибудь коснусь
и этого вопроса.





Другие статьи номера:

Вступление - авторы и содержание номера.

Новости - язвительный отчет с Enlight'97 и неофициальные результаты, предварительная инфа о новом пати Funtop'98.

Новости - Inforcom - текущее положение дел. Что из себя представляет "ZX-РЕВЮ N3,4": подробное описание номера.

Новости - "Digital Reality что новенького?"

Новости - Мини интервью со Славой Медноноговым: Черный ворон дело близиткся к концу.

Новости - Новая ОС для ZX Spectrum: мини интервью с Павлом Фединым.

Система - Конвертация программ PC -> ZX (TZX, SNA, TAP, Z80, Hobeta).

Экспертиза - Экспертная проработка игры ENTERPRISE.

Обзор - Обзор новых программ : Dragonia, Dinamite Dux, Guella War, Ring Wars, Spike Harold, Stryker in the Crypt of Trogan, 1999.

Почта - DOOM на спектруме : мир или реальность.

Энциклопедия - Испанософтография (софтография всех испанских спектрумовских фирм).

Энциклопедия - Эволюция Спектрума в России.

Энкицлопедия - крякология Codebusters (полный список кряков).

Интервью - интервью с Юрием Матвеевым/STEP (создатель Звездного Наследия и журнала Спектрофон).

Армагедон - Арифметика из преисподней (из газеты Московский комсомолец).

Редакция - авторы номера и адреса редакции.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Предисловие - IRON MAN с нами.
Игрушки - Nomad: интервью с автором скролл-шутера Nomad (Hippiman).
Мир звуков Спектрума - глава 4.2: Программирование звуковых эффектов - Управление громкостью.
От автора - Ориентировочный график ENLIGHT'97...
Обзор новья - пресса: Heresy #7, Lamergy #2,#3,#4, Body #32, Promised Land #01, AC Edit 0.60fix. Игры: Kill Pokemon, Moor Hunter, Net Walker.

В этот день...   21 ноября