;--------------------------------------------------------------------
 
; Описание: Бегущая строка
 
; Автор порта: Тарасов М.Н.(Mick),2010
 
;--------------------------------------------------------------------
 
Str_reload:
 
                ld      a,(Str_flg_end)
 
                and     a
 
                jr      z,Str_init
 
                xor     a
 
                ld      (Str_flg_end),a
 
                scf
 
                ret
 
Str_init:
 
                xor     a
 
                ld      (Str_count_step),a
 
                ld      hl,Str_addr_text
 
                ld      (Str_addr_work),hl
 
                ld      a,(hl)
 
                ret
 
 
 
Str_init_load:
 
                ld      hl,Str_addr_load
 
                ld      (Str_addr_work),hl
 
                xor     a
 
                ld      (Str_count_step),a
 
                ld      a,1
 
                ld      (Str_flg_end),a
 
                ld      a,(hl)
 
                ret     
 
 
 
Str_play:
 
                ld      a,(Str_count_bit)
 
                or      a
 
                call    z,Str_next_symbol
 
                ret     c
 
                jp      Str_update_string
 
 
 
Str_next_symbol:
 
                ld      hl,(Str_addr_work)
 
                ld      a,(hl)
 
                and     a
 
                call    z,Str_reload
 
                ret     c
 
                inc     hl
 
                ld      (Str_addr_work),hl
 
                sub     20h
 
                ld      l, a
 
                ld      h, 0
 
                ld      de,Str_addr_font
 
                add     hl,hl
 
                add     hl,hl
 
                add     hl,hl
 
                add     hl,de
 
                ld      de,Str_symbol_buf
 
                ldi
 
                ldi
 
                ldi
 
                ldi
 
                ldi
 
                ldi
 
                ldi
 
                ldi
 
                ld      a,16
 
                ld      (Str_count_bit),a
 
                ret
 
 
 
Str_update_string:
 
                ld      a,(Str_count_bit)
 
                dec     a
 
                ld      (Str_count_bit),a
 
                and     1
 
                ret     nz
 
 
 
                ld      de,Str_symbol_buf
 
                ld      bc,0
 
 
 
                ld      a,(de)
 
                rlca
 
                ld      (de),a
 
                rl      c
 
                ld      hl,5493h
 
                ld      a,(hl)
 
                and     0FEh
 
                or      c
 
                ld      (hl),a
 
 
 
                ld      c,b
 
                inc     de
 
                ld      a,(de)
 
                rlca
 
                ld      (de),a
 
                rl      c
 
                inc     h
 
                inc     h
 
                ld      a,(hl)                  ;5693h
 
                and     0FEh
 
                or      c
 
                ld      (hl),a
 
 
 
                ld      c,b
 
                inc     de
 
                ld      a,(de)
 
                rlca
 
                ld      (de),a
 
                rl      c
 
                ld      hl,50B3h
 
                ld      a,(hl)
 
                and     0FEh
 
                or      c
 
                ld      (hl),a
 
 
 
                ld      c,b
 
                inc     de
 
                ld      a,(de)
 
                rlca
 
                ld      (de),a
 
                rl      c
 
                inc     h
 
                inc     h
 
                ld      a,(hl)                  ;52B3h
 
                and     0FEh
 
                or      c
 
                ld      (hl),a
 
 
 
                ld      c,b
 
                inc     de
 
                ld      a,(de)
 
                rlca
 
                ld      (de),a
 
                rl      c
 
                inc     h
 
                inc     h
 
                ld      a,(hl)                  ;54B3h
 
                and     0FEh
 
                or      c
 
                ld      (hl),a
 
 
 
                ld      c,b
 
                inc     de
 
                ld      a,(de)
 
                rlca
 
                ld      (de),a
 
                rl      c
 
                inc     h
 
                inc     h
 
                ld      a,(hl)                  ;56B3h
 
                and     0FEh
 
                or      c
 
                ld      (hl),a
 
 
 
 
 
                ld      c,b
 
                inc     de
 
                ld      a,(de)
 
                rlca
 
                ld      (de),a
 
                rl      c
 
                ld      hl,50D3h
 
                ld      a,(hl)
 
                and     0FEh
 
                or      c
 
                ld      (hl),a
 
 
 
                ld      c,b
 
                inc     de
 
                ld      a,(de)
 
                rlca
 
                ld      (de),a
 
                rl      c
 
                inc     h
 
                inc     h
 
                ld      a,(hl)
 
                and     0FEh
 
                or      c
 
                ld      (hl),a
 
 
 
                xor     a
 
                ret             
 
 
 
