ZX Spectrum
Game

Present from Uncle, A

ZX Computing (Великобритания),

Автор:

Жанр: Утилиты: Разное


Доступные версии

 Неофициальное издание
Играть!

Язык

  • Русский
  • English

Управление

  • Клавиатура(?)

Игроков

  • Один
  • Описание
  • Описание (авт.пер.)
  • Информация

Подарок от дяди

          Наша благодарность Psion за разрешение использовать             их рутины и регулярно Эксетер            вкладчик Клайд Биш для объяснения                 как использовать его в полной мере.

[Как видно из первого пункта, этой статьи, и

  множество программ, которые идут с ним, имеет дело с машиной   Код рутина найти на ленте Horizons. Я выбрал   не повторить этот рутину на TZX, который идет с   это текстовый файл. Горизонты сама лента может быть найден на   Интернет – если нигде, конечно, на мир   Спектр и, предположительно, на TZX Vault.

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

                                  Ричард Бос, март 2011]

Разве мы не повезло, имеющий добрый дядя – или же она должна быть сэр

Дядя? – Кто дает нам подарок с нашими Спектры! Нет, не “Горизонты” лентой по себе, но особенно полезно рутина скрыта в его байт. Если вы хотели бы иметь Названия и сообщения большими буквами, Horizons стиле, затем читайте дальше. Все будет выявлено.

   Все это делается с помощью обычной машины код, загруженный в адд- ССГ 32256 (это байты которые автозагрузку до Программа работает). Как и большинство подарков вы должны знать, Что он будет делать, прежде чем вы можете использовать его с максимальной выгодой. Вот некоторые идеи.

   Перво-наперво. Как рутинную работу? Я не собираюсь утомлять вас с подробной информацией о механике Код. Если вы хотите, чтобы “препарировать” его, разборка дается в таблице А. [Эта таблица была исключена из этого файла. В эти дни вы можете получить лучший друг от вашего эмулятора.] Достаточно сказать, что информация о ширине и высоте Мультипликаторы (переменные хз и ух соответственно), коды символов для печати, вертикальное положение начала и горизонтальное положение старт (рассчитывается по программе) являются подается в буфере принтера. Это просто используется как удобно свалка, откуда подпрограмма будет забрать Информация для этого нужно. (Если вы не задумывались, почему что-либо LPRINTed после обычной печати был использован предшествует черной полосы, это информация по-прежнему остается в буфер.) Процедура машинный код ищет ROM характеризуются тер стол для персонаж для печати, затем производит картина пикселей на экране, который является хз раза шире и YS раз более высокие, чем в оригинале. Если вы хотите увидеть, как это работ ввести и запустить программу 1. Это Basic моделирование рутины. Это медленно, но это продемонстрирует принципы. (Кстати это действительно производит довольно хорошие названия в собственной записи (так в оригинале).) Попробуйте, и вы увидите.    Но больше механики позже. Давайте посмотрим, подпрограмма в действии. Прежде всего, необходимо рутину в машине.

Просто наберите

        CLEAR, 32255: LOAD “с” КОД 32256

   Нажмите кнопку ENTER и играть Side B вашего Horizons ленты.

Вы получите некоторые программы и байты указаны первыми, но после того, как около 2 минут код вам нужно будет загружать в. Когда ОК появляется сообщение, остановить ленту, введите в программу 2, запустите его и эксперимент. Например, попробуйте 2 для ширины и 3 для Высота. Вы увидите, что буква Н, который появляется будет в два раза шире и в три раза высокие, как обычно. Попробуйте 5 и 2. На этот раз H будет в 5 раз, как в ширину, и в два раза высокий, как обычно. Предел ширина 32. (Попробуйте ответить на ВХОД подсказывает с 32 и 1!) Все шире будет “обернуть”.

