Buzz
#12
30 декабря 1997 |
|
Ассемблер - Процедура "Chunky to planar" - вывод chunky dat'ы на planar'ный экран.
___ _ --/ · - = Ё │<A│< Р\/ЛИ│Ь 8 ╫((ЕМБЛЕРЕ /80 Ё = - · / /-- ▓▓░ ▓▓▓▓▓▓▓▓▓▓▓▓▓ ░▓▓ ▓▓▓▓░ ▓▓░ ░▓▓ ░▓▓ ▓▓░ ▓▓░ ▓▓▓▓▓▓▓▓▓ ░▓▓ ░▓▓▓▓ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▓▓░ ▓▓░ ░▓▓ ░▓▓ ░▓▓ ░▓▓ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▓▓▓▓▓▓░ ▓▓░ ░▓▓ ░▓▓▓▓▓▓ ░▓▓ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▓▓░ ░▓▓ ░▓▓ ░▓▓ ░▓▓ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▓▓░ ▓▓░▓▓ ░▓▓ ░▓▓ ░▓▓ ▓▓░ RULEZ! ▓▓▓ ░▓▓ ░▓▓ ░▓▓ Hi,to all who read this shit! (c) on this fucking text by Exploder/Extreme Для начала немного про то, что такое C2P и для чего он нужен. chunky to planar - это программа для вывода chunky dat'ы на planar'ный screen. Для Spectrum'а это характерно только в том случае, если вы работаете с размером точки 4х4 в текстурном режиме, и при точке 4x8 or 4x4 or 4x2 в аттрибутном режиме. Размер по X=8 это и ежу понятно уже chunky mode. Размер точки по Х=2 я считаю не перспективным потому, что это очень тормознуто и в 4х цветах смотреться будет все как full shit. Теперь немного бреда о том зачем он ваще нужен. Без C2P вам никогда не написать (только при pix size 8x8) эффекты типа: stretch texture, bump mapping, texture mapping, gouraud mapping, textute mapping + gouraud shading, phong mapping, environment mapping, lenz flare, visible light rays, voxel landscape, blur и вообще все то что можно увидеть на A1200. +------------------------------------------------------------+ | - Chunky to planar engine for ZX-128 - | | - last n'joyment date: 10-JUN-97 - | +------------------------------------------------------------+ And now... Ultra faaaaast c2p algorythm ver_1: attributed mode POP HL ; Read 2 bytez of chunky data LDI ; Write planar data to screen About 26 takts of CPU power Really needed: SP = Pointer to chunky buffer DE = Pointer to destination screen byte ver_2: textured mode POP HL ; Read 2 bytez of chunky data LD C,(HL) ; LD A,(BC) ; LD (DE),A ; Write INC B ; INC D ; LD A,(BC) ; LD (DE),A ; Textured INC B ; INC D ; LD A,(BC) ; LD (DE),A ; Sprite to INC B ; INC D ; LD A,(BC) ; LD (DE),A ; Screen INC E ; POP HL ; Read 2 bytez of chunky data LD C,(HL) ; LD A,(BC) ; LD (DE),A ; Write DEC B ; DEC D ; LD A,(BC) ; LD (DE),A ; Textured DEC B ; DEC D ; LD A,(BC) ; LD (DE),A ; Sprite to DEC B ; D8EC D ; LD A,(BC) ; LD (DE),A ; Screen INC E ; About 202 takts of CPU power Really needed: SP = Pointer to chunky buffer DE = Pointer to destination screen byte B = Textured data table Is the fastest c2p codez for Z80. Nothing else. Теперь маненечко comments for lame coders or full stupids. Смысл всего выше написаного в том, что в каждом байте dat'ы в битах 7-4 должен находится адрес на C2P_tab. chunky byte: 1000 0000 | \ | 16 gray scales or 8 colors | 4 bites of C2P_tab based address C2P_tab: #8080 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0d 0e 0f #8180 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1d 1e 1f ..... #8e80 e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ed ee ef #8f80 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fd fe ff | | C2P_tab based address C2P_tab может располагатся где угодно, и она сама по себе является палитрой. Усе. Russian text comments added by me of COZ especialy for BUZZ computer newspaper on 16.12.97 good luck !!! +----------------------------------------*Exploder/Extreme*--+ | - exploder_xtm@usa.net - - +7 (0922) 29-04-25 - | +-------------------------------------------<ZX128,A1200>----+
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября