ZX Spectrum
Game

Bang Goes Your Code

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

Автор:

Жанр: Утилиты: Визуализация


Язык

  • Русский
  • English

Управление

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

Игроков

  • Один

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

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

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

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

! 0 ^ ^ ^ ..

! B H11 H07 H10 H02 B N G H11 H07 H10 H00 GOES ваш код

! 2 ^ ^ ^ ^ ^ ^

 Имеет суетня вышел из ваших программ? Саймон Лейн             есть некоторые взрывчатые идеи, чтобы ошеломить вас … ! 1 ^ ^ ^ ^

Вы когда-нибудь были, что чувство анти-кульминации

когда, успешно уничтожены иностранец (Или любой другой) в некоторых иначе великолепно написано Основная программа, она просто исчезает в тонкий воздуха без каких-либо графического награду? Ну, Теперь вы сможете исправить это упущение по просто позвонив по одному из них на основе прерываний Процедуры машинный код взрыва на approp- riate точка в вашей программе. Просто прочитайте инструкции, типа в объектный код, и от ты иди.

  Ассемблера объявления В были производится с помощью ассемблера Hisoft рода, которые использует ‘#’ символ для обозначения цифры Hex. Если вас есть ассемблер можно ввести в источнике Код и собрать его самостоятельно. Это позволит Вы добавили радость создавать свои собственные изменения с программами – конечно, это намного меньше, скучно, чем ввод объектного кода прямо.

Тем не менее, без ассемблера это точно то, что вы должны будете сделать – либо с помощью подходящих состоянии программа монитор, или короткая Hex погрузчик при условии, в качестве последнего средства.

  Чтобы использовать Hex-погрузчик, сначала вам придется внести адрес (в десятичной системе), как указано в инструкции для каждого рутины; который должен последует всех объектного кода Hex данного в колонка два из листинга ассемблера. Для Например, чтобы ввести

! 0 ^ ^ ^ ..

! B   10 REM   20 REM HEX погрузчик   30 REM   40 DEF FN d (ч $) = CODE ч $ -48 (32  И ч $>= “”) – (7 и ч $>= “”)   50 INPUT “Начальный адрес:”; л   60 ВХОД (л); “>”; ч $   70 POKE л, FN d (ч $ (1)) * 16 + FN d ( ч $ (2))   80 Пусть L = L + 1: Пусть H $ = ч (до 3) $   90 ЕСЛИ ч $>”” затем перейдите к 70  100 GO TO 60

! 2 ^ ^ ^ ^ ^ ^

Те, без ассемблера можно использовать описанную выше программу, чтобы ввести в код Hex.

! 1 ^ ^ ^ ^

подпрограмма Missile Command, вы должны ввести 65023 (Enter), 16FE (Enter), AF (Enter), 32D2FE … 00FF (Enter). После того, как это не по пути, Вы можете вырваться из этой программы, удалив один от котировок и набрав STOP.

! 0 ^ ^ ^ ..

! B Missile Command ВЗРЫВ (MCEXP) ! 1 ^ ^ ^ ^ Любой, кто когда-либо был в игровых автоматов должны, безусловно, сталкивался с Missile Command Игра в то или иное время. Там взрывы отображаются в виде кругов, которые получают больше и больше, а затем сократится до нуля; моя первая подпрограмма является попыткой имитировать этот эффект. Объект код необходимо ввести в память начиная с 65023 (FDFF Hex) и, так же, как проверить, первый адрес, по которому нет объектный код должен быть введен (то есть, адрес, по которому Вы СТОП шестигранной погрузчик) должна быть 65256 (FEEB Hex).

  Рутинные произведения рисования серию окта- угольников на экране, начиная с координатами хранится в XPOS и YPOS (см ниже). Когда “Радиус” равно содержание предел достигнут, восьмиугольники которые «Неиспользованные», но это Время в обратном порядке. Это дает эффект очень похож на окружности, а затем растет

! 0 ^ ^ ^ ..

  10 REM   20 REM MCEXP DEMO   30 REM   40 REM   50 REM Присвоить переменным   60 REM   70 LET XPOS = 65236   80 LET YPOS = 65237   90 предел LET = 65238  100 Скорость LET = 65239  110 ЛЕТ сделано = 65240  120 REM  130 REM инициализацию MCEXP  140 REM  150 мешке XPOS, 128  160 мешке YPOS, 88  170 предел POKE, 87  180 Скорость POKE, 1  190 REM  200 REM ЗВОНОК MCEXP  210 REM  220 RANDOMIZE USR 65025  230 REM  не 240 REM FLASH ГРАНИЦЫ ДО КОНЦА  250 REM  260 ГРАНИЦЫ RND * 7  270 IF PEEK сделано ТО СТОП  280 GO TO 260

! 2 ^ ^ ^ ^ ^ ^

Missile Command демо: производит взрыв в центре экран.

! 1 ^ ^ ^ ^

! B сокращается расстояние – без проблем, связанных с нанесением кругах (медлительность и / или большой справочные таблицы). Следует отметить, что, когда восьмиугольников являются рисуется на экране, XOR построение используется. Это дает тот же эффект, что и использование УЧАСТОК ЗА 1 из Основные.

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

Введите SAVE “mcexp” CODE 65023.233 для сохранения лента, и сэкономьте * “м”; 1; “mcexp” КОД 65023.233 для сохранить в Microdrive картриджа. Затем введите в и запустить программу DEMO MCEXP; если все так, как она должна быть, и взрыв должен быть произведен который начинается в центре экрана, а затем заполняет его.

  Чтобы использовать процедуру в своих программах, вы просто нужно ткнуть места ниже с соответствующие значения, а затем использовать команду RANDOMIZE USR 65025. Переменные, используемые в Программа заключаются в следующем: ! 0 ^ ^ ^ ..

  XPOS: 65236 (FED4 Hex)   YPOS: 65237 (FED5 Hex) ! 1 ^ ^ ^ ^ Они должны быть ткнул с х и у coord- при изо точки, где находится центр Взрыв требуется.

! 0 ^ ^ ^ ..

  ПРЕДЕЛ: 65238 (FED6 Hex) ! 1 ^ ^ ^ ^ Радиус требуемом взрыва. Примечание XPOS – ПРЕДЕЛ 0, XPOS + предельное 255, YPOS – ПРЕДЕЛ 0, YPOS + ПРЕДЕЛ 175, ! 0 ^ ^ ^ ..

  СКОРОСТЬ: 65239 (FED7 Hex) ! 1 ^ ^ ^ ^ Скорость взрыва. Следует отметить, что один быстро, 255 идет медленно. Общее время взрыва = (LIMIT * Скорость + 1) / 25 секунд (примерно). Большой взрывы значительно больше времени.

! 0 ^ ^ ^ ..

  Совершено: 65240 (FED8 Hex) ! 1 ^ ^ ^ ^ Это расположение может быть заглянула, чтобы определить, является ли или не взрыв был завершен (так подпрограмма прерывания приводом, Basic Программа продолжает работать в то время как в машинный код выполняется). Ноль показывает, что в explos- ион еще продолжаются, один показывает что он закончил. Обратите внимание, что команды из образуют “ЕСЛИ PEEK сделано …” может поэтому использоваться в ваши программы.

  Желательно, чтобы присвоить значения выше Основные переменные в начале вашей программы.

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

! 2 ^ ^ ^ ^ ^ ^

! B FDFF ORG #FDFF FDFF 16FE DEFW MCEXP               ; Инициализацию переменных и прерывания FE01 AF GO XOR FE02 32D8FE LD (DONE), FE05 32DAFE LD (РАЗМЕР), FE08 32DFFE LD (INOUT), FE0B 3C INC FE0C 32D9FE LD (COUNT), FE0F 3EFD LD A, # FD; Это делает Z80 прыжок с суб- FE11 ED47 LD I, A; рутина, адрес которого хранится FE13 ED5E IM 2; в FDFF на каждого прерывания FE15 C9 RET               ; Этот код выполняется каждые 0,02 секунд FE16 C5 MCEXP PUSH BC FE17 D5 PUSH DE FE18 E5 PUSH HL FE19 F5 PUSH AF FE1A DDE5 PUSH IX               ; Нарисуйте восьмиугольник каждый (скорость) / 50 секунд FE1C 21D9FE LD HL, COUNT FE1F 35 декабря (HL) FE20 C2A4FE JP NZ, RET FE23 3AD7FE LD, (SPEED) FE26 77 LD (HL), FE27 2AD4FE LD HL, (XPOS) FE2A 3ADAFE LD, (РАЗМЕР) FE2D A7 И FE2E 2005 JR NZ, NOT0               ; Если (РАЗМЕР) = 0, то график единую точку … FE30 CDADFE ЗВОНОК УЧАСТОК FE33 1848 JR ENDPLT               В противном случае привлечь восьмиугольник соответствующего размера FE35 5F NOT0 LD E, FE36 57 LD D, FE37 CB3A SRL D FE39 19 ДОБАВИТЬ HL, DE FE3A 1100FF LD DE, # FF00; Вниз FE3D DD21E0FE LD IX, DIRTAB FE41 0E04 LD C, # 04 FE43 FE01 MLOOP CP # 01 FE45 2809 JR Z, NOGO FE47 47 LD B, FE48 CB80 RES 0, B               ; Нарисуйте прямую линию FE4A 19 STRT ДОБАВИТЬ HL, DE FE4B CDADFE ЗВОНОК УЧАСТОК FE4E 10FA DJNZ STRT FE50 47 NOGO LD B, FE51 04 INC B FE52 CB38 SRL B Fe54 ED53DBFE LD (DE1), DE FE58 DD5E00 LD E, (IX + # 00) FE5B DD5601 LD D, (IX + # 01) FE5E ED53DDFE LD (DE2), DE               ; Нарисуйте диагональную линию FE62 19 DIAG ДОБАВИТЬ HL, DE FE63 CB47 BIT 0, Fe65 CCADFE ЗВОНОК Z, УЧАСТОК FE68 ED5BDBFE LD DE, (DE1) FE6C 19 ДОБАВИТЬ HL, DE FE6D CDADFE ЗВОНОК УЧАСТОК FE70 ED5BDDFE LD DE, (DE2) FE74 10 ° С DJNZ DIAG FE76 DD23 INC IX; точка к следующему FE78 DD23 INC IX; запись в DIRTAB FE7A 0D декабря C FE7B 20C6 JR NZ, MLOOP FE7D 3ADFFE MLOOP LD, (INOUT) FE80 A7 И FE81 21DAFE LD HL, РАЗМЕР FE84 2010 JR NZ, IN FE86 3AD6FE LD, (ПРЕДЕЛ) FE89 BE CP (HL) FE8A 2803 JR Z, ИЗМЕНЕНИЕ FE8C 34 INC (HL); Grow FE8D 1815 JR RET               Смена расти к сокращению FE8F 3E01 ИЗМЕНЕНИЕ LD A, # 01 FE91 32DFFE LD (INOUT), FE94 180E JR RET FE96 3D в декабре А FE97 BE CP (HL) FE98 2009 JR NZ, INOK               ; Взрыв в комплекте FE9A 3E01 LD A, # 01 FE9C 32D8FE LD (DONE), FE9F ED56 IM 1 FEA1 1801 JR RET FEA3 35 INOK DEC (HL); Shrink               ; Восстановление регистров и перейти к ROM обработчика прерываний FEA4 DDE1 RET POP IX FEA6 F1 POP AF FEA7 E1 POP HL FEA8 D1 POP DE FEA9 C1 POP BC FEAA C33800 JP # 0038               ; Обратить точка, если растет, unplot если сокращается FEAD E5 УЧАСТОК PUSH HL FEAE F5 PUSH AF FEAF 3ADFFE LD, (INOUT) FEB2 A7 И FEB3 2008 JR NZ, UNPLOT               ; Обратить точка FEB5 CDC5FE PLOTX ЗВОНОК PIXAD FEB8 2F CPL FEB9 AE XOR (HL) FEBA 77 LD (HL), FEBB 1805 JR PLTRET               ; Unplot точка FEBD CDC5FE UNPLOT ЗВОНОК PIXAD FEC0 A6 И (HL) FEC1 77 LD (HL), FEC2 F1 PLTRET POP AF FEC3 E1 POP HL FEC4 C9 RET               ; Преобразование х, у Coords в d.file адрес и битовой карте FEC5 C5 PIXAD PUSH BC FEC6 44 LD B, H FEC7 4D LD C, L FEC8 CDAA22 ВЫЗОВ # 22Аа FECB 47 LD B, FECC 04 INC B FECD 3EFE LD A, # FE FECF 0F PIXEL RRCA FED0 10FD DJNZ PIXEL FED2 C1 POP BC FED3 C9 RET               ; переменные FED4 64 XPOS DEFB 100; X, Y координаты центра FED5 64 YPOS DEFB 100; от взрыва на экране FED6 0A ПРЕДЕЛ DEFB 10; Макс. Радиус взрыва FED7 05 SPEED DEFB 5; Скорость взрыва FED8 00 DONE DEFB 0; Флаг, означающий завершение взрыва FED9 00 COUNT DEFB 0; Прерывания до следующего восьмиугольника FEDA 00 РАЗМЕР DEFB 0; Текущий радиус взрыва FEDB 0000 DE1 DEFW 0; по горизонтали и вертикали FEDD 0000 DE2 DEFW 0; компоненты диагонали FEDF 00 INOUT DEFB 0; 0 = растет; 1 = сокращением               ; Таблица направлений FEE0 FFFF DIRTAB DEFW #FFFF; левый FEE2 0001 DEFW # 0100; до FEE4 0100 DEFW # 0001; Право FEE6 000F DEFW # FF00; Вниз ! 0 ^ ^ ^ ..

! B DOT ЧЕТКО ВЗРЫВА (ЧЕТКО) ! 1 ^ ^ ^ ^ Технически это не совсем взрыв на все. Что здесь происходит то, что объект будет “Де-материализовался” исчезает точка-о-точка.

начальный адрес для объекта код 64767 (FCFF Hex), и первый неиспользованный адрес должен быть 64922 (FD9A Hex). Когда вы ввели код, сохранить с помощью SAVE “Fade” КОД 64767.155 или сохранить

! 0 ^ ^ ^ ..

  10 REM   20 REM ЧЕТКО DEMO   30 REM   40 REM   50 REM Присвоить переменным   60 REM   70 LET ОИ = 64914   80 LET APOS = 64915   90 LET dlim = 64916  100 ЛЕТ Алим = 64917  110 Скорость LET = 64918  120 ЛЕТ сделано = 64919  130 REM  140 REM весь экран  150 REM  160 при г = 1 TO 704  170 PRINT CHR $ (РНД * 95 + 32);  180 NEXT I  190 REM  200 REM инициализацию ЧЕТКО  210 REM  220 мешке ОИ, 0  230 мешке APOS, 0  240 POKE dlim, 22  250 POKE Алим, 32  260 Скорость POKE, 10  270 REM  280 REM ЗВОНОК ЧЕТКО  290 REM  300 RANDOMIZE USR 64769  310 REM  320 REM ждать, пока КОНЕЦ  330 REM  340 IF PEEK сделано ТО СТОП  350 GO TO 340

! 2 ^ ^ ^ ^ ^ ^

Dot Fade демо: заполняет площадь экрана со случайными персонажи и стирает им пиксель за пикселем.

! 1 ^ ^ ^ ^

! B * “М”; 1; “исчезать” КОД 64767.155 – для ленты или Microdrive соответственно.

  Если все прошло хорошо до сих пор, то попробуйте Программа ЧЕТКО DEMO. Это воля (надеюсь) заполнить экран случайными символами, а затем стереть им пиксель за пикселем. Чтобы использовать подпрограмму от ваших собственных программ, просто ткнуть места показано ниже с соответствующими значениями, а затем использовать командную RANDOMIZE USR 64769. В переменные, используемые являются: ! 0 ^ ^ ^ ..

  ОИ: 64914 (FD92 Hex)   APOS: 64915 (FD93 Hex) ! 1 ^ ^ ^ ^ Они должны быть ткнул с вниз и по координаты верхней площади левого характера в площадь для взрыва. Отметим, что это Другой подход к той, которая используется в MCEXP который использует X, Y координаты (это, пиксель координаты).

! 0 ^ ^ ^ ..

  DLIM: 64916 (FD94 Hex)   ALIM: 64917 (FD95 Hex) ! 1 ^ ^ ^ ^ Они должны быть Poked с размером области в символьных квадратов, вниз и по всей соответственно ственно.

! 0 ^ ^ ^ ..

  СКОРОСТЬ: 64918 (FD96 Hex) ! 1 ^ ^ ^ ^ Скорость взрыва. Опять же, один быстро, 255 идет медленно. Общее время взрыва = скорость / 3 секунд (примерно). Большие области могут принять значитель- умело больше.

! 0 ^ ^ ^ ..

  Совершено: 64919 (FD97 Hex) ! 1 ^ ^ ^ ^ Так же, как для MCEXP.

! 2 ^ ^ ^ ^ ^ ^

! B FCFF ORG #FCFF FCFF 15FD DEFW ЧЕТКО               ; Инициализацию переменных и прерывания FD01 AF GO XOR FD02 3297FD LD (DONE), FD05 3C INC FD06 3298FD LD (COUNT), FD09 3E08 LD A, # 08 FD0B 3299FD LD (КРУГЛЫЙ), FD0E 3EFC LD A, # FC; Это делает Z80 прыжок с суб- FD10 ED47 LD I, A; рутина, адрес которого хранится FD12 ED5E IM 2; в FCFF на каждого прерывания FD14 C9 RET               ; Этот код выполняется каждые 0,02 секунд FD15 C5 ЧЕТКО PUSH BC FD16 D5 PUSH DE FD17 E5 PUSH HL FD18 F5 PUSH AF               ; Стереть некоторые точки каждый (скорость) / 50 секунд FD19 2198FD LD HL, COUNT FD1C 35 декабря (HL) FD1D 2047 JR NZ, RET FD1F 3A96FD LD, (SPEED) FD22 77 LD (HL),

FD23 ED5B92FD LD DE, (ОИ)
FD27 ED4B94FD LD BC, (DLIM)
FD2B CB21 SLA C; Преобразовать число
FD2D CB21 SLA C; ряды к числу
FD2F CB21 SLA C; нанимает линии экрана