Попробуйте ширину 40, чтобы увидеть то, что я имею в виду. Предел высота 22. Все, что больше, окажется проблематичным!

   Когда вы экспериментировали достаточно долго, вырваться из ВХОД с СТОП, затем СПИСОК. Перечисление перед вами самое главное вы столкнетесь с учетом Печать рутина. Это водитель, который поставляет рутину с информацией для этого нужно работать. Так, давайте Внимательный взгляд. Как вы уже знаете, хз ширина множитель и YS высоты множитель. Переменная гг расстояние вниз по экрану (в пикселях) – 0 это верхний ряд, и р $ характер (ы) должны быть напечатаны. Подпрограмма загрузить этот Информация в буфер принтера начинается с линии 9998.

Переменная хх – начальная позиция по экрану – это рассчитано сначала, чтобы гарантировать, что печать на центральный Экран. Мы поместим эту строку большего эффекта (или по-поездка это!) позже. В тычет в соответствии 9999 поместить переменные в буфер (вместе с 8 и 255 в качестве маркеров) перед подпрограмма машинный код называется командой USR. После печати, возврат к основной программе.

   Не успели мы выйти из подпрограммы драйвера попробовать эффект изменяющий гг (линия редактирования 30). Аналогично р $ может быть изменен – попробовать более одного раза характера. Чтобы увидеть эффект линии 9998 добавить строки

        45 LET хх = (любое значение, попробуйте 0)

        47 GO SUB 9999: GO TO 60

На данный момент, это было бы хорошей идеей, чтобы сохранить BASIC

подпрограмма и код, готовы объединить его с ваших программ в будущем, вместо того, чтобы держать нахождения его на Горизонты лента. Чтобы сделать это, удалите строки с 1 до 70, оставив просто подпрограмма, добавить строку

        9997 CLEAR, 32255: LOAD “” CODE: СТОП

Затем сохраните и программу, и код, используя

        SAVE “печать” LINE 9997: SAVE “в” КОД 32256.300

и убедитесь, и программу, и код. [Это не на TZX.

Задача размещения немного кода на Horizons B.tzx является не как время отнимает так как это на ленте.]    Годится, вы видели хорошие новости; Теперь о плохом. Вероятность лемы. Если вы 48К владельцы пытались Загрузка кода в высокая адрес, вы обнаружили, что называя его вызывает «сбой». Вы найдете причину глядя вам в Лицо в разборке (таблица А). Посмотрите на линии (addres- СЭС) 32341, 32361 и 32409, и вы увидите буквы (ор Код) JP последовал ряд. Это называется абсолютным прыгать. Это означает, что, когда процедура достигнет этой точки она будет прыгать по адресу, указанному. Это верно, если у Вас есть загружен код в на 32256, но начать где-нибудь еще, и все скачки будет неправильно. Поэтому крах. Ответ – изменить адреса. Программа 3 (поставляется наша прославленная Редактор [Ray Старейшина]) будет делать именно это. По сути то, что его делает, чтобы ткнуть новые (исправленные) значения в тех JP COM- MandS, значения рассчитываются с которой вы начинаете.

Сохраните его с

        SAVE “печать” КОД (начальный адрес), 300

и помните, чтобы очистить (начальный адрес – 1) Перед загрузкой

его обратно в качестве части программы. Одно предупреждение. Не ответить на “Начальный адрес” строку со значением более чем 65067 или вы потеряете конец рутины! [Есть два версии этой программы на TZX. “3а Программа” является как ему появился в ZX Computing, но он содержит интересный и ироничный ошибка, которую я не мог сопротивляться в том числе для, гм, образовательные причины. “3b Программа” включает в себя натуральный Исправление.]

 UDGs

Это переселение решена, и получите проблемы два. Выполнить программу

