ZX Spectrum
Game

Code Compressor 1

LERM Software (Великобритания),

Автор неизвестен

Жанр: Программы и утилиты


Язык

  • Русский
  • English

Управление

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

Игроков

  • Один

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

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

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

Неофициальное издание
Играть!
Оригинальное издание
Играть!
  •  Описание (авт.пер.)
  •  Информация
Описание Code Compressor 1 (автоматический перевод)

КОД Компрессор 1 – LERM ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

ВВЕДЕНИЕ

Это руководство вместе с программой подлежит законов об авторском праве,

и кроме как для личного пользования, не может быть воспроизведена в какой-либо форма. Помимо юридического аспекта, мы просим, ​​чтобы вы обратите внимание на время и усилия, которые были направлены на программы, вместе со стоимостью реклама – безусловно программа стоит платить за !! У нас есть не Обеспеченный CC1, так что вы можете легко перенести его на диск, если у вас есть один. Для тех, кто не доволен CC1 вы должны вернуть программу Сразу для того, чтобы претендовать на полный возврат

Что программа?

Lerm КОД Компрессор 1 (CC1) это утилита, которая будет сокращаться Машина код вашей программы (которая может быть расширена еще раз когда- загружен) и тем самым сэкономить на пространстве и времени загрузки. Сокращение пространство достигаются путем выявления блоки из одинаковых байт и заменив их на 1-3 байт в зависимости от обстоятельств. Используя это утилита, экран может быть уменьшена на 20-60% обычно.

Одним из наиболее ценных последствий этого является то, что сжатие него

может помочь переход на Micro, Вафа, или дисководом, некоторые долго программы, которые не могут быть загружены непосредственно с вашего диска как они стоять. Эти программы, которые вызывают эти проблемы являются те, которые имеют большой блок машинного кода с адресом низкой нагрузки (байты начать погрузка в адрес 2500 или ниже). Такие блоки не могут, например, быть загружены из м / диска, так как они занимают пространство, необходимое для м / привод каналы и буферы (даже больше места требуется Вафа-диск). При использовании CC1 машина кодовый блок может быть уменьшена в размер, так что он может быть загружен непосредственно с накопителя. После загрузки в сжатом блоке, один вызов рандомизации USR будет “вернуть” дополнительные байты, используемые диске (т.е. восстанавливает систему переменные в своих «Power Up” ценностей). RAMTOP то можно сбросить до его Требуемое значение (через соответствующий четкие инструкции) и блок Код расширен другим рандомизации USR вызова, и, наконец, вы можете вернуться к основной или перейти непосредственно к вашей машинного кода.

Погрузки в CC1

Просто перемотать ленту на начало. Введите LOAD “” и нажмите кнопку воспроизведения на вашем

рекордер, а затем ждать, пока загрузка не будет завершена.

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

следующие процедуры, изменяя синтаксис в соответствии с вашим систему привода. В Пример ниже мы предполагали, что у вас есть AM / диск. (Я) Введите CLEAR, 39999. (б) Введите НАГРУЗКИ “” КОД 40000 и играть в байтах СС1.

После загрузки завершена типа и запустить следующую программу, адаптированы в соответствии с требованиями.

10 PAPER 0: INK 0: ГРАНИЦА 0: CLS

20 НАГРУЗКИ * “м”; 1; “cc1c” КОД 16384 30 рандомизации USR 16384: СТОП 40 SAVE * “м”; 1; “cc1c” КОД 40000,2048 50 SAVE * “м”; 1; “cc1” LINE 10

Теперь введите RUN 40, и программа будет сама спасти. Линия 40 экономит 2048

байт машинного кода, и линия 50 весь основной программе.

Линия 10 очищает экран, строка 20 нагрузок является “cc1c” КОД в адрес 16384, и линия 30 запускает программу cc1.

ИНСТРУКЦИЯ ПО ЭКСПЛУАТАЦИИ

() Загрузка в вашей программе

После загрузки, CC1 всегда перечислены доступные варианты. Это будет читать в

блоки только байт; BASIC и массивы не могут быть решены путем CC1. Также CC1, потому что использует ряд системных переменных важно, чтобы они не повреждены. Таким образом, начиная адреса менее 23800 не допускаются, а максимальный размер блока, чем может быть решаться CC1 является 41736 байт.

Доступные опции загрузки являются:

л – Загрузите блок байтов, принимая как начальный адрес и

    Длина от заголовка. Если начальный адрес меньше 23800 в     Сообщение об ошибке дано.

    Используйте эту кнопку, чтобы загрузить, если код имеет заголовок, и что заголовок

    указывает на загрузку в адрес не менее 23 800 (на Lerm     Программа чтения Расширенный Заголовок “читает” заголовки). Любая попытка     загрузить блок кода при низкой адреса приведет к ошибке     Сообщение.

г – Переместить следующий блок байтов, принимая его длину от

    Заголовок. Вам будет предложено предоставить подходящую начальный адрес     в которой блок должен быть загружен.

    Эта опция используется для кода с нормальной головой, купить вы должны

    решить, где CC1 следует загрузить код. При использовании клавиши “R” к     нагрузка, и вы входите 28000 как “начальный адрес” это     эквивалентно НАГРУЗКИ “” CODE 28000.

ч – нагрузка в Headerless блок байтов. Вам будет предложено для     подходит “START АДРЕС”, с которой блок должен быть загружен, просто     как в “R” выше. Эта опция не проверить исходную паритета     байт, который загружается в начальный адрес минус один, например, если вас     выбрать начальный адрес 25000 для ваших байт для загрузки, они     будет действительно сработал в 25000 и за ее пределами, но в дополнение адресу     24999 будут повреждены, и содержат так называемый байт четности.     Для КОДЕКСА это обычно 255.

Сообщение об ошибке будет происходить в случае заправки ленты ошибки. ЭТО

НИКОГДА не происходит при чтении HEADERLESS блок. Используя приведенные выше варианты Вы можете загрузить столько блоков байтов, которые необходимы для программы.

(Б) Активация компрессора и экономии

Когда вы закончите загрузки все вы требуете, удерживая

CAPS SHIFT ключ, затем нажмите «C» ключ (т.е. ENTER КАПИТАЛ C). Ты Затем будет запрошен (I) начального адреса и (II) окончательный адрес байтов, которые будут сжаты.

например если вы загрузили 6912 байт в адрес 40000, и хотите, чтобы

сжать все байты то начальный адрес 40000, и FINAL 46911 адрес (да есть 6912 байта от 40000 до 46911 ВКЛЮЧЕНО!)

(III) Затем будет предложено для расширения целевой адрес (т.е.

адрес первого байта, на который расширяется код должен быть переехал). Этот целевой адрес может быть таким же, как начальный адрес (И часто будет!), Но если это не то она должна быть не менее 3 BYTES ниже. Вы не будете иметь право использовать бессмысленные значения.

Пример 1. Исходное адрес = 40000 Final адрес = 46911            Целевая адрес = 16384

Строка экран был загружен в 40000 и затем прессуют. Когда

расширен снова он переехал в 16384-23295 включительно.

Пример 2. Исходное адрес = 23900 Final адрес = 65530            Целевая адрес = 23900

Вот оригинальные байты были загружены в 23 900, а затем занять до

и в том числе адрес 65530. байт будет сжат CC1, но при расширении снова, восстановив системные переменные в нормальные “мощность до” ценности, необходимо, чтобы они вновь занимают свои исходные места (то есть от 23 900 до 65 530), так же, как они должны были бы был ли загружен с ленты.

(IV) Следующий этап требует от вас, чтобы показать, что это должно быть сделано после того, как

Расширение произошло. Вы можете выбрать либо возврат к основным (Позиция 1), ИЛИ машинный код прыжок (позиция 2). С последнего варианта вы будет предложено для прыжка адрес (то есть количество рандомизации USR от которая машинный код обычно выполняется.)

(V) Если сжатие завершения вам будет предложено ввести

Имя файла, с которым сжатый код должен быть сохранен. Основание АДРЕС сжатого кода будет отображаться вместе с запрашивать делая ленты копию. Запишите адрес базы, как это будет адрес, с которого код сохраняется, и это Рандомизации USR номер, который будет “истребовать” системные переменные.

Примечание: CC1 сжимает код в направлении верхней части памяти.

Пример 3. В примере 1 мы имели начальный адрес 40000, конечный адрес

46911, и целевой адрес 16384, сжать строку экрана. На этап (IV) мы бы выбрали, чтобы вернуться в основной. На этом этапе Типичный базовый адрес может быть 43300. Это означает, что следующее изменения были бы сделаны CC1:

                    Начальная адрес Final адрес Длина Перед сжатия 40000 46911 6912  После сжатия 43300 46911 3612

Таким образом CC1 сжал код, окончательный адрес всегда будет

такой же, но количество байтов будет снижена, экономию, в приведенном выше Пример с 6912-3612 = 3300 байт. Когда экономия имеет место CC1 волю сохранить 3612 байт, начиная с 43300. Отметим также, что это адрес, по которому сжатый код должен быть загружен снова для Расширение пройдет. Заголовок уделено код автоматически перезагрузить код в базовый адрес, но вы не должны повторно направить код, используя, например, загрузка “” КОД 20000.

Первые 15 байта сжатого кода (в ex.3 от 43300 до 43314) содержат машинного кода для восстановления системных переменных в нормальные “власть до” значения упоминалось ранее. Следующий сто или около того подпрограмма расширение, которое с учетом каждого сжатого блока (т.е. он имеет начальные, конечные и целевых адресов).

Повторные копии сжатого кода получают путем прессования капитал

C. Когда вы закончили работу с CC1, удерживая колпачки перейти ключ и нажать клавишу “Q” (т.е. ввести смертную Q), и CC1 будет NEW ваш Spectrum.

ИНСТРУКЦИЯ ПО ЭКСПЛУАТАЦИИ – расширение

Как упоминалось ранее, важно, чтобы все блоки сжатых

Код загружаются на их правильному адресу (то есть базовый адрес – который дается в заголовок ленты). В будущем мы будем обозначать значение этого адреса по B (в ex.3 B = 43300).

(Я) Для установки системных переменных для их нормальной “мощности до” ценности использования

Рандомизации USR B (важно для владельцев дисков, которые нарушают систему переменные по активации свои диски). Вы не можете восстановить системные переменные в таком случае вы можете пропустить этот шаг.

(Б) Для расширения блока байтов их требуется целевой адрес использования

Рандомизации USR (B + 15), то есть в обычной расширения всегда 15 байт дальше от базового адреса. Расширение рутинные первые экземпляры Сама в буфер принтера (на 23296), а затем выполняет оттуда.

Если вы хотите, чтобы расширить код в принтер буфер расширение процедура может быть перенаправлен для запуска с экрана, тыкая (B + 18) и (В + 19) с требуемой адресу. например Для перемещения процедуру расширения до 20000, а 20000 = 78 х 256 + 32, вы бы POKE (B + 18), 32 и POKE (В + 19), 78 (заметим, младший байт, в данном случае 32, ПЕРВЫЙ).

Пример ИГРА – SCRABBLE – для передачи применение приводов

(Это один из нескольких вариантов, которые доступны, так что нагрузку

адрес и / или адрес USR могут отличаться в вашей версии)

Загрузите большой блок машинного кода в CC1 с помощью клавиши “L”. От

LERM Расширенный читатель заголовок вы заранее знаете, что этот код загружает в адресной 24400 (что также число USR) и является 41135 байт длиной. Как начальный адрес слишком мала, чтобы загрузить в коде прямо из м / диск мы должны CC1.

После загрузки в оригинальных байт от вашей ленты нажмите капитала C.

Введите начальный адрес 24400, конечный адрес 65535, и TARGET ОБРАЩЕНИЕ 24400. Тогда запросить возврат к основным (позиция 1), когда предложено. Когда сжатие было завершено введите нужный файл Имя (скажем, “scrab”). CC1 будет означать, что базовый адрес сжатый код 26568, который является удобно свободным от M / приводом Площадь канал. Теперь сохраните копию сжатого кода на ленту.

Перевести этот код на свой диск с одной из наших программ (если

доступно), или, если нет, то ввести CLEAR, 26567 (на один меньше, чем базовый АДРЕС), а нагрузка “” CODE и играть в “scrab” кода из ленты.

Теперь сохраните прямо на вашем диске (например, для м / привод ввести SAVE * “М”; 1; “scrab” КОД 26568,65536-26568). Эрудит BASIC должны сейчас быть изменен следующим образом:

10 CLEAR, VAL “26567”: НАГРУЗКИ * “м”; VAL “1”; “scrab” КОД VAL “26568”:    Рандомизации USR VAL “26568”: CLEAR VAL “24395”: рандомизации USR VAL    “26583”: рандомизации USR VAL “24400”

и сохраняется на диске в автозапуск от линии 10 (изменить как

подходит для вашего диска)

Объяснение: сжатый код “scrab” загружается в, очевидно, Количество быть, как обычно, на один меньше, чем начальный адрес кода. USR 26568 восстанавливает системные переменные в нормальном “включении питания” значения. Следующая CLEAR, 24395 нормальная очистки значения (при Целевой адрес – оставить по крайней мере, 5 байт), то рандомизации USR! 26583 расширяет код обратно в исходное состояние. Наконец Рандомизации USR 24400 оригинальный USR звонок в машинный код. Заметка что все инструкции размещены с одним номером линии, и VAL часто используется. Это сохраняет размер основной до минимум.

(Обратите внимание, что в прошлом USR 24400 можно было бы опустить, если, при использовании

CC1 на стадии (б) (v) мы выбрали ключевой 2 (таким образом, не возвращаясь к Основной), и вступила в адрес перехода из 24400).

Пример – ЭКРАН STRING

Нагрузка в CC1. Нажмите клавишу “R” для загрузки. Давайте представим, что сказать

от адреса 40000 является «свободным». Поэтому, когда просят ввести начальный адрес введите 40000. После загрузки вашего экрана строку из ленты, введите Начальный адрес 40000, конечный адрес из 46911, и TARGET ОБРАЩЕНИЕ 16384. Выбор ключа 1 (возвращаясь к основной). После сжатие, CC1 дает вам базовый адрес 43912. Сохранить с необходимости имя файла (скажем, “тест”) на ленте. Новая программа по ввод капитал Q.

Чтобы перезагрузить ваш сжатый код введите и запустите эту программу:

10 CLEAR, 43911: LOAD “тест” КОД 43912

20 рандомизации USR 43912: рандомизации USR 43927

Примечания: CLEAR, номер на единицу меньше, чем базовый адрес, код

загружает в базовый адрес, и хотя количество не было строго Необходимо, полезно, чтобы держать. Рандомизации USR 43912 может иметь опущены, как диск не был использован, и поэтому система переменные вероятно, не были изменены. Рандомизации USR 43927 посылает байты экран.

LERM CC1-v1, (в) 1986

Краткая информация о Code Compressor 1

Играйте в Code Compressor 1 без эмуляторов прямо на сайте. Это приложение для программирования, которое создал неизвестный автор, было опубликовано творческой группой LERM Software в 1986 году в Великобритании.

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

Subscribe
Уведомлять об
guest
0 комментариев
Inline Feedbacks
View all comments

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

  

Справка[X]

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

  • x1
  • x2
  • x3

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

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

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

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

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

Поделиться
Close
0
Would love your thoughts, please comment.x