Важная информация

User Tag List

Страница 2 из 8 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 77

Тема: Изучая акселераторы Пентево

  1. #11
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    denpopov, ещё в процессе, времени не так много как хотелось-бы потратить)
    ну тогда, наверное, нужно внести изменения в пост, потому что пример говорит другое.

    и про цвета палитры -полный туман.

  2. #12
    Veteran Аватар для Hacker VBI
    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    denpopov, я не ставлю задачу расписать всё.
    это вводный курс, как я его понимаю.

    где пример говорит "другое"?
    если есть обьяснение, как пользовать тайлы - welcome

  3. #13
    Banned
    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    где пример говорит "другое"?
    http://zx-evo-fpga.googlecode.com/hg...les/example01/

    вот смотри сколько тумана:
    VCONFIG equ $00AF
    LD BC,VCONFIG ; Включаем видеорежим: %10-320x240, %001-16 цветов %01 – 320x200
    LD A,%01000010
    OUT (C),A
    из примера куда понятнее.

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    я не ставлю задачу расписать всё.
    это вводный курс, как я его понимаю
    bad try

  4. #14
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я для эмуляции много почерпнул отсюда - http://zx-evo-fpga.googlecode.com/hg...onf/TSconf.xls
    Все любят гипножабу

  5. #15
    Member
    Регистрация
    11.04.2010
    Адрес
    Саяногорск
    Сообщений
    138
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    если есть обьяснение, как пользовать тайлы - welcome
    Пример по тайлам: отображение битмапа 320х240х16c в тайловом слое
    Вложения Вложения
    • Тип файла: zip tiles.zip (374.3 Кб, Просмотров: 75)
    ZXM-Phoenix 1024 Rev.02+ProfROMUni+SMUC2b ZX-Evolution Rev.C ZX Spectrum +2A Yamaha YIS503IIIR Atari 65XE

  6. #16
    Veteran Аватар для Hacker VBI
    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Buyan, я прокомментирую, поправишь:


    Код:
    start		di
    		ld	sp,49151
    
    		call	init_gfx	;устанавливаем режимы
    		call	init_zx_pal	;грузим палитру
    		call	gfx_copy	;грузим графику для 0-го тайлового слоя
    		call	fill_tiles	;заполняем карту тайлов
    	
    stop		jp	stop
    Код:
    	include	dev\ts-ports.asm ; названия портов лежат здесь, в первом посте есть ссылка на подобный файл
    
    init_gfx	ld	bc,VConfig	; 320x240
    		ld	a,%10100001
    		out	(c),a
    	
    		ld	bc,TSConfig	; 0й тайловый вкл., отображение тайлов с номером 0 - вкл.
    		ld	a,%00100100
    		out	(c),a
    
    		ld	bc,PalSel
    		ld	a,%00000000
    		out	(c),a
    
    
    		ld	bc,T0YOffsL	; смещения для 0-го тайлового слоя ставим по 0
    		out	(c),a
    		ld	bc,T0YOffsH
    		out	(c),a
    		ld	bc,T0XOffsL
    		out	(c),a
    		ld	bc,T0XOffsH
    		out	(c),a
    
    		ld	bc,T0GPage	; графика 0-го тайлового слоя
    		ld	a,128
    		out	(c),a
    
    		ld	bc,TMPage	; страница карты тайлов
    		ld	a,128+8
    		out	(c),a
    		ret
    Хорошо комментированный текст Смотрим екселевский файл, видим, что в TSConfig ложим %00100100, -

    Скрытый текст


    T0_EN Tile Layer 0 Enable
    T0Z_EN Tiles with number 0 display Enable
    [свернуть]

    0й тайловый вкл., отображение тайлов с номером 0 - вкл.

    PalSel - Palette selection for 4 bit modes. выбор палитры в 0, в инициализации палитры ( init_zx_pal ) видим, что она начинается с адреса 0. палитра загружается стандартная спековская из файла.

    для тайлов мы имеем 16 цветов онли. тут бы хотелось немного болше информации, по выбору палитры.

    Дальше - указывается адрес отображения окна просмотра - х=0, y=0, выбирается страница с графикой тайлового слоя и выбирается страница карты тайлов, всё видно в комментариях.

    Код:
    ;------------------------------------------------------------
    init_zx_pal	ld  a,%00010000
    
               	ld  bc,FMAddr
               	out (c),a
    
    		ld	hl,zx_palette
    		ld	de,0
    		ld	bc,32
    		ldir
    
    		xor	a
            	ld	bc,FMAddr
              	out	(c),a
    		ret
    zx_palette	include	"dev\zx_palette.asm"
    пример знаком

    дальше интереснее. DMA
    используется для переброски загруженной картинки в нужные страницы в нужном формате:
    DMASххх - dma источник
    DMADххх - dma приёмник

    DMASAddrX - страница источника
    DMASAddr - адрес откуда

    DMALen - DMA Burst Length
    Длина 1 бурста в словах минус 1. Т.е. 0 - 2 байта, 255 - 512 байт.
    в данном случае - 160/2-1 - строками по 160 байт (320 точек 16С)
    DMANum - колво строк

    DMACtrl - %00010001. DMA Control / Start
    включен бит D_ALGN, Destination Address Alignment.
    "After each burst lower bits of address restored to their initial values before burst, upper bits increased by 1"
    - выравнивание по 256b, т.е. каждая следующая строка будет загружена по адресу + 256

    включенный бит 0 значит, что пишем из озу в озу: RAM (Src) is copied to RAM (Dst)

    читаем статус (DMAStatus), пока операция не закончится.

    Код:
    ;------------------------------------------------
    gfx_copy	ld 	bc,DMASAddrX
    		ld	 a,100		; из spg графика загружена начиная с 100-й страницы
    		out 	(c),a
    		ld	 hl,0
    		ld	 bc,DMASAddrH
    		out 	(c),h
    		ld	bc,DMASAddrL
    		out	 (c),l
    	
    		ld 	bc,DMADAddrX
    		ld	 a,128		; перекидываем в 128 ( T0GPage )
    		out 	(c),a
    		ld	 hl,0
    		ld 	bc,DMADAddrH
    		out 	(c),h
    		ld 	bc,DMADAddrL
    		out 	(c),l
    	
    		ld	 bc,DMALen
    		ld	a,160/2-1	; строками по 160 байт (320 точек 16С)
    		out 	(c),a
    	
    		ld 	bc,DMANum
    		ld	 a,240-1		; 240 строк
    		out 	(c),a
    	
    		ld	 bc,DMACtrl
    		ld	 a,%00010001	; с выравниванием по 256b, т.е. каждая следующая строка
    		out 	(c),a		; будет загружена по адресу + 256
    		
    		ld	bc,DMAStatus
    nm1cl		in	a,(c)
    		or	a
    		jr	nz,nm1cl
    		ret
    дальше самое интересное.
    тайловая карта задаётся двумя байтами на каждый тайл. первый байт - номер, второй байт: 4 младших бита - номер тайла, а так-же выбор палитры и возможность переворота тайла:

    Скрытый текст


    TNUM Tile Number for upper left corner. Bits 0-5 are X Position in Graphics Bitmap, bits 6-11 - Y Position.
    XF Horizontal Flip
    YF Vertical Flip
    TPAL Tile Palette Selector, bits 0-1. Bits 2-3 are taken from PalSel register bits 6-7 or 4-5, dependently on tiles layer 1 or 0.
    [свернуть]


    Тайловая карта генерится слева-направо, сверху-вниз. всего можем иметь 64*64

    Скрытый текст


    tpos_x tile X position on the plane 0-63
    tpos_y tile Y position on the plane 0-63
    [свернуть]


    размер тайла имеем 8*8 точек. других размеров быть не может, так?
    Тайловых карт всего две, и они находятся в одной странице вперемешку. тайлы0 - от 0до 127, тайлы1 - от 128-155

    Код:
    fill_tiles	ld 	bc,Page3	; включаем страницу тайлмапа с #C000
    		ld	a,128+8
    		out	 (c),a
    
    		ld	ix,#c000	; адрес 0-го тайла 0-го слоя ( для слоя 1 соответственно #C000+128 )
    
    		ld	 de,64
    		ld 	hl,0		; начальный номер тайла
    		ld	b,30		; тайлов по вертикали (240/8)
    fill_y		push	bc
    		push	ix
    		push	hl
    
    		ld	b,40		; тайлов по горизонтали (320/8)
    fill_x		ld	(ix+0),l
    		ld	a,h
    		and	%00001111	; биты номера палитры тайла и инверсий XY по 0-м т.е палитра №0 и зеркалирование тайла выкл.
    		ld	h,a
    		ld	(ix+1),h
    		inc	hl		; номер следующего тайла
    		inc	ix		; адрес следующего тайла (+2 т.к описатель тайла 2 байта)
    		inc	ix
    		djnz	fill_x
    
    		pop	hl
    		add	hl,de		; первый тайл следующей строки ( номер + 64 т.к. слой 64х64 тайла )
    		pop	ix
    		inc	ixh		; адрес следующей строки слоя в тайлмапе ( + 256 )
    		pop	bc
    		djnz	fill_y
    		ret
    Сразу после вызова последнего сall видим девушку на экране.
    нулевой цвет для тайлов должен обозначать прозрачность: 4 bits per pixel, transparent color is 0 from 16 (4'b0)
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	screenshot_02.jpg 
Просмотров:	243 
Размер:	22.3 Кб 
ID:	47779  
    Последний раз редактировалось Hacker VBI; 04.05.2014 в 13:50.

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Member
    Регистрация
    11.04.2010
    Адрес
    Саяногорск
    Сообщений
    138
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    что в TSConfig ложим %00100100, -

    Скрытый текст


    T0_EN Tile Layer 0 Enable
    T0Z_EN Tiles with number 0 display Enable
    [свернуть]

    1й тайловый вкл., отображение тайлов с номером 0 - вкл.
    там опечатка у меня, 0й тайловый т.е., а не 1й.
    ZXM-Phoenix 1024 Rev.02+ProfROMUni+SMUC2b ZX-Evolution Rev.C ZX Spectrum +2A Yamaha YIS503IIIR Atari 65XE

  9. #18
    Veteran Аватар для Hacker VBI
    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Buyan, и я пропустил, хоть в описании битов всё нашёл правильно)
    поправил

  10. #19
    Member
    Регистрация
    11.04.2010
    Адрес
    Саяногорск
    Сообщений
    138
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    для тайлов мы имеем 16 цветов онли. тут бы хотелось немного болше информации, по выбору палитры.
    В описателе тайла за выбор палитры отвечают только 2 бита TPAL (биты 1,0), биты (3,2) прописываются в регистре PalSel для каждого из слоев, эти биты в сумме и задают конечный 4х битный номер палитры конкретного тайла. Т.е. получается что в пределах одного тайлового слоя для каждого тайла можно использовать 1 из 4х смежных палитр.
    ZXM-Phoenix 1024 Rev.02+ProfROMUni+SMUC2b ZX-Evolution Rev.C ZX Spectrum +2A Yamaha YIS503IIIR Atari 65XE

  11. #20
    Veteran Аватар для Hacker VBI
    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Народ, интересно?
    На очереди разбор MindWarp - офигезный эффект палитры)

Страница 2 из 8 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Акселераторы для amiga600
    от easy_john в разделе Amiga
    Ответов: 133
    Последнее: 25.07.2014, 10:11

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •