ZX Spectrum
Game

Through the Square Window

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

Автор:

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


Язык

  • Русский
  • English

Управление

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

Игроков

  • Один

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

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

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

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

! 0 ^ ^ ^ ..

! B H11 H07 H10 H00 ЧЕРЕЗ H11 H07 H10 H02 S Q U R E H11 H07 H10 H00 W I N D O W

! 2 ^ ^ ^ ^ ^ ^

  Потерять себя в машинный код с самой маэстро. Тони Бейкер принимает вас на один шаг ближе создания идеального аркада                  с другой разгульной жизни.

! 0 ^ ^ ^ ..

Заметка

! 1 ^ ^ ^ ^ >Смотрите также букву “Short Cut удивлять” от >Вопрос # 6, после основной статье.

В этом месяце я представляю интересный маленький

Процедура, которая подходит к счастью в многих видео игра. Суть ее действительно очень просто – «Окно» появляется в верхнем правом углу экран и на нем вы можете увидеть часть лабиринта.

Клавиши управления курсором: ‘5’, ‘6’, ‘7’ и ‘8’ – без переложить – будет прокрутить окно по лабиринту в все четыре направления (на самом деле восемь направлений потому что вы можете пойти по диагонали, нажав два Ключи сразу). Другими словами, окно позволяет Вам видеть меньшую часть гораздо большей лабиринт – Путем перемещения окна можно покрыть весь лабиринт, но вы никогда не сможете увидеть все это сразу.

  Итак, что вы можете делать с ним? Ну, как это стоит, вероятно, можно иметь немного забавы пытается чтобы найти выход из лабиринта – вы начинаете в символ ‘S’ и отделка на ‘F’.

Дело в том, что вы можете только когда-либо увидеть часть лабиринта не портит игру – он просто делает это, что гораздо сложнее! Но если вы хотите, вы могли адаптировать процедуру (или добавить больше Basic) и сделать довольно всеобъемлющий игры. Окно всегда напечатаны в том же месте в черной тушью на белом ДОКУМЕНТ, но обратите внимание, что нормальное положение PRINT (А также бумаги и чернил цвета) полностью не зависит от машинного кода.

  Основные полностью отделен от машинный код. Позвонив машинный код от Основные вам прокрутить окно либо не в все или только один квадрат; Таким образом, если вы хотите, чтобы двигаться непрерывно, все, что вам нужно сделать, это повторяемость EDly вызываем процедуру машинного кода, над и снова и снова. Конечно, любое количество базовых линий может быть помещен между этими вызовами.

! 0 ^ ^ ^ ..

! B СЕРЬЕЗНО СООБЩЕНИЕ ! 1 ^ ^ ^ ^ Просто на всякий случай, что есть какой-либо серьезные программисты машинного кода, читающие это, Вы можете быть заинтересованы в “Call HL = HL * DE ‘ инструкция используется в программе. Это под- рутина в ПЗУ, который, как следует из ее названия, умножает HL путем DE, оставляя результат в HL.

В BC и DE регистры не изменяются, но Реестр поврежден.

  Еще раз, я положил вопросительные знаки в перечисление Hex коды, а абсолютная адреса – так что вы можете найти машинный код в любом месте вы хотите. Как только вы решили, где положить его вам придется заменить вопросительные знаки по адресу команды, которая имеет Этикетка, что я указал. Другими словами – где он говорит: “CD ???? ЗВОНИТЕ INC_COORD ‘, вы должны заменить вопросительные знаки с адресом инструкция помечены ‘INC_COORD’. Это адрес должен быть в Hex и с байт обратный порядок.

  Существуют две переменные, используемые в программе которые вы можете POKE от Basic, если вы хотите, чтобы.

Это X_COORD и Y_COORD которые хранят повторно соответственно X и Y координаты вершины левый угол окна (по отношению к верхнем левом углу лабиринта). X_COORD является хранятся в адрес 23728, и Y_COORD в 23729.

  Так что у вас есть! Больше не нужно тратить утомительные часы работает круглый Хэмптон-Корт – сейчас Вы можете потратить эти утомительные часы износа Ваши пальцы вместо. Счастливый глава царапин!

! 2 ^ ^ ^ ^ ^ ^

! B Машина код ассемблера Комментарии 7E INC_COORD LD, (HL): = координировать изменения FE18 CP Длина-8 C8 RET Z Возврат если координаты на                                       Максимальный 34 INC (HL) Прирост координат C9 RET 7E DEC_COORD LD, (HL): = координировать изменения A7 И C8 RET Z Возврат если координаты на                                       Минимальный (нулевой) 35 декабря (HL) Уменьшение координат C9 RET 3EF7 START LD A, # F7 DBFE IN, (# FE) Scan сегмент 3 к / BD E610 И # 10: = 10, если «5» нажата,                                       00 иначе 47 LD B, 3EEF LD A, # EF DBFE IN, (# FE) Scan сегмент 4 из к / BD E604 И # 04: = 04, если “8” нажата,                                       00 иначе B0 ИЛИ B 21B05C LD HL, X_COORD Подготовьте для регулировки X                                       координировать FE04 CP # 04 2809 JR Z, чтобы прыгать, если ‘8’ нажата,                                       но не ‘5’ FE10 CP # 10 2008 JR NZ, UP / DOWN Перейти разве ‘5’ нажата                                       без “8” CD ???? ЛЕВЫЙ ЗВОНОК INC_COORD Прирост координаты Х                                       (Окно Примечание движется прямо,                                       следовательно лабиринт перемещается влево.) 1803 JR UP / DOWN CD ???? ПРАВО ЗВОНОК DEC_COORD Уменьшение координаты Х 3EEF UP / DOWN LD A, # EF DBFE IN, (# FE) Scan сегмент 4 из к / BD E618 И # 18: = 08, если “7” нажата,                                       10, если ‘6’ нажата,                                       18, если оба ‘7’ & ‘6’ нажата                                       или 00, если ни нажата 21B15C LD HL, Y_COORD Подготовьте для регулировки Y                                       координировать FE10 CP # 10 2809 JR Z, DOWN Перейти если ‘6’ нажата,                                       но не ‘7’ FE08 CP # 08 2008 JR NZ, ОКНО Перейти если ‘7’ не нажата                                       без 6 CD ???? Звонок INC_COORD Прирост Y координат 1803 JR ОКНО CD ???? DOWN ЗВОНОК DEC_COORD Уменьшение Y координат 2A845C окно LD HL, (DF_CC) E5 PUSH HL Стек положение PRINT 2A885C LD HL, (S_POSN) E5 PUSH HL Stack PRINT координаты AF XOR: = 00 323C5C LD (TVFLAG), печати в верхней части                                       экрана FD365538 LD (ATTR_T), # 38 Набор цветов в черный на                                       белый 2AB15C LD HL, (Y_COORD) L: = Y координата                                       окно 67 LD H, HL: = Y координата                                       окно 112000 LD DE, длина DE: = размер лабиринта CDA930 ВЫЗОВ # 30A9, HL = HL * DEHL: = (Y-координата)                                       * (Размер лабиринта) ED5BB05C LD DE, (X_COORD) E: = X координата                                       окно 57 LD D, DE: = X координата                                       окно 19 ДОБАВИТЬ HL, DE HL: = квадратный число                                       положение окна 11 ???? LD DE, лабиринт Точка DE начала                                       лабиринт 19 ДОБАВИТЬ HL, DE Точка HL для                                       необходимости квадрат 110108 LD DE, # 0801 D: = количество (число строк                                       печатать, E: = PRINT AT                                       координировать требуется 3E16 LOOP_1 LD, “at_ctrl” D7 RST # 10 PRINT AT 7В LD A, E D7 RST # 10 требуется ряд, 3E17 LD A, # 17 D7 RST # 10 17h; 0608 LD B, # 08 В: = количество столбцов в                                       окно 7E LOOP_2 LD, (HL): = следующий символ из                                       лабиринт 23 INC HL найденные на следующий символ D7 RST # 10 Распечатать этот персонаж в                                       окно 10FB DJNZ LOOP_2 Распечатать всю строку 0E18 LD C, Длина-8 BC: = смещение к                                       следующая строка окна 09 ДОБАВИТЬ HL, BC точка HL к следующей строке 1С INC E Прирост PRINT AT pos’n 15 декабря D 20EA JR NZ, LOOP_1 Повторите для всех строк E1 POP HL 22885C LD (S_POSN), HL Восстановление ПЕЧАТИ координаты E1 POP HL 22845C LD (DF_CC), HL Восстановить положение PRINT C9 RET ! 0 ^ ^ ^ ..

