то есть, выходит, что линия рендерится в зависимости от параметров?
то есть, выходит, что линия рендерится в зависимости от параметров?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
denpopov, рендерится каждая строка
и складывается графика/тайлы/спрайты
а есть где пример спрайтов?
скролл из последней части, спрайтовый
суть такая - спрайты постоянно меняют позицию по Х, от 0 до 31, влево. как попали на позицию 0 - передвигаем адреса указателей на буквы скролла в дескрипторе спрайтов. всё)
спрашивайКод:SFileAddr EQU 512 ld ix,spr_db+12 ld b,font_quant ; кол-во букв (спрайтов) на экране ld hl,0 ; x fq1 push bc xor a ld (ix+0),a ;y ld (ix+4),a ld a,%11100000 ; palitra !!!!!!!!!!!!!!!!!!! ld (ix+5),a ld a,%00110100 ; 1 ld (ix+1),a ld (ix+2),l ld a,%00010110 or h ld (ix+3),a ld bc,#20 ; ширина буквы - 32 точки add hl,bc ld c,6 ; 6 байт на описание спрайта add ix,bc pop bc djnz fq1 push ix ; завершаем формирование добавлением блока с концом отрисовки, бит leap pop de ld hl,spr_final ld c,6 ldir jp spr_out spr_final DB 0 DB %01000000 DB 0 DB %00010000 DB 0 DB %11100000 fill_text ; сдвиг текста, положение графики букв в наборе спрайтов ; передвигаем адреса указателей на буквы скролла в дескрипторе спрайтов ld ix,spr_db+18+4 ld hl,spr_db+12+4 ld b,12 ftroll1 push bc ld a,(ix+0) ld (hl),a inc hl ld a,(ix+1) ld (hl),a dec hl ld bc,6 add ix,bc add hl,bc pop bc djnz ftroll1 fill_text_adr ld hl,text ld a,(hl) or a jr nz,text_fill1 ld hl,text ld a,(hl) text_fill1 inc hl ld (fill_text_adr+1),hl sub #20 add a,a ld l,a ld h,high font_db ; получаем адрес буквы в графике ld de,spr_db+6*12+4 ; ставим в дескриптор адрес новой буквы ld a,(hl) ld (de),a inc l inc e ld a,(hl) or %11100000 ; palitra !!!!!!!!!!!!!!!!!!! ld (de),a spr_out LD BC,FMAddr LD A,%00010000 OUT (C),A LD HL,spr_db LD DE,SFileAddr LD BC,6*font_quant ; закидываем в память фпга LDIR LD BC,FMAddr XOR A OUT (C),A ret org #ba00 spr_db DB 0 DB %01000000 ; leap DB 0 DB %00010000 DB 0 DB %11100000 DB 0 DB %01000000 ; leap to2 DB 0 DB %00010000 DB 0 DB %11100000
Последний раз редактировалось Hacker VBI; 02.06.2014 в 14:54.
denpopov, смотря когда дёргать. в момент отрисовки - зло.
нууууууууууууууу. это несерьезно.
то блиттер работает через задницу, то тайлы 8 высотой...![]()
вот ты интересный.
тайлы - от 8 до 64, как и спрайты.
блиттер валит что надо.
может с руками что-то?![]()
Не совсем, но режим скаам так андокументированный. Прэдполагалось что для вертикальных знакоместных столбцов должен быть массив скрололо (как на этих ихних сегах), но оно то ли не влезло, то ли показалось ненужным. Поэтому вертикальную скролку для тайлов лучше дергать 1 раз на фрейм, причем минимум за 16 линий до первой линии тайлов.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)