Str_move_string:
 
                ld      de,5493h
 
                call    Str_move_line                   
 
                inc     d
 
                inc     d
 
                call    Str_move_line                   ;5693h
 
 
 
                ld      de,50B3h
 
                call    Str_move_line                   
 
                inc     d
 
                inc     d
 
                call    Str_move_line                   ;52B3h
 
                inc     d
 
                inc     d
 
                call    Str_move_line                   ;54B3h
 
                inc     d
 
                inc     d
 
                call    Str_move_line                   ;56B3h
 
 
 
                ld      de,50D3h
 
                call    Str_move_line                   
 
                inc     d
 
                inc     d                               ;52B3h
 
 
 
Str_move_line:
 
                ld      h,d
 
                ld      l,e
 
                and     a
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                dec     l
 
                rl      (hl)
 
                ret     
 
 
 
Str_count_step:
 
                db      0
 
Str_symbol_buf:
 
                ds      8
 
Str_flg_end:
 
                db      0
 
 
 
Str_count_bit:
 
                db      0
 
Str_addr_work:
 
                dw      0
 
Str_addr_sp:
 
                dw      0
 
 
 
Str_addr_load:
 
                db      '*LOAD* ',0
 
Str_addr_text:
 
                db      '                     ПРИВЕТ! ПРИВЕТ! MICK ПРИВЕТСТВУЕТ ВАС!!!       '
 
                db      ' ЕЩЕ ОДИН ТЮНЕС УВИДЕЛ СВЕТ. ТЕМА ЭТОГО СБОРНИКА - РАСКРЫТИЕ ИНОПЛАНЕТНОЙ СУЩНОСТИ ААА.'
 
                db      ' ДАВНО ХОТЕЛОСЬ УЗНАТЬ КАК ВЫГЛЯДИТ ААА В СВОЕЙ РОДНОЙ ОБОЛОЧКЕ, А НЕ В ТОЙ ЗЕМНОЙ, КОТОРУЮ'
 
                db      ' ОН НАЦЕПИЛ ЧТОБЫ СЛИТЬСЯ С МЕСТНЫМ НАСЕЛЕНИЕМ. ТАК ВОТ, ПРОВЕДЯ ТЩАТЕЛЬНОЕ РАССЛЕДОВАНИЕ'
 
                db      ' И СОБРАВ В ПРОСТОРАХ ИНТЕРНЕТА ДОПОЛНИТЕЛЬНУЮ ИНФОРМАЦИЮ (РАСКРАСКА), ПРИШЕЛ К ВЫВОДУ -'
 
                db      ' ВОТ ТАК ВЫГЛЯДИТ НАШ ААА В РЕАЛЬНОСТИ :) :). А ПОСКОЛЬКО ОН ПРОБОЛТАЛСЯ, ЧТО ЛЮБИТ ВСЯКИЕ'
 
                db      ' КОСМИЧЕСКИЕ ЗВУКИ, ТО И АНАЛИЗАТОРЫ ПУСТЬ БУДУТ КОТОРЫЕ ОН ХОТЕЛ - СИНУСОИДАЛЬНЫЕ.'
 
                db      ' ПРАВДА ВСЕГО ИХ ТРИ, НО АНАЛИЗИРУЮТСЯ ВСЕ ШЕСТЬ КАНАЛОВ. ОТОБРАЖАЮТСЯ ПО ДВА В КАЖДОМ АНАЛИЗАТОРЕ,'
 
                db      ' ВЕРНЕЕ ИХ МАКСИМАЛЬНЫЙ УРОВЕНЬ. ПРОШУ НЕ ПИНАТЬ, ПОТОМУ КАК ЭТО ВООБЩЕ МОИ ПЕРВЫЕ ТАКИЕ АНАЛИЗАТОРЫ.'
 
                db      ' ПРАВДА Я ИХ ПРИДУМЫВАЛ НЕ С НУЛЯ, А ВЗЯЛ ЗА ОСНОВУ АНАЛИЗАТОР ИЗ "INTER MODE PLAYER 1.2", НО КОРЕННЫМ'
 
                db      ' ОБРАЗОМ ПЕРЕДЕЛАВ. НАДЕЮСЬ ААА ПОНРАВЯТСЯ ОНИ. СТАРТОВАЯ МЕЛОДИЯ ОТ ВСЕМИ ЛЮБИМЫХ ИНОПЛАНЕТЯН ESI.'
 
                db      ' КСТАТИ В ЭТОМ ВЫПУСКЕ ЕСТЬ СОВСЕМ УЖ КОСМИЧЕСКИЕ КОМПОЗИЦИИ, КОТОРЫЕ МОГУТ СЛУШАТЬ ТОЛЬКО ИНОПЛАНЕТЯНЕ.'
 
                db      ' ЧЕЛОВЕЧЕСКОЕ УХО ИХ ВОСПРИНИМАЕТ КАК БЕССВЯЗАННЫЙ НАБОР ЗВУКОВ. ТАК ЧТО НЕ ПУГАЕМСЯ - ЭТО НЕ ГЛЮКИ.'
 
                db      ' НУ И В ДОБАВОК СКОРО 12 АПРЕЛЯ - ДЕНЬ КОСМОНАВТИКИ. ЗНАЧИТ ВСЕ ИНОПЛАНЕТЯНЕ БУДУТ БУХАТЬ. ВОТ ИМ'
 
                db      ' И МУЗЫКА, ТАК СКАЗАТЬ К ПРАЗДНИКУ.  НУ ВРОДЕ ВСЕ СКАЗАЛ, ЧТО ХОТЕЛ :)   '  
 
                db      ' ИТАК, ЭТО УЖЕ ВОСЕМНАДЦАТЫЙ ВЫПУСК ДЕМО-ПРОГРАММЫ "E-TUNES".'
 
                db      ' ЭТОТ ВЫПУСК ВКЛЮЧАЕТ В СЕБЯ 30 МУЗЫКАЛЬНЫХ КОМПОЗИЦИЙ РАЗНОЙ ПРОДОЛЖИТЕЛЬНОСТИ.'
 
                db      ' НАПОМНЮ ЧТО ДАННЫЕ МУЗЫКАЛЬНЫЕ КОМПОЗИЦИИ СОЗДАНЫ В РЕДАКТОРЕ'
 
                db      ' "E-TRACKER" И ПОЗАИМСТВОВАНЫ С КОМПЬЮТЕРА "SAM COUPE".'
 
                db      ' ИТОГО УЖЕ НА СПЕККИ 530 КОМПОЗИЦИЙ ДОСТУПНЫХ ДЛЯ ПРОСЛУШИВАНИЯ.'
 
                db      ' ПРОСЛУШАТЬ МУЗЫКУ МОЖНО  ЧЕРЕЗ ЗВУКОВУЮ КАРТУ "ZXM-SOUNDCARD" ИЛИ В ЭМУЛЯТОРЕ "UNREAL SPECCY",'
 
                db      ' ПРОПАТЧЕННЫЙ МОЛОДЦОВЫМ АЛЕКСАНДРОМ.' 
 
                db      ' НЕМНОГО ОБ УПРАВЛЕНИИ. ПЕРЕХОД К СЛЕДУЮЩЕМУ ПРОИЗВЕДЕНИЮ ОСУЩЕСТВЛЯЕТСЯ ПРИ ПОМОЩИ КЛАВИШИ'
 
                db      ' "SPACE", ВЫХОД В TR-DOS ПРИ ПОМОЩИ КЛАВИШИ "BREAK"'
 
                db      ' О ПРОГРАММЕ: ИДЕЮ АНАЛИЗАТОРОВ ПОЗАИМСТВОВАЛ ИЗ ПРОГРАММЫ "INTER MODE PLAYER 1.2",'
 
                db      ' МАТЕРИАЛ ДЛЯ КАРТИНКИ ВЗЯЛ ИЗ ИНТЕРНЕТА. ОСТАЛЬНОЕ ВЗЯТО ИЗ ПРЕДЫДУЩИХ ВЫПУСКОВ'
 
                db      ' "E-TUNES" ИЛИ ПРИДУМАНО. ВСЕ ЭТО СОБИРАЛОСЬ НА РС ПРИ ПОМОЩИ АССЕМБЛЕРА  SJASMPLUS.'
 
                db      '             ПОСТОЯННАЯ РУБРИКА - ПРИВЕТЫ И СПАСИБЫ!     '
 
                db      ' ААА, КАК ВСЕГДА И ВЕЗДЕ ГРОМАДНЫЙ ПРИВЕТИЩЕ. ААА Я РАСКРЫЛ ТВОЮ НАСТОЯЩУЮ ИНОПЛАНЕТНУЮ СУЩНОСТЬ :)' 
 
                db      ' БОЛЬШУЩИЙ РЕСПЕКТ MOLODCOV_ALEX (МОЛОДЦОВ АЛЕКСАНДР) ЗА ЭМУЛЯТОР.'
 
                db      ' RINDEX ПРИВЕТ И СПАСИБО ЗА КРИТИКУ И СОВЕТЫ.'
 
                db      ' VNN_KCS СПАСИБО ЗА ВЫПУСК ПРОГРАММЫ "E-TUNES COLLECTION VOL. 1". ОТ БОРДЕРНЫХ ЭФФЕКТОВ ФЕНЯ ПРОСТО'
 
                db      ' В ШОКЕ И Я ВМЕСТЕ С НИМ.'
 
                db      ' ПРИВЕТ ВЛАДЕЛЬЦАМ КАРТЫ "ZXM-SOUNDCARD". НАЗОВЕМ ИХ ПОИМЕННО: AAA, PIROXILIN, КИРЛИАН, LUZANOV,'
 
                db      ' ДМИТРИЙ И EWGENY7 .'
 
                db      ' ВСЕМ ФЕНИКСОИДАМ ОТДЕЛЬНЫЙ ПРИВЕТ :).'
 
                db      ' ПРИВЕТ ТАКЖЕ ВСЕМ СПЕКТРУМИСТАМ, БЫВШИМ, НАСТОЯЩИМ И ВОЗМОЖНО БУДУЩИМ.'
 
                db      '       И ПОСЛЕДНИЙ АБЗАЦ :) :)'
 
                db      ' НЕ ЗАБЫВАЕМ ПОСЕЩАТЬ САЙТ WWW.MICKLAB.NAROD.RU ТАМ МОЖНО НАЙТИ ПОСЛЕДНЮЮ ИНФОРМАЦИЮ'
 
                db      ' ПО МОИМ ПРОЕКТАМ. СВЯЗАТСЯ СО МНОЙ МОЖНО ЧЕРЕЗ САЙТ WWW.ZX.PK.RU - НИКНЕЙМ MICK ИЛИ ЧЕРЕЗ МЫЛО'
 
                db      ' MICKLAB@MAIL.RU    '
 
                db      ' ПОРА ПРОЩАТЬСЯ. ДО НОВЫХ ТЮНЕСОВ. ПОКА, ПОКА.......  ЕЩЕ БУДУТ ТЮНЕСЫ, ПО КРАЙНЕЙ МЕРЕ ОДИН ТОЧНО :) .   '
 
                db      '            MARCH *2011*    GRAPHICS AND CODE BY MICK         '
 
                db      '                                             ',0                       
 
Str_addr_font:
 
                incbin "font.fnt"
 
Str_end_font:
 
 
 
;               .end