;--------------------------------------------------------------------
; Описание: Бегущая строка
; Автор порта: Тарасов М.Н.(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:
ld hl,Str_addr_text
ld (Str_addr_work),hl
ret
Str_init_load:
ld hl,Str_addr_load
ld (Str_addr_work),hl
ld a,1
ld (Str_flg_end),a
ret
Str_next_symol:
ld hl,(Str_addr_work)
ld a,(hl)
and a
jr z,Str_reload
ret c
inc hl
ld (Str_addr_work),hl
sub 20h
ld h,0
ld l,a
add hl,hl
add hl,hl
add hl,hl
add hl,hl
ld de,Str_addr_font
add hl,de
ld (Str_addr_symbol),hl
ld hl,0880h
ld (Str_mask_bit),hl
ret
Str_play:
ld a,(Str_mask_bit + 1)
or a
call z,Str_next_symol
ret c
call Str_update_symbol
jr Str_draw_symbol
Str_update_symbol:
ld bc,(Str_mask_bit)
ld de,(Str_addr_symbol)
ld hl,Str_buff_pixel
push bc
ld b,16
Str_update_loop:
push bc
ld a,(de)
and c
jr z,Str_update_pixel
ld a,1
Str_update_pixel:
ld (hl),a
inc hl
inc de
pop bc
djnz Str_update_loop
pop bc
rr c
dec b
ld (Str_mask_bit),bc
ret
Str_draw_symbol:
ld de,Str_buff_pixel
ld hl,489Bh
ld b,10h
Str_draw_copy:
ld a,(de)
or (hl)
ld (hl),a
inc de
call Str_next_line
djnz Str_draw_copy
ld hl,489Bh
ld b,10h
Str_draw_move:
push bc
push hl
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)
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
pop hl
call Str_next_line
pop bc
dec b
jr nz,Str_draw_move
ret
Str_next_line:
inc h
ld a,h
and 7
ret nz
ld a,l
add 20h
ld l,a
ret c
ld a,h
sub 8
ld h,a
ret
Str_buff_pixel:
db 0,0,0,0,0,0,0,0
db 0,0,0,0,0,0,0,0
Str_flg_end:
db 0
Str_mask_bit:
dw 0
Str_addr_symbol:
dw 0
Str_addr_work:
dw 0
Str_addr_load:
db 'LOADING... ',0
Str_addr_text:
db ' ПРИВЕТ ВСЕМ ЛЮБИТЕЛЯМ "ZX-SPECTRUM"!!! '
db 'СПУСТЯ 12 ЛЕТ СПОДОБИЛСЯ ЧТО ТО ИЗОБРАЗИТЬ'
db ' ДЛЯ СПЕККИ СООБЩЕСТВА. КОРОЧЕ ПРЕДСТАВЛЯЮ '
db 'ПРОГРАММУ "E-TUNES", ИДЕЯ КОТОРОЙ ПОЗАИМСТВОВАНА'
db ' С КОМПЬЮТЕРА "SAM COUPE". ПРОГРАММА ПРЕДНАЗНАЧЕНА'
db ' ДЛЯ ПРОСЛУШИВАНИЯ МУЗЫКАЛЬНЫХ ПРОИЗВЕДЕНИЙ '
db 'РЕДАКТОРА "E-TRACKER" ЧЕРЕЗ ЗВУКОВУЮ КАРТУ '
db '"ZXM-SOUNDCARD", РАЗРАБОТАННУЮ НА ОСНОВЕ СХЕМЫ '
db '"TSFM" ОТ ГРУППЫ NEDO PC (WWW.NEDOPC.COM) И '
db 'СХЕМЫ ВКЛЮЧЕНИЯ ЗВУКОВОГО ЧИПА SAA1099 ОТ '
db 'VELESOFT (WWW.VELESOFT.SPECCY.CZ/SAA1099-CZ.HTM).'
db ' СОБСТВЕННО ЭТА ПРОГРАММА И ЗАДЕЙСТВУЕТ ТУ ЧАСТЬ '
db 'КАРТЫ, КОТОРАЯ ЮЗАЕТ ЧИП SAA1099. '
db 'В ЭТОМ ВЫПУСКЕ ПРОГРАММЫ ВКЛЮЧЕНО 20'
db ' МУЗЫКАЛЬНЫХ ПРОИЗВЕДЕНИЙ. ПЕРЕХОД К СЛЕДУЮЩЕМУ '
db 'ПРОИЗВЕДЕНИЮ ОСУЩЕСТВЛЯЕТСЯ ПРИ ПОМОЩИ КЛАВИШИ'
db ' "SPACE", ВЫХОД В TR-DOS ПРИ ПОМОЩИ КЛАВИШИ "BREAK"'
db ' АХ ДА, ЗАБЫЛ ПРЕДСТАВИТЬСЯ - MICK, МЕНЯ МОЖНО НАЙТИ'
db ' ПО E-MAIL: MICKLAB@MAIL.RU И НА САЙТЕ ZX.PK.RU'
db ' О ПРОГРАММЕ. КАРТИНКА, АНАЛИЗАТОР, ПРОИГРЫВАТЕЛЬ'
db ' МУЗЫКАЛЬНЫХ'
db ' МОДУЛЕЙ БЫЛИ СОДРАНЫ С КОМПА "SAM COUPE", ОСТАЛЬНОЕ'
db ' УЖЕ И НЕ ПОМНЮ :)) ВСЕ ЭТО ХОЗЯЙСТВО НАПИСАНО НА АССЕМБЛЕРЕ'
db ' SJASMPLUS. И ПО ТРАДИЦИИ ПАРУ ПРИВЕТОВ'
db ' В ОБЩЕМ ПРИВЕТ ВСЕМ СПЕКТРУМИСТАМ, БЫВШИМ, НАСТОЯЩИМ И ВОЗМОЖНО'
db ' БУДУЩИМ. СПАСИБИЩЕ CHRV И VELESOFT ЗА ИХ ТВОРЧЕСТВО. '
db 'ОТДЕЛЬНЫЙ РЕСПЕКТ ВЛАДЕЛЬЦАМ КОМПЬЮТЕРА '
db '"ZXM-PHOENIX" (КСТАТИ НАЧАТЫ РАБОТЫ НАД ВТОРОЙ ВЕРСИЕЙ).'
db ' И ОГРОМНОЕ БЛАГОДАРИЩЕ ААА ЗА ТО ЧТО ОН ТАКОЙ ЕСТЬ'
db ' (ОН, КСТАТИ ОБЛАДАТЕЛЬ КАРТЫ "ZXM-SOUNDCARD" '
db ' И МОЖЕТ СЛУШАТЬ СЕИ МУЗЫКАЛЬНЫЕ ПРОИЗВЕДЕНИЯ. :) А ОСТАЛЬНЫЕ'
db ' ТОЛЬКО МОГУТ НАБЛЮДАТЬ ЗА БЕГУЩЕЙ СТРОКОЙ И ПРЫГАНИЕМ'
db ' АНАЛИЗАТОРА). НУ ВСЕ, ЗАМОТАЛСЯ СОЧИНЯТЬ БРЕД, ПОРА И МЕРУ'
db ' ЗНАТЬ, ПОРА ПРОЩАТЬСЯ. ПОКА, ПОКА....... '
db ' *2010* CODE AND GRAPHICS BY MICK '
db ' ',0
Str_addr_font:
incbin "dbfnt.fnt"
; .end