Список участников / Cracking Workshop, часть 5: 128K-программы

Scene+ #04

СПИСОК УЧАСТНИКОВ

(Только тех, кто не возражает против публикации)

В ответ на требование предоставить список участников, я решил напечатать его здесь. Все те, кто не желал, чтобы их адреса были опубликованы, и все те, кто «забыл» внести свой взнос за 97-й год, исключены из списка.

  • Arne Nielsen, Chr X's vej 10st, DK-8260 Viby 7, Дания
  • Dave Fountain, 11 Camel Rd., Silvertown, London E16 2DE, Великобритания
  • Guido Schell, Auf dem Stocke 37, D-32584 Löhne, Германия
  • Johan Koning, Mieden 6, 9866 TM Lutjegast, Голландия
  • Lothar Ebelshäuser, Graseggerstr. 49, D-50737 Köln, Германия
  • Manfred Messerschmidt, Wildtaubenweg 64, D-71334 Waiblingen, Германия
  • Martyn Sherwood (Prism), 13 Rodney Close, Bilton, Rugby CV22 7HJ, Великобритания
  • Peter Rennefeld, Genhodder 19, D-41179 Mönchengladbach, Германия
  • R. P. Roggeveen, Waterlustlaan 87, 2804 KX Gouda, Нидерланды
  • Ronald Raaijen, Hazepad 5, 8309 AX Tollebeek, Голландия
  • Thomas Eberle (SUC), Reinäckerstr. 4, D-70794 Filderstadt, Германия
  • Wolfgang & Monika Haller (SPC), Penningsfelder Weg 98 A, D-51069 Köln, Германия

CRACKING WORKSHOP Часть 5 — 128-битные программы

Да, прошло много времени с тех пор, как я в последний раз занимался крэкингом, но так как я еще не касался темы 128-байтовых (вернее, 128K) машин, я восполняю этот пробел сейчас. В принципе, все сказанное для 48K применимо и здесь, но есть несколько весьма специфических аспектов. В этой части Cracking Workshop я займусь лишь относительно неважным вопросом: как крэкеры размещают свои 128K игры/демо в нескольких файлах.

Что начинающему крэкеру нужно знать об устройстве памяти 128-й модели: существует в общей сложности восемь банков памяти, каждый из которых начинается с адреса 49152 и имеет размер 16384 байта. Два банка (2 и 5 или, по моей системе счисления, 18 и 21) присутствуют всегда (начиная с 16384 и 32768) и также могут быть отображены на 49152. Последний банк (7 или 23) можно использовать в качестве альтернативного экрана, что позволяет реализовать такие эффекты, как чересстрочная развертка (interlace) или многоцветность.

На практике для программ свободны следующие области памяти: 16384–49151 и 49152–65535 в банках 16, 17, 19, 20, 22 и частях банка 23. Все эти области могут использоваться программами, и, если их планируется задействовать, они должны быть сохранены и упакованы по отдельности. За советами по конкретным трюкам обращайтесь к Cracking Workshops 1–4. В любом случае, файл основного кода должен иметь начальный адрес 25800. Если файл кода начинается с 23296 (редко для 128K программ), вы должны загрузить его по другому адресу и при запуске программы скопировать обратно на старое место (с помощью LDIR).

Все упакованные банки после переключения (OUT 32765, bank : POKE 23388, bank) также копируются на нужное место с помощью LDIR и распаковываются, все по очереди, даже если приходится дозагружать некоторые банки. Кстати, начиная с 49152 может находиться только один банк, затем должна быть включена нужная страница памяти, когда загружается весь программный блок.

И лишь в самом конце загружается, распаковывается и запускается основной код (банк 16). Если кто-то хочет проследить это на примере демо, то именно так я упаковал BRAG в последнем выпуске. Ну, на самом деле все было похоже, потому что в демо вообще не было основного кода. Проанализируйте Basic-часть! Попробуйте загрузить её в режиме 48K.

Вы можете получить у меня Daley Thompson's Supertest 128 и Neverending Story 128, если докажете, что у вас есть оригинал. Обе игры упакованы по этому методу. Преимущества: более короткое время загрузки (особенно с +D дисков), лучшее использование места в директории +D и многое другое.

Если вы присылаете 128K программы для SCENE+, пожалуйста, упаковывайте их именно так; если они не упакованы, мне приходится делать это самому. Совсем особые случаи среди 128K программ — это «Longload-файлы», которые во время загрузки сразу переключают банки и таким образом загружают все 128K целиком. Но такие программы очень трудно крэкать, на переписывание загрузчика требуется много времени.

