16-bitová interpolace úsečky

Během vývoje karty BGP-1 pro SAPI vznikla nutnost vytvořit test této karty s vizuální kumulací defektních přístupů do videoram. A tak jsem si vzpomněl na mladé léta a podobné grafické aplikace (viz dále) a stvořil program pro interpolaci úsečky a jednoduchou volací proceduru. A protože jsem chtěl pokrýt celou plochu obrazovky (288×256), bylo nutné opustit osmibitový dvorek a vrhnout se na interpolaci v 16-bitovém rozlišení. Níže uvedený obrázek se vykreslí za cca 16 vteřin.

Ke stažení je celý mikroprojekt v PSPadu, případně samotná knihovna s interpolační rutinou. Interpolátor není bůhvíjak testován na všechny možné stavy, je to spíše aplikace, která splnila svůj účel a v případě jejího dalšího využití je třeba ji brát jako výchozí program pro další úpravy a opravy.

Vzorový projekt s využitím 16-bitového interpolátoru (projekt v PSPadu)

Knihovna 16-bitového Bresenhamova interpolátoru úseček (zdrojový kód v assembleru i8080)

PMD 85 – vzorová aplikace

 

 

1 komentář u „16-bitová interpolace úsečky

  1. Libor L.A.

    V případě potřeby lze samozřejmě v interpolátoru instrukci XRA M v obou případech nahradit instrukcí ORA M a pixely se namísto inverze budou pouze nastavovat. Nahrazením XRA M sekvencí CMA/ANA M se budou „kreslené“ pixely odmazávat.

    Program se sám nemodifikuje (využívá proměnné v RAM) a tak je možné jej spouštět v ROM.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.