1

[b]НАЗАД, НА SPECTRUM![/b]

Автор: Slider, журнал RUSH #1

Конверсия эмуляторных файлов на реальный Спектрум.

Эпиграф: Каждому чайнику - чайником по чайнику!

Эту  статью  я  решил  написать  с целью помочь начинающим релизерам в
адаптации  спектрумовских  файлов  для  различных  эмуляторов  на real
Speccy. Наверняка эта информация покажется ламерской людям, съевшим не
одну  собаку  в  этом  деле.  Но  для народа, который так же, как и я,
начинал  с конвертации хобетных файлов с помощью STS, эта info будет в
самый раз.

Прежде  всего мы должны четко и ясно выяснить цель конверсии. Исключая
большинство   случаев  с  образами  дисков  и  hobeta-файлами,  у  нас
нормально  работающей  программы  никогда  не получится путем обычного
ковертирования.  Поэтому  цель  данной  статьи  рассказать,  как можно
получить  работающий  кодовый  блок  программы,  который  потом  можно
привести   в   божеский   вид,   предварительно   найдя   cheat-modes,
закомпрессировав,  добавив  титульную  заставку  и  прицепив  к  этому
всему чуду загрузчик.

А  теперь  непосредственно  перейдем  к  делу.  В  природе  существует
достаточно  много форматов эмуляторных файлов. Я попытаюсь рассмотреть
большинство   из   них,   те,   с   которыми   я   лично   сталкивался
непосредственно.  Причем  упор  будет  делаться  на  использование  по
возможности   именно   реального   Спектрума,  а  не  IBM  PC,  хотя в
большинстве  случаев  без  него  ну  никак  не обойтись (к величайшему
сожалению). Итак я встречал следующие типы форматов:

1. HOBETA.

Расширение  файлов  -  .$b,  .$c,  .$z и т.д. (может быть любая буква,
обычно  то, что стоит за значком $ является реальным расширением файла
на Спектруме).

В первых 17 байтах находится системная информация о файле, где 16 байт
-  имя файла и данные для каталога, а 17 байт - контрольная сумма. Для
удобной  конверсии  вам понадобится такая программа, как "Hobeta_v1.9"
by  Dr.Squizer  или  подобная ей "Hobeta_v0.2" by Alien Factory. После
конвертации  вы  получаете  стандартный  Tr-Dos'овский файл (или набор
файлов).

На  IBM  PC  существует масса конверторов из одного формата в другой и
почти  любой  файл  можно перевести в формат hobeta. Вот только они не
всегда будут корректно работать.

2. SNAPSHOT.

Расширение - .sna.

Один  из  самых  беспроблемно  поддающихся  коверсии  файлов. Народный
способ:  загружаете данный файл на Спектрум с адреса 16357 и начинаете
поиск   адреса   запуска   и   процесс  отделения  нужной  информации.
Рассказывать,  как  это  делается,  не  имеет  смысла, т.к. эта тема -
совершенно  отдельный  разговор,  и такую информацию можно попробовать
поискать   в   других  журналах.  Но,  полагаю,  у  людей,  занявшихся
релизерством игр, определенные навыки уже должны иметься.

Совет:    почти    всегда   необходимую   info   можно   выцепить   из
basic-загрузчика  такого  snapshot-файла,  который должен находится по
адресу 23755.

Файлы  различных  форматов  можно  загружать в PC-шный эмулятор, после
чего  выгружать  их  в  формате Snapshot (благо большинство эмуляторов
такое позволяют).

3. Z80.

Расширение одноименное.

Формат   представляет   из  себя  что-то  вроде  snapshot'а,  только с
упакованной информацией.

Метод   конвертации   состоит  в  использовании  программы  UnSnap  на
компьютере  IBM  PC.  Сия  прога работает следующим образом - Z80-файл
переводится в формат Hobeta, который на Спек конвертится вышеуказанным
методом.  После  этого  мы  получаем  совершенно  дикий  набор файлов,
загружающиеся в различные страницы и запускающийся по типу magic-файла
(со стеком на экране и всеми делами).

Для  того,  чтобы  получить непрерывный 48-и килобайтный блок, следует
загрузить  в  STS'е  файл  с  расширением  "0" по адресу 49152, файл с
расширением  "2"  по  адресу  32768 и файл, имеющий расширение "5", по
адресу   16384.  А  нужны  ли  дополнительные  блоки,  загружающиеся в
страницы 128Kb режима, будете определять непосредственно вы сами.

