ZX Review
#11-12
26 ноября 1997 |
|
Форум - Процедура "цветные полосы на бордюре". Снижение шума FDD.
(c) А.Гричаненко, г.Нальчик Программа 'COLOR' - один из возможных 'MULTICOLOR'-эффектов, отдаленно похожий на бордюрный эффект в игре "RESCUE" (режим 'PAUSE'). Суть эффекта: по бор- дюру движется, вверх-вниз, цвет- ная полоса, перекрашивая бордюр (над собой). Эту программу я написал пос- ле того, как прочел статьи о 'MULTICOLOR'е в "ZX РЕВЮ". Эффект в моей программе мож- но менять, изменяя величины за- держки в подпрограммах 'DEL' и 'DEL1'. Однако надо следить, чтобы время выполнения всей про- граммы не было слишком большим. Иначе появится неприятное мерца- ние на бордюре. Хочу также пред- ложить конкурс, на лучший бор- дюрный эффект в стиле 'MULTICO- LOR'а, и провести его в разделе "ЭТЮДЫ". ╔══════════════════════════════╗ ║ КБР ║ ║ г. НАЛЬЧИК ║ ║ ИНДЕКС: 360032 ║ ║ Телефон 3-41-20 ║ ║ ул. ЛЕГЕНДАРНАЯ дом 8 кв.8 ║ ║ Гричаненко Александр ║ ╚══════════════════════════════╝ Программа набрана в ассембле- ре ZEUS+, dump - получен с по- мощью dump.com в IS-DOS, там же все это набрано. Специально для МКП ИНФОРКОМ. 140. ;(C) ALEXANDR 3;__12.03.97__ ;-- COLOR -- ORG #5B00 ENT STEP EQU #FF ;МАКСИМАЛЬНОЕ СМЕЩЕНИЕ ;ЦВЕТОВОГО ПАКЕТА LD D,1 ;ЧИСЛО ПОВТОРОВ ЭФФЕКТА BEG LD C,7 ;ЧИСЛО ЦВЕТОВ В ЦИКЛЕ LD H,STEP ; ; ОСНОВНАЯ ПРОГРАММА ; ST EI HALT ; ОЖИДАНИЕ ПРЕРЫВАНИЯ DI ; ЗАПРЕЩЕНИЕ ПРЕРЫВАНИЙ LD A,C ; ОКРАСКА В ТЕКУЩИЙ ЦВЕТ OUT (#FE),A ; БОРДЮРА ШИРИНОЙ CALL STP ; ЗАДАНОЙ В 'H' XOR A ;\ OUT (254),A ; | ПРОРИСОВКА CALL DEL ; | ВОСЬМИ ЦВЕТОВЫХ LD B,7 ; | ЛИНИЙ, ТОЛЩИНА LP LD A,B ; \ ОПРЕДЕЛЯЕТСЯ OUT (254),A ; / ЗАДЕРЖКОЙ 'DEL' CALL DEL ; | ОСТАВШАЯСЯ ЧАСТЬ DJNZ LP ; | БОРДЮРА ОКРАШИВАЕТСЯ XOR A ; | В ЦВЕТ 'A'. OUT (254),A ;/ RR0 DEC H ; ___________________ LD A,H ; / \ RR1 XOR 1 ; | ПРОЦЕДУРА ИЗМЕНЕ- | JR NZ,ST ; НИЯ ВЕЛЕЧИНЫ СМЕ- PUSH HL ; ЩЕНИЯ ЦВЕТНЫХ ПОЛОС LD HL,RR0 ; LD A,1 ; И НАПРАВЛЕНИЯ XOR (HL) ; ДВИЖЕНИЯ ЭФФЕКТА ПО LD (HL),A ; ЭКРАНУ. LD HL,RR1+1 ; LD A,STEP ; XOR (HL) ; LD (HL),A ; POP HL ; LD A,(RR2+1); XOR 1 ; LD (RR2+1),A; RR2 JR SK ; | | DEC C ; \___________________/ SK JR NZ,ST ; DEC D ; ПРОВЕРКА НА КОНЕЦ LD H,1 ; ЧИСЛА ПОВТОРОВ LD C,7 ; ЭФФЕКТА И ВЫХОД ИЗ JR NZ,ST ; ПРОГРАММЫ. EI ; RET ; DEL PUSH BC ; ВРЕМЯ ОТОБРАЖЕНИЯ LD B,20 ; ОДНОЙ ЛИНИИ DL DJNZ DL ; ( ШИРИНА ЛИНИИ ). POP BC ; RET ; STP PUSH BC ; ПОДПРОГРАММА ОТСТУПА LD B,H ; ОТ НАЧАЛА ЭКРАНА. SPP CALL DEL1 ; ВЕЛИЧИНА ОТСТУПА DJNZ SPP ; ЗАДАНА В 'H'. POP BC ; RET ; DEL1 PUSH BC ; ДОПОЛНИТЕЛЬНАЯ LD B,13 ; ЗАДЕРЖКА ВЫПОЛНЕНИЯ DL1 DJNZ DL1 ; ПРОЦЕДУРЫ. POP BC ; RET ; 2 color.cod 5B00: 16 01 0E 07 26 FF FB 76 5B08: F3 79 D3 FE CD 55 5B AF 5B10: D3 FE CD 4E 5B 06 07 78 5B18: D3 FE CD 4E 5B 10 F8 AF 5B20: D3 FE 25 7C EE 01 20 DE 5B28: E5 21 22 5B 3E 01 AE 77 5B30: 21 25 5B 3E FF AE 77 E1 5B38: 3A 41 5B EE 01 32 41 5B 5B40: 18 01 0D 20 C1 15 26 01 5B48: 0E 07 20 BA FB C9 C5 06 5B50: 14 10 FE C1 C9 C5 44 CD 5B58: 5E 5B 10 FB C1 C9 C5 06 5B60: 0D 10 FE C1 C9 00 00 00 COLOR.bas 1 RANDOMIZE USR 15619: REM : LOAD "color"CODE 2 RANDOMIZE USR 23296 Эффект попроще - цветные по- лосы на бордюре: 140. ;(C) АЛЕКСАНДР ;__12.03.97___ ;___ LINES ___ ORG 23296 ENT LD DE,200 ;ВРЕМЯ УДЕРЖАНИЯ ПОЛОС НА ;ЭКРАНЕ ST HALT XOR A LD C,80 ;ЧИСЛО ПАКЕТОВ ПОЛОС НА ;ЭКРАНЕ LP OUT (254),A CALL DEL INC A OR 248 ;\ МАСКИРОВАНИЕ НЕЗНАЧАЩИХ XOR 248 ;/ БИТ В АККУМУЛЯТОРЕ DEC C JR NZ,LP ;КОНЕЦ ЦИКЛА РИСОВАНИЯ ;ПАКЕТА DEC DE LD A,E OR D JR NZ,ST RET DEL LD B,30 ; ТОЛЩИНА ОТДЕЛЬНОЙ ЛИНИИ DD DJNZ DD RET 2 lines.cod 5B00: 11 C8 00 76 AF 0E 50 D3 5B08: FE CD 1A 5B 3C F6 F8 EE 5B10: F8 0D 20 F3 1B 7B B2 20 5B18: EA C9 06 1E 10 FE C9 Снижение шума FDD Хотите, чтобы Ваш СМ53XX (5,25" FDD) работал так же тихо, как TEAC (5,25" FDD), а TEAC - тише 3,5" FDD? - Тогда смажьте их машинным маслом (не перепутайте: машин- ным, а не автомобильным мотор- ным). Даже если смазать только сис- тему полозьев, по которым пере- мещается блок с головкой, и пру- жину шагового двигателя, шум уменьшается раза в 2 (особенно заметно на советских моделях дисководов). Минимального уровня шума мож- но добиться, смазав оба внутрен- них подшипника, зубцы ротора и статора (это возможно, если ра- зобрать шаговый двигатель). Если же разобрать двигатель проблематично,то придется огра- ничиться внешней смазкой подшип- ников. Этот рецепт опробован на пя- ти дисководах разных фирм. Рабо- ту иностранных дисководов те- перь можно отследить только по зажигающемуся светодиоду. А в советских моделях - лишь слабый шум, когда головка перемещается на большие расстояния.
Другие статьи номера:
Похожие статьи:
В этот день... 14 декабря