ZX Spectrum
Game

Spectrum Interrupts

Your Computer (Великобритания),

Автор:

Жанр: Программирование: Asm


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

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

Язык

  • Русский
  • English

Управление

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

Игроков

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

Используя Spectrum прерываний

Все, начиная от программного обеспечения часы в автоматический

прокрутки экрана – Найджел Доре показывает вам, как чтобы отвлечь прерывание процедуры пользовательских создать очень мощный центр.

[Эта статья включена программа одна “мать” для 16k   и один для 48k, плюс шесть пример подпрограммы. Пользователь   Предполагалось, что для ввода мать программу, а затем введите   прерываний поверх него. Так как у меня   предоставил TZX с предварительно вошли списки вместо этого, у меня есть   Измененные ссылки на “входе” ниже “загрузка” или   “Слияние” в зависимости от обстоятельств. Статья заканчивается   описания отдельных подпрограмм образцов, к которым   Я добавил к сведению их названия программ на TZX. ]

Прерывание сигнала, посылаемого на микропроцессор, который

как правило, приостанавливает выполнение текущей программы – без программы подозревая об этом.

  Каждые 20 мс процессор Z80 в спектре получает прервать который заставляет его приостановить, что это в настоящее время делать и прыгать до 38 шестнадцатеричном или 56 десятичной где он увеличивает переменную КАДРЫ ssytem и сканирует клавиатуры доска так, что Спектрум знает, что вы набираете на клавиатуре, если что-нибудь. Если это прерывание может быть направлена ​​в другое место, чтобы рутинной пользователь это обеспечит очень мощный механизм, который будет иметь почти безграничные использования. То, каким образом Z80 реагирует на прерывание регулируется которые Прерывание режима его работы в; Z80 имеет три режима.

  Режим прерывания 0 позволяет прерывая устройство к месту одна инструкция на шину данных после прерывания для выполнение по Z80. Режим прерывания 1 делает прыжок на 38 шестнадцатеричное или 56 в десятичной и этот режим, что Спектр использует. Режим прерывания 2 является более сложным. Когда Z80 получает прерывание, он ожидает, что прерывания Устройство для размещения одного байта данных на шину данных, которые выступает в качестве низкой порядке адресу. Высокая порядок адрес приходит от зарегистрироваться. Z80 смотрит на это адрес, который дает ему второй адрес, что это то прыжки в.

  Последний режим обеспечивает способ отвлечь Z80 для подпрограмма пользователя для, хотя спектр не дает байт л требуемые данные, это означает, что Z80 считает его видит FFH или 255 в десятичной. Таким образом, мы должны только изменения, которые Я зарегистрируйтесь, чтобы адрес

        I * 256 + 255

и следующее одно очко к нашей рутине пользователя. Тем не менее,

Я регистр не могут быть перемещены так, чтобы

           I * 256

находится в оперативной памяти, не создавая помех экраном.

  Поэтому мы должны найти наш адрес вектора где-то в Оперативная память. Быстрый поиск находит подходящие векторы для обеих 16k и 48К машины:

           Я = 40

будет производить переход на 32348 для 16k машин,

           Я = 9

будет производить переход на 65129 для 48K машин. Чтобы

посмотрим, что можно сделать с этими прерывания сначала введите программа мать для конкретного станка, который позволяет Все последующие программы, чтобы быть совместимым между обоими машины. [Это первые две программы по TZX. ] Вот команды для превращения обычной или выключить:

    ПО

    16k LET = USR 32330     48k LET = USR 65180     OFF     16k LET = USR 32340     48k LET = USR 65190

  Поверните рутину на. [Так как программы по TZX есть (из

Конечно!) были проверены,] процедура должна работать.

Мать программа сама по себе добавляет одну полезную функцию: депрессия смены символа и пространстве вместе теперь выступает в качестве Перерыв но с этих дополнительных преимуществ. Новые Перерыв работы в петлях машина-кода, он очищает экран и возвращает Цвета в обычный черный на белом фоне. Использование этого перерыва когда не работает программа вызывает ажиотаж с Цвет Reset и Clear Screen.

  Чтобы понять, что процедура может сделать, выключить его и [слияние “Граница” от TZX]. Убедитесь, что вы превратились рутинные от и запустить новую программу. Поверните рутину назад и вы окажитесь пульсирующей границы дисплея и звук щелчка, который продолжается, пока самостоятельно программы работают.

  Вы хотели бы попробовать загрузку основной программы с кассета. Граница начнет пульсировать снова, как только Программа загружается. Эта программа обеспечивает его влияние на вывода содержимого счетчика кадров в порт который контролирует границу 50 раз в секунду.

  Остальные пять примеров может быть [объединенный] так же, но не забудьте взять большую заботу, что старая рутина выключен перед запуском программы мать, чтобы войти Новая процедура.

На рисунке 1.

[Это описано в тексте. На TZX: “границы”].

Рисунок 2 Это показывает, как ваш Спектр может генерировать

звучит в то время как вы вводите или запустить программу. [На TZX: “звук”.]

Рисунок 3 Это делает экран прокрутки автоматически, если

ключ н нажатии. [На TZX: “прокрутить”.]

Рисунок 4 Это обеспечивает при ошибке функцию звукового сигнала. Это вызывает

компьютер, чтобы звуковой сигнал при возникновении ошибки, пока Введите не является нажата. [На TZX: “errorbleep”.]

На рисунке 5 Это создает движущийся пейзаж в нижней части

экран, который может быть использован один из ваших собственных игр. Скорость, с которой движется наземные может быть изменен, тыкая 23681, который должен следовать Пок 23672,0. Это Программа должна быть сохранена, прежде чем бежать. [Конечно, Версия на TZX (“Пейзаж”) был. Но повторно сохранить его, если Вы хотите, чтобы использовать его в другой программе.]

Рисунок 6 Этот последний рутины генерирует отображение

24-часовой в верхнем правом углу экрана. Компьютер даже звуковой сигнал на час, все в то время как свою собственную программу бежит. Сохранить эту программу перед запуском. [То же замечание, как

для Рисунке 5. На TZX:. “Часы”]

Для игры в Spectrum Interrupts не нужны эмуляторы. Это приложение для разработчиков на ассемблере, которое создал Nigel Dore, было издано компанией Your Computer в 1983 году в Великобритании.

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

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

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

  

Справка[X]

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

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

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

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

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

Помощь

Размер

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

Диск

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