Что ж, на этом пока все, желаю успехов с вашими 128K крэками/демо!
Ваш Tiger's Claw


Тест: Pendragon 64

Английский производитель Rocksoft, который ранее выделялся среди прочих программным обеспечением для генерации заголовков и оборудованием для C64 и Spectrum, выпустил новый интерфейс для Spectrum. Название этой чудо-вещи — Pendragon 64, и она раскрывает свою полную мощь только в сочетании с игрушкой под названием Nintendo 64.

В этом месяце мне прислали первую тестовую версию, и я смог детально её протестировать. Мой вердикт: я в восторге. Что же это за интерфейс за 50 фунтов? Он содержит 8 мультиплексоров, 256 КБ EPROM, 1 МБ ОЗУ (расширяется до 16 МБ с помощью SIMM), Z80 DMA и некоторые другие чипы. С помощью плоского шлейфа устройство соединяется со слотом для картриджей Nintendo 64 и берет над ним полный контроль.

Конечно, монитор при этом должен быть подключен к Nintendo, так как экран Spectrum отображал бы только мусор — видеопамять используется для адресов ввода/вывода.

В EPROM находится быстрый, мощный расширенный Basic, который по скорости и возможностям превосходит AMOS на Amiga. Он примерно в 50 раз быстрее AMOS, а после компиляции может быть еще в 10–20 раз быстрее. Команды для 3D-графики позволяют делать феноменальные вещи, что доказывают прилагаемые игры. Стандартные эффекты: масштабирование растровых изображений, вращение вокруг всех осей, деформация, учет освещения, сглаживание и многое другое. К сожалению, Nintendo задокументировала не все эффекты, но при некотором терпении и желании поэкспериментировать можно докопаться до всего. Я сам нашел код для волнового эффекта.

В целом присутствуют все команды Sinclair, а также около 500 дополнительных команд для звука, графики и процедур. Например, чтобы вращать текстурированный куб на экране, достаточно этой простой программы:

DEFINE FIG 1 AT 40
DEFTEX FIG 1,1 TO 6, AT 410
KAMERA 45,90,90
.Rotation:
WAIT VBL
ROTATE FIG 1,2,0,0
GOTO Rotation

Перед этим данные текстур должны быть размещены начиная с 41+0, а куб, созданный в редакторе объектов, сохранен с адреса 4L0. Определение объекта программным кодом также возможно.

Так как аналоговый джойстик также может быть соответствующим образом опрошен, игры с этим инструментом управляются особенно точно, что заметно в прилагаемых программах. Да, несколько программ поставляются в комплекте, одна из них — расширенная версия ELITE, глядя на которую кажется, что перед тобой графика Raytracing, можно даже садиться на планеты, и всё это на Basic! Встроенный компилятор делает игру еще быстрее, это просто нужно увидеть. 3D-эффекты в гиперпространстве просто невообразимо красивы, можно даже разглядеть пилотов в кабинах вражеских кораблей, если подойти достаточно близко. Все работает плавнее и красивее, чем когда-либо на Pentium, даже Pentium II 300 МГц.

Так как порт расширения Spectrum сквозной, можно без проблем подключить +D; EPROM Pendragon может работать совместно с +D, так как он не «затеняет» EPROM Spectrum, а всегда перекрывает его.

С Pendragon, как уже упоминалось, поставляются кассета и три диска. На дисках записаны две игры: ELITE +64 и MECHWARRIORS +64, а также 3D-приложение SCULPT 5D для анимации в реальном времени, качество которой приближается к Raytracing. На кассете содержатся 5 урезанных версий, в которых меньше текстур. Понятно почему: текстуры занимают больше всего места.

Другие игры уже в разработке, включая фантастическую ролевую игру, демо которой я получил. Нужно видеть, как герои ходят по футуристическому городу и отстреливают пришельцев или путешествуют на гигантском боевом корабле к другим планетам. Название этой RPG: RETURN OF THE ANCIENTS. Сюжет: старые боги возвращаются, и они совсем не довольны тем, как развивалась Земля. Недолго думая, они решают наслать на нас расу кровожадных пришельцев и получают от этого огромное удовольствие. Но герой истории выяснил, что нужно сделать, чтобы прогнать богов и их «ручных собачек».

Игра выйдет в этом месяце и будет стоить около 20 фунтов. Pendragon 64 доступен с 1.04.97 в Rocksoft, c/o Anthony Rook, Lirpastreet 1/4, Graytown, Liverpool, HA14 97HA, Англия.

— Ну что, кто-нибудь обнаружил нашу шуточную статью в этом выпуске?

Поделитесь вашим мнением о статье