4. TAPE.

Расширение - .tap.

Формат представляет из себя кучу файлов (к каждому из которых в начале
приписана системная информация), слепленных в один.

Народный  метод конверсии: использовать программу, написанную Ticklish
Jim'ом   (of   BIS/Rush),   исходник  которой  прилагается  в  формате
ассемблера  Storm.  Сначала  .tap-файл  перегоняется  на real Spectrum
программой "Pencraft Copier", потом этот набор файлов конвертируется с
помощью  вышеуказанной проги, которой требуется предварительно указать
необходимые   параметры  (о  них  подробно  можно  прочитать  в  самом
исходнике конвертора, под названием "TAPtoZX1").

5. TapeZX.

Расширение - .tzx.

В  таком формате на IBM PC переносились программы, в большинстве своем
имеющие  навороченую  защиту  типа  Speedlock  и  т.п. Поэтому простой
ковертацией  с  помощью  конвертора "TZXtoTAP" на IBM PC в большинстве
случаев не обойтись.

Единственный  человеческий  способ  (не  считая  взламывания фирменной
защиты,  что  представляет  собой достаточно утомительный и трудоемкий
процесс)  -  это  загрузить такой файл в эмулятор и сбросить snapshot.
Причем  настоятельно  рекомендуется использовать для таких вещей эмуль
под   Windows,  т.к.  среди  виденных  мной  только  он  устанавливает
автоматический  опрос  любой  нажатой  клавиши  непосредственно  перед
запуском  программы  и вы можете выгрузить нормальный snapshot-файл, в
котором  еще  не  успели  выполниться  возможные  переброски некоторых
участков кода.

6. TR-DOS.

Расширение - .trd.

Единственный,  не считая hobeta, формат файлов, перебрасываемых на IBM
PC  из  операционки  Tr-Dos.  Представляет из себя образ Tr-Dos'овской
дискеты  -  т.е.  информация  с полного диска в одном файле (включая и
нулевую дорожку в начале).

Для  ковертации существует множество программ на IBM PC, например "AMD
Copier",  но  ни  одну  из  них я не заставил нормально работать, хотя
использовал    несколько    IBM-совместимых   компьютеров,   включая и
Pentium233.

Народный  метод:  берете и разделяете trd-файл на два блока, первый из
которых  будет  иметь  длину  в  4096  байт  (это информация с нулевой
дорожки).  Для  разделения  на два блока я лично использую простенькую
программу  на  IBM,  написанную  Steeler'ом  (of BIS/Rush) на Паскале.
После  этого  второй  блок  перегоняется на real Speccy на чистый диск
(например,  Pencraft'ом),  а  первый блок - на другой диск, после чего
этот  блочок  в  16  секторов  STS'ом  записывается  на место каталога
недавно   созданного   диска.   В  результате  вы  получаете  идеально
работающий  Tr-Dos  диск,  записанный  на  вашем родном спектрумовском
дисководе.

7. TELEDISK.

Расширение - .td0.

Тоже   образ   диска.  Программа,  позволяющая  на  IBM  PC  создавать
работающий  Tr-Dos'овский  диск, иногда отказывается работать, поэтому
лучше  использовать  ковертор  "TDCVT"  (на  IBM), перегнав td0-файл в
trd-файл, после чего действовать с помощью вышеуказанного метода.

8. SCL.

Расширение одноименное.

Образ  диска,  только  более  улучшенный  вариант  trd-файлов. Выгодно
отличается  от них тем, что в данном случае, если диск был не заполнен
до конца, то файл и будет занимать соответствующее количество места.

Что  из  себя  представляет формат, можно почитать в инструкции к "AMD
Copier".  Народный  метод  ковертации: ручками, с помощью STS. Другого
пока не обнаружено.

И,  напоследок,  для  конвертации файлов могу порекомендовать эмулятор
"X128",  который  понимает  форматы .z80, .sna, .slt, .tap, .tzx, .voc
(vocи  slt-файлы  мне  лично пока не встречались) и из него, вдобавок,
можно выгрузить в любой момент snapshot (и ему подобные) или же просто
определенный участок памяти.

И,  в  надежде  на то, что данная информация вам хоть немного помогла,
пожелаю  успехов  в  создании  ваших  собственных  качественных полных
версий фирменных программ.