FD31 2199FD LD HL, КРУГЛЫЙ FD34 35 декабря (HL) FD35 2816 JR Z, END               ; Сотрите некоторые точки в заданной области FD37 CD6DFD ЗВОНОК CHRADR FD3A 50 MLOOP1 LD D, B FD3B 5D LD E, L FD3C ED5F BYTE1 LD A, R; Разумно случайных чисел FD3E A6 И (HL) FD3F 77 LD (HL), FD40 2C INC L FD41 10F9 DJNZ BYTE1 FD43 42 LD B, D FD44 6В LD L, E FD45 CD7CFD ЗВОНОК NXTLIN FD48 0D декабря C FD49 20EF JR NZ, MLOOP1 FD4B 1819 JR RET               ; Очистите указанную область FD4D CD6DFD ОТБОЙ CHRADR FD50 50 MLOOP2 LD D, B FD51 5D LD E, L FD52 AF XOR FD53 77 byte2 LD (HL), FD54 2C INC L FD55 10FC DJNZ byte2 FD57 42 LD B, D FD58 6В LD L, E FD59 CD7CFD ЗВОНОК NXTLIN FD5C 0D декабря C FD5D 20F1 JR NZ, MLOOP2 FD5F 3E01 LD A, # 01 FD61 3297FD LD (DONE), FD64 ED56 IM 1               ; Восстановление регистров и перейти к ROM обработчика прерываний FD66 F1 RET POP AF FD67 E1 POP HL FD68 D1 POP DE FD69 C1 POP BC FD6A C33800 JP # 0038               ; Преобразование D, положение символов в d.file адрес FD6D 7В CHRADR LD A, E FD6E 0F RRCA FD6F 0F RRCA FD70 0F RRCA FD71 E6E0 И # E0 FD73 82 ДОБАВИТЬ, D FD74 6F LD L, FD75 7В LD A, E FD76 E618 И # 18 FD78 F640 ИЛИ # 40 FD7A 67 LD H, FD7B C9 RET               ; Найти адрес следующей строки из адреса настоящее FD7C 7С NXTLIN LD A, H FD7D 0F RRCA FD7E 0F RRCA FD7F 0F RRCA FD80 C620 ADD A, # 20 FD82 3009 JR NC, DONE2 FD84 67 LD H, FD85 7D LD A, L FD86 C620 ADD A, # 20 FD88 6F LD L, FD89 3001 JR NC, DONE1 FD8B 24 INC H FD8C 7С DONE1 LD A, H FD8D 07 DONE2 RLCA FD8E 07 RLCA FD8F 07 RLCA FD90 67 LD H, FD91 C9 RET               ; переменные FD92 00 ОИ DEFB 0; Вниз и по позиции FD93 00 APOS DEFB 0; взрыва на экране FD94 05 DLIM DEFB 5; Размер взрыва FD95 20 ALIM DEFB 32; по характеру квадратов FD96 32 SPEED DEFB 50; Скорость взрыва FD97 00 DONE DEFB 0; Флаг, означающий завершение взрыва FD98 00 COUNT DEFB 0; Прерывания идти до следующего исчезают FD99 00 КРУГЛЫЙ DEFB 0; Количество исчезает пойти ! 0 ^ ^ ^ ..

! B ЦВЕТ FLASH ВЗРЫВА (FLASH) ! 1 ^ ^ ^ ^ В этом взрыве, различные различные модели случайные точки вспыхивают на экране во многих цвета и затем исчезают. Процедура сама по себе очень похожа на рутину увядает, и с помощью это точно так же, за исключением того, что цифры отличаются. Поэтому я просто дам вам

! 0 ^ ^ ^ ..

  10 REM   20 REM FLASH DEMO   30 REM   40 REM   50 REM Присвоить переменным   60 REM   70 LET ОИ = 64706   80 LET APOS = 64707   90 LET dlim = 64708  100 ЛЕТ Алим = 64709  110 Скорость LET = 64710  120 ЛЕТ сделано = 64711  130 REM  140 REM весь экран  150 REM  160 при г = 1 TO 704  170 PRINT CHR $ (РНД * 95 + 32);  180 NEXT I  190 REM  200 REM инициализировать FLASH  210 REM  220 мешке ОИ, 0  230 мешке APOS, 0  240 POKE dlim, 22  250 POKE Алим, 32  260 Скорость POKE, 5  270 REM  280 REM ЗВОНОК FLASH  290 REM  300 RANDOMIZE USR 64513  310 REM  320 REM ждать, пока КОНЕЦ  330 REM  340 IF PEEK сделано ТО СТОП  350 GO TO 340

! 2 ^ ^ ^ ^ ^ ^

Цвет Температура вспышки демо: мигает ряд случайных символов в разных цветов и потом стирает их.

! 1 ^ ^ ^ ^

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

Начните адрес: 64511 (FBFF Hex) Во-первых неиспользованный адрес: 64714 ​​(FCCA Hex) Сохранение: SAVE “флэш” КОД 64511.203 или SAVE * “М”; 1; “флэш” КОД 64511,203 (для ленты или Microdrive соответственно).

Для использования с Basic: RANDOMIZE USR 64513 Переменные: ! 0 ^ ^ ^ ..

  ОИ: 64706 (FCC2 Hex)   APOS: 64707 (FCC3 Hex)   DLIM: 64708 (FCC4 Hex)   ALIM: 64709 (FCC5 Hex)   СКОРОСТЬ: 64710 (FCC6 Hex)   Совершено: 64711 (FCC7 Hex) ! 1 ^ ^ ^ ^ Следует отметить, что каждый из подпрограмм занимает diff- различны область памяти (они не пересекаются). Это Таким образом, можно иметь все три подпрограммы в памяти, в то же время – хотя вы будете только когда-либо один взрыв происходит на экране в любой момент времени. Кроме того, использование звукового сигнала нагрузки или SAVE а прерывание происходит будет TEMPO- менно остановить его. Счастливый Подгонка!

! 2 ^ ^ ^ ^ ^ ^

! B FBFF ORG #FBFF FBFF 15FC DEFW FLASH               ; Инициализацию переменных и прерывания FC01 AF GO XOR FC02 32C7FC LD (DONE), FC05 3C INC FC06 32C8FC LD (COUNT), FC09 3E08 LD A, # 08 FC0B 32C9FC LD (КРУГЛЫЙ), FC0E 3EFB LD A, # FB; Это делает Z80 прыжок с суб- FC10 ED47 LD I, A; рутина, адрес которого хранится FC12 ED5E IM 2; в FBFF на каждого прерывания FC14 C9 RET               ; Этот код выполняется каждые 0,02 секунд FC15 C5 FLASH PUSH BC FC16 D5 PUSH DE FC17 E5 PUSH HL FC18 F5 PUSH AF               ; Вспышка каждый (скорость) / 50 сек FC19 21C8FC LD HL, COUNT FC1C 35 декабря (HL) FC1D 2077 JR NZ, RET FC1F 3AC6FC LD, (SPEED) FC22 77 LD (HL),

FC23 ED5BC2FC LD DE, (ОИ)
FC27 ED4BC4FC LD BC, (DLIM)
FC2B CB21 SLA C; Преобразовать число
FC2D CB21 SLA C; ряды к числу
FC2F CB21 SLA C; нанимает линии экрана