2, но сначала заменить “H” с заданной пользователем графических (УДГ для краткости). Любое письмо будет делать. То, что кажется на Экран? Ничего. Причина этого снова найти в Таблица А. Посмотрите на линии ОП-кодом по адресу 32272. The Число в скобках является адрес переменной системы называемые символов. Это имеет значение два байта (номер) – нор Малли 0 и 60 – что говорит компьютер, где искать (в ROM) для набора символов – 8 х 8 картина pix- ELS, которые составляют каждый из персонажей. Печать машина Код просматривает этот набор, чтобы найти соответствие для характеризуются Тер вы хотите принтер. Как / вас / проектировать UDGs совпадение не нашли – значит пустой экран.

   Решение проблемы достаточно просто (хотя это Мне потребовалось некоторое время, чтобы понять). То, что вы должны сделать, это со- Винс машина, что набор символов она хочет выглядеть на не в ПЗУ, а в области UDG. Посмотрите на Pro- грамм 4. Строка 5 есть просто чтобы сделать UDGs отличается от нормальных столицах (подчеркиванием сверху и снизу). В строка 10 “ABCDE” должен быть введен в графическом режиме, хотя они не будут подчеркнуты и отображаются только после программа RUN. В тычет следующие его являются ключом. Они говорят Машина, что множество хочет начинается по адресу 64216 (216 + (250 х 256)). USR “”, первый байт из UDGs является на 65368. Разница, 1152, деленное на 8 (количество байт / символ) является 144, и 144 это код из первых УДГ! Если логика этого потерял вас, не волнуйтесь, просто POKE 216 и 250 (216 и 122, если у вас есть машина 16K).

   В тычет в конце линии 20 сброса CHARS его ориен- нальные позиции. В противном случае сообщения об ошибках и список будет нечитаемым.

 Рулонные названия

Итак, теперь мы можем использовать UDGs что же нам делать с ними! (Помимо от их непосредственного использования в названиях). Вот пара идей. Я называю их прокатки титулы. Они интересны в том, что они делают использование множества ROM символов перепроектировать в UDGs.

   Программа 5 отображает слово “SCROLL”, а затем постепенно закатывает его, оставив пустое место. Это может быть особенно эффективной, если она появляется в окне, окруженной янный аренда цвет фона. Линия DATA поставляет первый POKE внутри цикла в строке 5, с УДГ быть изменены, Затем начальный адрес в ПЗУ, где пиксель шаблон для начинается замена письмо. Обратитесь к таблице B [простой таблица некоторых персонажей и их наборов символов адреса в ROM – 15616 для пространства, 15880 для A, 15888 для B и так далее.

Я не продублировали его, так как он легко создать свой собственный должен кто-то хочет его], и вы увидите, что 16024 является запуск S, 15896 из «С» и так далее для слова прокрутки.

Причина альтернативных UDGs пересматриваются становится очевидным, во втором мешке. Это тычет в неизменном виде UDGs между, с 0 – пустое место. Буквы для р $ в линии 10 сусла вводится как UDGs (пока не пересмотрены). Когда программа Работает, он отображает ткнул узоры, но двигаться вверх один байт каждый раз это петли в строке 10, так что верхняя строка потеряли и пустые строки из переопределенными пространств двигаться в на занять место. Лучший способ понять, как эту программу (Или любой другой) работает, чтобы положить в слова свои. (Если Вы хотите, кроме 6 букв, то вам придется изменить предельное число в ф петли линии 5.) Использование Таблица B в получить номера вам данные, и помните, что UDGs должны использовать попеременно. Удачи.

   Программа 6 является продолжением этой ролика идеи, где, вместо пробелов, второе слово (наименований) переопределяется. Так, как SCROLL скатывается, ЗВАНИЯ катится. Кстати, если вас хотите использовать набор символов кроме этого в ПЗУ, вы может определить самостоятельно в оперативной памяти и указать машинный код подпрограмма к нему, установив СИМВОЛЫ 256 меньше, чем в Пуск- числе адрес. Я оставлю проектировании нового набора вам (или Вы можете шпаргалка его от более ранней маг).

   Теперь что-то более легкого. Очевидно, что вы можете использовать подпрограмма для заголовков, Horizons стиле, но как насчет какой-то Ани зований? Программы 7, 8, 9 и 10 используют процедуру, чтобы произвести такие эффекты.

   Программа 7 ставит каждого последующего слова в том же месте на Экран, как и предыдущий, но делает это больше (и раз- цвет ных), так что название “увеличивает масштаб”.

   Программа 8 переворачивает эту процедуру, так частях предыдущая слова остаются давая заблокированного эффект.

   Программы 9 и 10 подобны программа 8, но также перемещать позиция печати так, что название сдвигается вверх или вниз Экран дает эффекта перспективы.

 Очистка экрана

