┌══════════════════════════════════════════════════════════════┐ │▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ PUSH HL ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓│ └══════════════════════════════════════════════════════════════┘ (C)SATSOFT PHN 270-72-36 ВЫ ВСЕ ВИДЕЛИ, НАВЕРНОЕ, ИГРУ 'LODE RUNNER 4' BY DPS GROUP'97, СДЕЛАННУЮ В БОБРУЙСКЕ.ТАК ВОТ, НАМ С ARS'ОМ ПОНРАВИЛСЯ ОЧЕНЬ КРУТОЙ ЭФФЕКТ С MAGIC'OM ВО ВТОРОЙ ЧАСТИ ИНТРО => МЫ РЕШИЛИ ЕГО ВЫТЯНУТЬ.НА ПЕРВЫЙ ВЗГЛЯД, ПРОГА КАЗАЛАСЬ СЛОЖНОВАТОЙ, НО НЕМНОГО ПОЛАЗИВ В ЭТОМ ИНТРО, МЫ СДЕЛАЛИ ВЫВОД:ПРОГА НАСТОЛЬКО ПРОСТА, ЧТО ДО НЕЕ МОГ ДОПЕТРИТЬ ЛЮБОЙ КОДЕР. СМЫСЛ ПРОГИ В ТОМ, ЧТО ПРИ НАЖАТИИ НА 'MAGIC' ВКЛЮЧАЮТСЯ ПРЕРЫВАНИЯ ВТОРОГО РОДА (IM 2), НЕЗАВИСИМО ОТ ТОГО БЫЛИ ОНИ ВКЛЮЧЕНЫ ИЛИ НЕТ.ТАК ЖЕ ВАЖНО ТО, ЧТО СТЕК ДОЛЖЕН НАХОДИТЬСЯ ГДЕ-НИБУДЬ В ЭКРАНЕ (ПОНИЖЕ).НАИБОЛЕЕ ПОДХОДЯЩИЙ АДРЕС - ЭТО #401F.ПРИНЦИП РАБОТЫ ЕНТОЙ ПРОГИ: 1.ЗАПУСКАЕТЕ ПРОГУ С АДРЕСА 40000. 2.ПРЕКРАСНО ВЫПОЛНЯЮТСЯ ВАШИ ПРОЦЕДУРЫ ТИПА 'PRINT' И 'MUSIC'. 3.НАЖИМАЕМ НА 'MAGIC'. 4.РЕЗКО ПОДРУБАЮТСЯ IM 2. 5.СТЕКА НЕ ХВАТАЕТ ДЛЯ ПОЛНОЦЕННОГО ВЫПОЛНЕНИЯ ОПЕРАЦИИ 'MAGIC'. 6.ПО КАКОЙ-ТО, НЕИЗВЕСТНОЙ МНЕ, ОШИБКЕ, 'MAGIC' ПРЕКРАЩАЕТ ВЫПОЛНЯТЬ РАБОТУ И... 7.ВЫ НАБЛЮДАЕТЕ КРУТОЙ ЭФФЕКТ, КОТОРЫЙ ВЫ ПОСТАВИТЕ САМИ. 8.ПРОИСХОДИТ ВЫХОД ТУДА, ОТКУДА ВЫ ЕЕ ВЫЗВАЛИ. ;PRESS MAGIC FOR BORDER EFFECT ORG 40000 ADRESS EQU 45000 ;АДРЕС ПРОГИ ВЫПОЛНЯЕМОЙ ПОСЛЕ 'MAGIC' LD (SAVESP+1),SP;СОХРАНЕНИЕ SP ДЛЯ НОРМАЛЬНОГО ВЫХОДА CALL PRER ;ОРГАНИЗАЦИЯ IM 2 БЕЗ РАЗРЕШЕНИЯ L2 DI ; ПРЕРЫВАНИЙ LD SP,#401F ;УСТАНОВКА SP В ЭКРАН ; CALL MUSIC ;ВАШИ ПРОЦЕДУРЫ В ЦИКЛЕ В РЕЖИМЕ IM 1 ; CALL PRINT JR L2 PRER LD HL,ADRESS ;ОРГАНИЗАЦИЯ IM 2 LD A,24 LD (65535),A LD A,195 LD (65524),A LD (65525),HL LD HL,#FE00 LD DE,#FE01 LD BC,256 LD (HL),#FF LD A,H LDIR DI ;ЗАПРЕЩЕНИЕ ПРЕРЫВАНИЙ LD I,A IM 2 RET ;+++++++++++++++++++++++ ORG ADRESS ;ВАША ПРОГА, ВЫПОЛНЯЕМАЯ ПОСЛЕ 'MAGIKA' DI ;ЗАПРЕЩЕНИЕ ПРЕРЫВАНИЙ ;.................................................. LD BC,65535 ;ШО ХОТИТЕ, ТО ВСТАВЛЯЙТЕ :) L1 DEC BC ;В ДАННОМ СЛУЧАЕ - BORDER EFFECT LD A,C OUT (254),A OR B JR NZ,L1 XOR A OUT (254),A ;.................................................. SAVESP LD SP,0 ;ВОССТАНОВЛЕНИЕ СТЕКА ДЛЯ НОРМ.ВЫХОДА LD A,63 ;УСТАНОВКА IM 1 LD I,A IM 1 EI LD HL,10072 ;КОРРЕКТНЫЙ ВЫХОД В BASIC EXX RET >ASSEMBLE #002E SYMBOLS:#C012-#FF51 FATAL ERRORS:#0000 ПИШИТЕ ОТКЛИКИ И СКОРЕЕ ВСЕГО ВОСТОРГИ ПО ЭТОЙ ПРОГРАММЕ. КСАТИ, ЧТОБЫ ПЕРЕГНАТЬ БЫРЕНЬКО ЛЮБОЙ ЛИСТИНГ ИЗ ФОРМАТА 'ZX-WORD' В МОЙ ЛЮБИМЫЙ КРУТОЙ АССЕМБЛЕР 'ALASM', НУЖНО ИМЕТЬ ПРОГИ 'UNICON' ИЛИ 'UNICON2', НО НЕ НАДО ЗАБЫВАТЬ, ЧТО РАСШИРЕНИЕ 'W', НУЖНО ПОМЕНЯТЬ НА 'C'.