FC31 21C9FC LD HL, КРУГЛЫЙ FC34 35 декабря (HL) FC35 2846 JR Z, END               ; Вспышка указанной области FC37 CD9DFC ЗВОНОК CHRADR FC3A 50 MLOOP1 LD D, B FC3B 5D LD E, L FC3C ED5F BYTE1 LD A, R FC3E 77 LD (HL), FC3F ED5F LD A, R; Разумно случайных чисел FC41 0F RRCA FC42 0F RRCA FC43 AE XOR (HL) FC44 77 LD (HL), FC45 2C INC L FC46 10F4 DJNZ BYTE1 FC48 42 LD B, D FC49 6В LD L, E FC4A CDACFC ЗВОНОК NXTLIN FC4D 0D декабря C FC4E 20EA JR NZ, MLOOP1 FC50 2AC2FC LD HL, (ОИ)               ; Преобразование D, положение обратиться в файле атрибутов FC53 7С LD A, H FC54 2600 LD H, # 00 FC56 0605 LD B, # 05 FC58 29 DOUBLE ДОБАВИТЬ HL, HL FC59 10FD DJNZ DOUBLE FC5B B5 или L FC5C 6F LD L, FC5D 7С LD A, H FC5E F658 ИЛИ # 58 FC60 67 LD H,               ; Цвет в указанной области с (круглый) чернилами FC61 ED4BC4FC LD BC, (DLIM) FC65 3AC9FC LD, (КРУГЛЫЙ) FC68 57 LD D, FC69 5D ALINE LD E, L FC6A C5 PUSH BC FC6B 7E ABYTE LD, (HL) FC6C E6F8 И # F8 FC6E B2 или D FC6F 77 LD (HL), FC70 2C INC L FC71 10F8 DJNZ ABYTE FC73 6В LD L, E FC74 0E20 LD C, # 20 FC76 09 ДОБАВИТЬ HL, BC FC77 C1 POP BC FC78 0D декабря C FC79 20EE JR NZ, ALINE FC7B 1819 JR RET               ; Clear Определенная область FC7D CD9DFC ОТБОЙ CHRADR FC80 50 MLOOP2 LD D, B FC81 5D LD E, L FC82 AF XOR FC83 77 byte2 LD (HL), FC84 2C INC L FC85 10FC DJNZ byte2 FC87 42 LD B, D FC88 6В LD L, E FC89 CDACFC ЗВОНОК NXTLIN FC8C 0D декабря C FC8D 20F1 JR NZ, MLOOP2 FC8F 3E01 LD A, # 01 FC91 32C7FC LD (DONE), FC94 ED56 IM 1               ; Восстановление регистров и перейти к ROM обработчика прерываний FC96 F1 RET POP AF FC97 E1 POP HL FC98 D1 POP DE FC99 C1 POP BC FC9A C33800 JP # 0038               ; Преобразование D, положение символов в d.file адрес FC9D 7В CHRADR LD A, E FC9E 0F RRCA FC9F 0F RRCA FCA0 0F RRCA FCA1 E6E0 И # E0 FCA3 82 ДОБАВИТЬ, D FCA4 6F LD L, FCA5 7В LD A, E FCA6 E618 И # 18 FCA8 F640 ИЛИ # 40 ФОПС 67 LD H, FCAB C9 RET               ; Найти адрес следующей строки из адреса настоящее FCAC 7С NXTLIN LD A, H FCAD 0F RRCA FCAE 0F RRCA FCAF 0F RRCA FCB0 C620 ADD A, # 20 FCB2 3009 JR NC, DONE2 FCB4 67 LD H, FCB5 7D LD A, L FCB6 C620 ADD A, # 20 FCB8 6F LD L, FCB9 3001 JR NC, DONE1 FCBB 24 INC H FCBC 7С DONE1 LD A, H FCBD 07 DONE2 RLCA FCBE 07 RLCA FCBF 07 RLCA FCC0 67 LD H, FCC1 C9 RET               ; переменные FCC2 00 ОИ DEFB 0; Вниз и по позиции FCC3 00 APOS DEFB 0; взрыва на экране FCC4 05 DLIM DEFB 5; Размер взрыва FCC5 20 ALIM DEFB 32; по характеру квадратов FCC6 32 SPEED DEFB 50; Скорость взрыва FCC7 00 DONE DEFB 0; Флаг, означающий завершение взрыва FCC8 00 COUNT DEFB 0; Прерывания идти до следующего исчезают FCC9 00 КРУГЛЫЙ DEFB 0; Количество исчезает пойти ! 1 ^ ^ ^ ^

! B – с Вашего Spectrum # 6 (Aug.1984) – $

?

Краткая информация о Bang Goes Your Code

Игра Bang Goes Your Code запускается прямо на сайте. Программа для визуального представления, которую подарил миру Simon Lane, была выпущена командой 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