А теперь нечто совсем другое. Пространства.

подпрограмма будет вполне счастливо печатать эти и дать интересное CLS эффект. На самом деле, это больше “стереть”. Программы 11 и 12 будет демонстрировать. Бывший очищает экран в Серия 8 слева направо салфеток, начиная с верхней, where- так как последний очищает в серии вертикальных линий, начиная с левой стороны. В каждом случае линии 10 просто заполняет экран для протирания. Попробуйте поэкспериментировать с другими значениями для хз и YS. (Хз должны разделить именно в 32) Если добавить в государственной Мент, таких как бумага 4, то вы будете очистить и изменить цветной экран одновременно.

   Вы также можете использовать технику печати пространств очистить просто часть экрана (окна). Попробуйте программы 13. Это будет производить центральную очищенную область 48 пикселей вниз от сверху, с окном 16 символов в ширину и 8 в глубину. Если вас Чтобы очистить окно в правой или левой центре экрана то вам придется установить переменную хх, а и называть подпрограмма по линии 9999, не 9998 – см Программу 14.

   Компьютеры обычно печатают символы в экране оправдано фикации влево – как пишущая машинка. То есть они производят прямой левой рукой и рваный маржа правая. Книга (Или это журнал) печатается с правой и левой оправданным катионом. Оба поля являются прямыми. [Следует отметить, что, в отличие от Оригинал статьи, это обычный текстовый файл имеет рваную право Маржа.] текстовый процессор делает то же самое. Программа 15 оправдано ряет от центра, а это означает, что каждая строка из печати сбалансирован о средней линии и, таким образом, левый и правый края будут даже [вернее, одинаково неравномерно]. Это дает приятное смотреть на экран инструкций. В общих чертах, программа берет содержимое строки, состоявшейся в $, рубит его на строки максимальной длины 32 символов, без рубить слова, а затем использует процедуру машинного кода для сбалансировать каждой из этих линий по центру экрана. Как распечатке ред, листинг дает нормальные символы размера, но вы Можно, например, изменить с двойным размером, изменяя YS и хз на 2, и изменения всех 32s на 16 и 33s до 17.

   Для конца, вот действительно полезная программа (как Пух бы сказать). Программа 16 будет производить кассетные этикетки, если у вас есть Принтер. Названия печатаются два раза нормальный размер печати, и появляются как на позвоночнике и на стороне этикетку. Прямые печатные показать вам, где свернуть, чтобы соответствовать коробка. Если вы хотите, чтобы сделать полный крышку для стороны (И может позволить себе бумагу) добавить LPRINTs перед Копировать в сделать его достаточно долго.

   Ну, есть идеи. Отныне это до вас.

Удачи настоящее дяди!

Игра Present from Uncle, A запускается прямо на сайте. Эта утилита, выпущенная в Великобритании в 1985 году творческой группой ZX Computing, которую написал Clyde W. Bish.

Не запускается или глючит игра, или не можете пройти? Спросите в комментариях.

avatar
  Subscribe  
Уведомлять об
 

Сохранённые игры[X]

  

Справка[X]

Помощь уже в пути!

Не забывайте периодически сохранять игровой прогресс на сервере (клавишей F8), чтобы уверенно продвигаться вперёд!

Если вы гость на сайте, то прогресс будет сохранён только в памяти браузера и потеряется при закрытии. Чтобы этого не произошло - просто войдите в свой профиль.

Для загрузки сохранённой игры жмите F3 или откройте меню "Диск" кнопкой на правой панели.

Если игра не запускается, или у вас есть вопросы по игре - задайте их ниже.

Помощь

Размер

  • x1 [256x192]
  • x2 [512x384]
  • x3 [768x576]
  • Полный

Диск

Кликни в окно эмулятора, чтобы управлять!
<<<<
Close