Uživatelské nástroje

Nástroje pro tento web


lnxspectrum:blitter

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verzeObě strany příští revize
lnxspectrum:blitter [2019/04/11 18:43] – [Verze] lanexlnxspectrum:blitter [2019/04/11 19:07] – [Interní Cache a rozšířená pamět (L6)] lanex
Řádek 127: Řádek 127:
 Blitter ještě k tomu obsahuje přídavnou pamět 64 kB, ta je adresovatelná pouze Blitterem. Z80 do ní nemůže nijak zasahovat. Blitter naopak má mnohem rychlejší pamět pro svoje přesuny. Navíc díky tomu může být software pro ZX mnohem větší, pamět mu nebudou zabírat grafická data. Ty totiž můžou být v paměti Blitteru. Blitter ještě k tomu obsahuje přídavnou pamět 64 kB, ta je adresovatelná pouze Blitterem. Z80 do ní nemůže nijak zasahovat. Blitter naopak má mnohem rychlejší pamět pro svoje přesuny. Navíc díky tomu může být software pro ZX mnohem větší, pamět mu nebudou zabírat grafická data. Ty totiž můžou být v paměti Blitteru.
  
-V takovém režimu by Z80 jen diktoval blitteru, co, jak a kam vykreslovat. Nejvíce taktů by zabralo kopírování dat do ZX Spectrum Videoram, a to by trvalo max. 20736 taktů. A to ještě jen v případě kopírování celé obrazovky i s barvama. Díky interní kopii obrazovky však této hodnoty dosáhneme jedině v případě, že každy bajt bude unikátní hodnoty. Je tedy zcela jisté, že obrazovka v ZX DRAM bude obnovena datově mnohem dříve, než paprsek TV dostihne adresu kopírování. Interní paměť se dá bez problémů využít jako videobuffer. Navíc pokud by se kopírovala jen část, sníží se o další takty. Není problém během jednoho snímku smazat celou obrazovku, vykreslit sprity, a následně aktualizovat videoram v ZX DRAM. +V takovém režimu by Z80 jen diktoval blitteru, co, jak a kam vykreslovat. Nejvíce taktů by zabralo kopírování dat do ZX Spectrum Videoram, a to by trvalo max. 20736 taktů. A to ještě jen v případě kopírování celé obrazovky i s barvama. Díky interní kopii obrazovky však této hodnoty dosáhneme jedině v případě, že každy bajt bude unikátní hodnoty. Je tedy zcela jisté, že obrazovka v ZX DRAM bude obnovena datově mnohem dříve, než paprsek TV dostihne adresu kopírování, a to včetně barevné složky. Interní paměť se dá bez problémů využít jako videobuffer. Navíc pokud by se kopírovala jen část, sníží se o další takty. Není problém během jednoho snímku smazat celou obrazovku, vykreslit sprity, a následně aktualizovat videoram v ZX DRAM. 
  
 Stále ale platí, že by se dalo vytvořit jako externí interface, bez jakéhokoliv zásahu do ZX Spectra. Grafický výkon by byl na ZX Spectrum neskutečný :) Možná dokonce by byl ve skutečném FPGA ještě rychlejší, než jak jsem ho naemuloval já. Nevím totiž kolik by za jeden Z80 takt bylo FPGA schopno zpracovat bajtů ve své interní videoram. Berme tedy, že moje virtuální verze je ta nejpomalejší, a i to nejrychlejší zpracování jednoho bajtu do Videoram sebere alespoň 1 takt. Pravděpodobně by jich zvládl udělat i 100 za 1 takt, ale to už je u ZX Spectra moc moc velký výkon :) Stále ale platí, že by se dalo vytvořit jako externí interface, bez jakéhokoliv zásahu do ZX Spectra. Grafický výkon by byl na ZX Spectrum neskutečný :) Možná dokonce by byl ve skutečném FPGA ještě rychlejší, než jak jsem ho naemuloval já. Nevím totiž kolik by za jeden Z80 takt bylo FPGA schopno zpracovat bajtů ve své interní videoram. Berme tedy, že moje virtuální verze je ta nejpomalejší, a i to nejrychlejší zpracování jednoho bajtu do Videoram sebere alespoň 1 takt. Pravděpodobně by jich zvládl udělat i 100 za 1 takt, ale to už je u ZX Spectra moc moc velký výkon :)
lnxspectrum/blitter.txt · Poslední úprava: 2019/12/08 12:40 autor: lanex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki