Subversion Repositories tsfmpro

Rev

Rev 544 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. ;--------------------------------------------------------------------
  2. ; Описание: Бегущая строка
  3. ; Автор порта: Тарасов М.Н.(Mick),2010
  4. ;--------------------------------------------------------------------
  5. Str_reload:
  6.                 ld      a,(Str_flg_end)
  7.                 and     a
  8.                 jr      z,Str_init
  9.                 xor     a
  10.                 ld      (Str_flg_end),a
  11.                 scf
  12.                 ret
  13. Str_init:
  14.                 ld      hl,Str_addr_text
  15.                 ld      (Str_addr_work),hl
  16.                 ret
  17.  
  18. Str_init_load:
  19.                 ld      hl,Str_addr_load
  20.                 ld      (Str_addr_work),hl
  21.                 ld      a,1
  22.                 ld      (Str_flg_end),a
  23.                 ret
  24.  
  25. Str_next_symol:
  26.                 ld      hl,(Str_addr_work)
  27.                 ld      a,(hl)
  28.                 and     a
  29.                 jr      z,Str_reload
  30.                 ret     c
  31.                 inc     hl
  32.                 ld      (Str_addr_work),hl
  33.                 sub     20h
  34.                 ld      h,0
  35.                 ld      l,a
  36.                 add     hl,hl
  37.                 add     hl,hl
  38.                 add     hl,hl
  39.                 add     hl,hl
  40.                 ld      de,Str_addr_font
  41.                 add     hl,de
  42.                 ld      (Str_addr_symbol),hl
  43.  
  44.                 ld      hl,0880h
  45.                 ld      (Str_mask_bit),hl
  46.                 ret
  47.  
  48. Str_play:
  49.                 ld      a,(Str_mask_bit + 1)
  50.                 or      a
  51.                 call    z,Str_next_symol
  52.                 ret     c
  53.                 call    Str_update_symbol
  54.                 jr      Str_draw_symbol
  55.  
  56. Str_update_symbol:
  57.                 ld      bc,(Str_mask_bit)
  58.                 ld      de,(Str_addr_symbol)
  59.                 ld      hl,Str_buff_pixel
  60.  
  61.                 push    bc
  62.                 ld      b,16
  63. Str_update_loop:
  64.                 push    bc
  65.                 ld      a,(de)
  66.                 and     c
  67.                 jr      z,Str_update_pixel
  68.                 ld      a,1
  69. Str_update_pixel:
  70.                 ld      (hl),a
  71.                 inc     hl
  72.                 inc     de
  73.                 pop     bc
  74.                 djnz    Str_update_loop
  75.  
  76.                 pop     bc
  77.                 rr      c
  78.                 dec     b
  79.                 ld      (Str_mask_bit),bc
  80.                 ret
  81.  
  82. Str_draw_symbol:
  83.                 ld      de,Str_buff_pixel
  84.                 ld      hl,489Bh
  85.                 ld      b,10h
  86. Str_draw_copy: 
  87.                 ld      a,(de)
  88.                 or      (hl)
  89.                 ld      (hl),a
  90.                 inc     de
  91.                 call    Str_next_line
  92.                 djnz    Str_draw_copy
  93.                 ld      hl,489Bh
  94.                 ld      b,10h
  95. Str_draw_move:
  96.                 push    bc
  97.                 push    hl
  98.                 and     a
  99.                 rl      (hl)
  100.                 dec     l
  101.                 rl      (hl)
  102.                 dec     l
  103.                 rl      (hl)
  104.                 dec     l
  105.                 rl      (hl)
  106.                 dec     l
  107.                 rl      (hl)
  108.                 dec     l
  109.                 rl      (hl)
  110.                 dec     l
  111.                 rl      (hl)
  112.                 dec     l
  113.                 rl      (hl)
  114.                 dec     l
  115.                 rl      (hl)
  116.                 dec     l
  117.                 rl      (hl)
  118.                 dec     l
  119.                 rl      (hl)
  120.                 dec     l
  121.                 rl      (hl)
  122.                 dec     l
  123.                 rl      (hl)
  124.                 dec     l
  125.                 rl      (hl)
  126.                 dec     l
  127.                 rl      (hl)
  128.                 dec     l
  129.                 rl      (hl)
  130.                 dec     l
  131.                 rl      (hl)
  132.                 dec     l
  133.                 rl      (hl)
  134.                 dec     l
  135.                 rl      (hl)
  136.                 dec     l
  137.                 rl      (hl)
  138.                 dec     l
  139.                 rl      (hl)
  140.                 dec     l
  141.                 rl      (hl)
  142.                 dec     l
  143.                 rl      (hl)
  144.                 dec     l
  145.                 rl      (hl)
  146.                 dec     l
  147.                 pop     hl
  148.                 call    Str_next_line
  149.                 pop     bc
  150.                 dec     b
  151.                 jr      nz,Str_draw_move
  152.                 ret
  153. Str_next_line:
  154.                 inc     h
  155.                 ld      a,h
  156.                 and     7
  157.                 ret     nz
  158.                 ld      a,l
  159.                 add     20h
  160.                 ld      l,a
  161.                 ret     c
  162.                 ld      a,h
  163.                 sub     8
  164.                 ld      h,a
  165.                 ret
  166.  
  167. Str_buff_pixel:
  168.                 db      0,0,0,0,0,0,0,0
  169.                 db      0,0,0,0,0,0,0,0
  170.  
  171. Str_flg_end:
  172.                 db      0
  173.  
  174. Str_mask_bit:
  175.                 dw      0
  176. Str_addr_symbol:
  177.                 dw      0
  178. Str_addr_work:
  179.                 dw      0
  180.  
  181. Str_addr_load:
  182.                 db      'LOADING...      ',0
  183. Str_addr_text:
  184.                 db      '               ПРИВЕТ ВСЕМ ЛЮБИТЕЛЯМ "ZX-SPECTRUM"!!!     '
  185.                 db      'СПУСТЯ 12 ЛЕТ СПОДОБИЛСЯ ЧТО ТО ИЗОБРАЗИТЬ'
  186.                 db      ' ДЛЯ СПЕККИ СООБЩЕСТВА. КОРОЧЕ ПРЕДСТАВЛЯЮ '
  187.                 db      'ПРОГРАММУ "E-TUNES", ИДЕЯ КОТОРОЙ ПОЗАИМСТВОВАНА'
  188.                 db      ' С КОМПЬЮТЕРА "SAM COUPE". ПРОГРАММА ПРЕДНАЗНАЧЕНА'
  189.                 db      ' ДЛЯ ПРОСЛУШИВАНИЯ МУЗЫКАЛЬНЫХ ПРОИЗВЕДЕНИЙ '
  190.                 db      'РЕДАКТОРА "E-TRACKER" ЧЕРЕЗ ЗВУКОВУЮ КАРТУ '
  191.                 db      '"ZXM-SOUNDCARD", РАЗРАБОТАННУЮ НА ОСНОВЕ СХЕМЫ '
  192.                 db      '"TSFM" ОТ ГРУППЫ NEDO PC (WWW.NEDOPC.COM) И '
  193.                 db      'СХЕМЫ ВКЛЮЧЕНИЯ ЗВУКОВОГО ЧИПА SAA1099 ОТ '
  194.                 db      'VELESOFT (WWW.VELESOFT.SPECCY.CZ/SAA1099-CZ.HTM).'
  195.                 db      ' СОБСТВЕННО ЭТА ПРОГРАММА И ЗАДЕЙСТВУЕТ ТУ ЧАСТЬ '
  196.                 db      'КАРТЫ, КОТОРАЯ ЮЗАЕТ ЧИП SAA1099.  '
  197.                 db      'В ЭТОМ ВЫПУСКЕ ПРОГРАММЫ ВКЛЮЧЕНО 20'
  198.                 db      ' МУЗЫКАЛЬНЫХ ПРОИЗВЕДЕНИЙ. ПЕРЕХОД К СЛЕДУЮЩЕМУ '
  199.                 db      'ПРОИЗВЕДЕНИЮ ОСУЩЕСТВЛЯЕТСЯ ПРИ ПОМОЩИ КЛАВИШИ'
  200.                 db      ' "SPACE", ВЫХОД В TR-DOS ПРИ ПОМОЩИ КЛАВИШИ "BREAK"'
  201.                 db      '  АХ  ДА, ЗАБЫЛ ПРЕДСТАВИТЬСЯ - MICK, МЕНЯ МОЖНО НАЙТИ'
  202.                 db      ' ПО E-MAIL: MICKLAB@MAIL.RU И НА САЙТЕ ZX.PK.RU'
  203.                 db      ' О ПРОГРАММЕ. КАРТИНКА, АНАЛИЗАТОР, ПРОИГРЫВАТЕЛЬ'
  204.                 db      ' МУЗЫКАЛЬНЫХ'
  205.                 db      ' МОДУЛЕЙ БЫЛИ СОДРАНЫ С КОМПА "SAM COUPE", ОСТАЛЬНОЕ'
  206.                 db      ' УЖЕ И НЕ ПОМНЮ  :)) ВСЕ ЭТО ХОЗЯЙСТВО НАПИСАНО НА АССЕМБЛЕРЕ'
  207.                 db      ' SJASMPLUS.          И ПО ТРАДИЦИИ ПАРУ ПРИВЕТОВ'
  208.                 db      ' В ОБЩЕМ ПРИВЕТ ВСЕМ СПЕКТРУМИСТАМ, БЫВШИМ, НАСТОЯЩИМ И ВОЗМОЖНО'
  209.                 db      ' БУДУЩИМ. СПАСИБИЩЕ CHRV И VELESOFT ЗА ИХ ТВОРЧЕСТВО. '
  210.                 db      'ОТДЕЛЬНЫЙ РЕСПЕКТ ВЛАДЕЛЬЦАМ КОМПЬЮТЕРА '
  211.                 db      '"ZXM-PHOENIX" (КСТАТИ НАЧАТЫ РАБОТЫ НАД ВТОРОЙ ВЕРСИЕЙ).'
  212.                 db      ' И ОГРОМНОЕ БЛАГОДАРИЩЕ ААА ЗА ТО ЧТО ОН ТАКОЙ ЕСТЬ'
  213.                 db      ' (ОН, КСТАТИ ОБЛАДАТЕЛЬ КАРТЫ "ZXM-SOUNDCARD" '
  214.                 db      ' И МОЖЕТ СЛУШАТЬ СЕИ МУЗЫКАЛЬНЫЕ ПРОИЗВЕДЕНИЯ. :) А ОСТАЛЬНЫЕ'
  215.                 db      ' ТОЛЬКО МОГУТ НАБЛЮДАТЬ ЗА БЕГУЩЕЙ СТРОКОЙ И ПРЫГАНИЕМ'
  216.                 db      ' АНАЛИЗАТОРА).  НУ ВСЕ, ЗАМОТАЛСЯ СОЧИНЯТЬ БРЕД, ПОРА И МЕРУ'
  217.                 db      ' ЗНАТЬ, ПОРА ПРОЩАТЬСЯ. ПОКА, ПОКА.......                   '
  218.                 db      '              *2010* CODE AND GRAPHICS BY MICK              '
  219.                 db      '                                             ',0                      
  220. Str_addr_font:
  221.                 incbin "dbfnt.fnt"
  222.  
  223. ;               .end
  224.