! 2 ^ ^ ^ ^ ^ ^

! B 10 УЧАСТОК 183103 Построить кадр для окна 20 РИСОВАТЬ 0,65 30 рисовать 65,0 40 вничью 0, -65 50 НИЧЬЯ -65,0 60 Пусть L = USR ????? Это относится к этикетке СНВ 70 GO TO 60

! 0 ^ ^ ^ ..

! B H11 H07 H10 H00USER DEFINED ГРАФИКА ! 2 ^ ^ ^ ^ ^ ^ Введите этот Hex в области User Defined Graphics вашего м / с.

! 0 ^ ^ ^ ..

Graphc 00 00 00 00 00 00 00 00

Graphc B 01 01 01 01 01 01 01 01
Graphc C 80 80 80 80 80 80 80 80
Graphc D 81 81 81 81 81 81 81 81
Graphc E FF 00 00 00 00 00 00 00
Graphc F FF 01 01 01 01 01 01 01
Graphc G FF 80 80 80 80 80 80 80
Graphc H FF 81 81 81 81 81 81 81

Graphc я 00 00 00 00 00 00 00 FF Graphc J 01 01 01 01 01 01 01 FF Graphc K 80 80 80 80 80 80 80 FF Graphc L 81 81 81 81 81 81 81 FF Graphc М FF 00 00 00 00 00 00 FF Graphc N FF 01 01 01 01 01 01 FF Graphc O FF 80 80 80 80 80 80 FF Graphc P FF 81 81 81 81 81 81 FF

! B H11 H07 H10 H00DATA ДЛЯ ЛАБИРИНТ ! 2 ^ ^ ^ ^ ^ ^ Это стоит того, чтобы друг, чтобы помочь вам ввести этот много! ! 0 ^ ^ ^ ..

53 9С 94 9С 94 9С 9С 9С 9С 9С 9С 9С 9С 9С 94 94 9С 9С 9С 9D 96 9С 9С 9С 9С 9С 9С 9С 9С 9С 9С 9D 93 97 93 97 92 9C 9С 9С 9С 9С 9С 9С 9С 95 93 93 9С 9С 9С 9С 98 9С 9С 9С 9С 9С 9С 9С 9С 9С 9С 95 92 98 99 93 9A 9С 9С 9С 9С 9С 9С 9С 95 93 93 93 93 96 9С 9С 9С 9С 9С 9С 9С 9С 9С 9С 9С 9С 95 93 93 9E 9С 98 9С 9С 94 9С 9С 9С 9С 9D 93 93 93 93 93 93 96 9C 9С 94 9С 94 9С 9С 9С 9С 9С 95 93 93 92 9С 9С 9С 9С 9D 93 9E 9С 9С 9С 9С 99 93 93 93 93 93 9A 9С 95 93 97 93 96 9С 9С 9С 95 93 93 93 93 9E 9С 9С 9С 9С 98 9С 9С 9С 9С 9С 9С 91 93 93 93 9А 9С 95 93 93 93 93 93 96 9C 95 93 93 93 93 92 9С 9С 9С 9С 9С 9С 9С 9С 9С 94 9С 95 93 93 93 92 9С 9С 99 93 93 93 93 93 93 97 93 93 93 93 93 93 9E 9С 9С 9С 9С 94 9С 9С 9D 93 97 93 93 93 93 93 9E 9С 9С 99 93 93 93 93 93 93 93 93 93 93 93 92 9С 9С 9С 9С 95 93 9E 9С 9С 99 93 93 93 93 93 9А 9С 9С 9С 9С 99 93 93 93 93 93 93 93 93 93 93 9А 9С 9С 9С 9D 93 93 96 9С 9С 9С 99 93 93 93 92 9С 9С 9С 9С 9С 9С 99 93 93 93 93 93 93 93 9B 93 9E 9С 9С 9С 9С 91 9A 91 96 9С 9С 9С 99 99 93 9В 96 9С 9С 9С 9С 9С 9С 99 93 93 93 93 93 92 9C 99 96 9С 9С 9С 9D 9А 95 93 93 96 9С 9С 9С 99 9А 9С 99 96 9С 9С 9С 9С 9С 9С 99 93 93 93 93 93 96 95 93 96 9С 9С 95 97 93 93 93 9А 9С 9С 9С 9С 9С 9С 9С 91 96 9С 9С 9С 9С 9С 9С 99 93 93 93 93 9B 93 93 93 9E 9С 99 93 93 93 92 9С 9С 9D 96 9С 9С 9С 9D 93 93 96 9C 9С 9С 9С 9С 9С 91 93 93 92 9C 91 93 93 96 9C 9С 99 93 93 9А 9С 9С 9С 91 9E 9С 9С 95 93 93 93 96 9C 9С 9С 9С 95 93 93 93 93 97 93 93 93 93 9E 9С 9С 99 9A 9С 9С 9С 95 9А 9С 9С 95 9А 99 93 93 93 9E 9С 9С 95 93 93 93 93 93 93 93 93 93 92 9C 9С 9С 9С 9С 9С 9С 9С 98 9С 9С 95 9A 9С 94 99 93 9A 9С 9С 9D 93 93 93 93 93 93 93 93 93 93 93 96 9C 9С 9С 9С 9С 9С 9С 9С 9С 95 92 9C 9D 93 9E 98 95 96 9C 9С 99 93 93 93 93 93 93 93 93 93 93 93 96 9C 9С 9С 9С 9С 9С 9С 95 93 93 9E 9С 98 9С 95 93 93 96 9C 9С 99 93 93 93 93 93 93 93 93 93 93 93 96 9C 9С 9С 9С 9С 95 93 93 9A 9С 9С 9С 95 93 93 93 93 96 9С 9С 99 93 93 93 93 93 93 93 93 93 93 93 96 9C 9С 9С 95 93 93 92 9C 9С 9С 95 93 93 9A 99 93 93 96 9С 9С 99 93 93 93 93 93 93 93 93 93 93 93 96 9С 95 93 93 93 93 96 9C 95 93 93 9A 9С 9С 99 93 93 96 9С 9С 99 93 93 93 93 93 93 93 93 93 93 93

97 93 93 93 93 93 93 97
93 93 9A 9С 9С 9С 9С 99
93 93 96 9C 9С 99 93 93
93 93 93 93 93 9A 98 99
93 93 93 93 93 9B 93 93

93 9А 9С 9С 94 9С 9С 9С 99 93 9В 96 9С 9С 99 93 93 93 93 93 9A 9С 9С 9С 99 93 93 93 92 9C 91 93 9В 96 9С 9С 99 9E 9С 9С 9С 98 9С 91 96 9C 94 99 93 93 93 9A 9С 9С 9С 9С 9С 99 93 93 93 97 93 92 9С 99 9E 9С 9С 9С 9С 9С 9С 9С 95 93 93 97 93 96 93 93 9A 9С 9С 9С 9С 9С 9С 9С 99 93 9B 93 93 93 96 95 96 9C 95 9E 9С 9С 9С 95 93 9B 93 93 92 91 93 92 94 94 9C 9С 9С 9С 9С 9С 9С 98 9С 99 93 93 93 9В 93 97 92 9C 9С 9С 95 93 9A 9С 99 93 93 9В 9С 9С 9А 91 9С 9С 9С 9С 9С 9С 9С 9С 9С 9С 99 93 93 96 99 92 90 9C 9С 95 93 9А 9С 9С 9С 98 98 9D 93 93 97 93 93 9E 9С 9С 9С 9С 9С 9С 9С 9С 9С 99 93 93 96 99 92 9C 95 93 9А 9С 9С 9С 9С 9С 9С 95 93 9A 99 93 9A 9С 9С 94 9С 9С 9С 9С 9С 9С 9С 9С 99 93 93 9E 99 97 93 9A 9С 9С 9С 9С 9С 9С 95 93 9А 9С 9С 98 9С 9С 9С 98 9С 9С 9С 9С 9С 9С 9С 9С 9С 99 9А 9С 9С 99 9А 9С 9С 9С 9С 9С 9С 9D 9В 46 ! 1 ^ ^ ^ ^

! B – с Вашего Spectrum # 4 (Jun.1984) –

! 0 ^ ^ ^ ..

! B SHORT CUT удивлять ! 1 ^ ^ ^ ^ Тони Бейкер имеет прекрасный ловкость придумывать с чем-то свежим и ее программы лабиринт в Вопрос 4 из Вашего Spectrum не является исключением. Однако когда-либо, те из нас, (как я), кто были немного пугают идеи правильно манипуляция в 1024 Hex пары могут возродить их дух с этим немного рутинной, который автоматизирует работу как насколько это возможно.

  Глядя на ряды чисел – как Napol- Армия Eon на марше – Я думал, “я никогда не буду сделать это “.” Это стоит того, чтобы друга, чтобы помочь “, она говорит; так почему бы не использовать наш дружный Speccy?   Посмотрите внимательно на нее. Во-первых, все числа начать с «9», так это то, что ком- пьютер может заботиться; нет никакого смысла носить Ваши собственные пальцы делать то же самое снова и снова. Это одна из вещей, ком- пьютеры являются для!

  Во-вторых, это намного легче держать в правильное место, если вы договоритесь, чтобы войти Числа в строках восемь, чтобы соответствовать распечатке в Вашем Spectrum.

  В-третьих, было бы хорошо иметь компьютер удержать счет, получая его распечатать линии и столбцов, как она идет вдоль – другое дело, что это хорошо.

  Так вот результатом короткой сессии в Клавиатура. Это позволило мне ключ во всех 1024 байт примерно в полчаса. Вы можете вернуться назад и исправить раздел, введя GO 200, как прямая команда, а затем введя строку Число на реплике. Я достаточно уверен, Результат думать есть некоторые глюки в перечисления в последние несколько линий, но я не знаю, именно то, что они должны быть, чтобы получить правильно обращается шаблон. Кроме того, есть опечатка в Листинг: “ED 5В B1 5C”, на полпути вниз страницы 22, должно быть «ED 5В B0 5C”, для того, чтобы загрузить координаты х.

  Во всяком случае, все лабиринты перегородка меня, даже при печати в полном объеме – не говоря уже видели в битах через квадрат замочную скважину!

Джон Дерст, Swerford, Оксон

– Письмо от Вашего Spectrum # 6 (Aug.1984) –

! 0 ^ ^ ^ ..

! B   1 POKE 23658,8: CLEAR 57340   5 LET кол = 0: ПУСТЬ лин = 1  10 LET кол = кол + 1: ЕСЛИ кол = 9 ТО  ПУСТЬ кол = 1: ПУСТЬ Лин = лин + 1: CLS  15 PRINT AT 10,0; “MAZE ДАННЫХ -” ‘ “Следующая запись: Линия”; линь; “Вступление “; Кол  20 ЕСЛИ INKEY $ = “” THEN GO TO 15  30 Пусть N = CODE INKEY $  40 Если N = 13 то остановить  50 Если N = 45 то пусть кол = сталкивающихся (со л>0): печать по 1; AT 13,0; TAB 4 + 3 * кол; OVER 0; “”: ПЕРЕЙТИ НА 110  60 ЕСЛИ НЕ ((п>= 48 и п<= 57) ИЛИ  (П>= 65 и п<= 70)) Затем перейдите в 1 0  70 Пусть N = N-48-7 * (п>= 65)  80 PRINT AT 13,0; “Вступление:”; OVER 1; TAB 4 + 3 * кол; OVER 0; “9”; INKEY $  90 POKE 57343 + цвет + 8 * (лин-1), N + 1 6 * 9 110 IF INKEY $<>“” Тогда пойдите в 110 120 GO TO 10 199 СТОП 200 INPUT “лин”; лин: ПУСТЬ кол = 0 210 Пауза 10: GO TO 10

! 2 ^ ^ ^ ^ ^ ^

Сделать Спектр сделать работу при вводе большого количества Hex пар. ! 0 ^ ^ ^ ..

– $

?

Краткая информация о Through the Square Window

Запустите Through the Square Window и играйте. Среда разработки на ASM, которую подарил миру Toni Baker, была выпущена командой Your Spectrum в 1984 году в Великобритании.

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

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

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

  

Справка[X]

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

  • x1
  • x2
  • x3

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

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

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

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

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

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