proc autori nepouziji napr. atmega640, ktera ma 8kB SRAM? vyresily by se tim nektere problemy spojene s grafickym rezimem. jsem si temer jisty, ze kdyz by se podivali na stranky atmelu, urcite najdou cip s kombinaci 64/128kB FLASH a +8k SRAM.
Mozna je to z 'historickych' duvodu - tedy kdyz projekt vznikal, 640 jeste nebyla k dispozici
Priznam se, ze presne nevim, jestli 640 jiz byla v dobe navrhu Uzeboxu dostupna.
Na druhou stranu by to zvyseni SRAM na 8 nebo i 16 kB stejne nebylo dostatecne pro graficke rezimy s 256 barvami a navic kdyby byla cela bitmapa v SRAM, byly by operace s jednotlivymi pixely docela pomale (napriklad takovy scrolling cele obrazovky). A rezimy s mene nez 256 barvami zase vykreslovaci rutina nebude stihat posilat na D/A pokud bude horizontalni rozliseni moc velke - uz takto je Uzebox i diky pretaktovani cipu na hrane, kdy se to taktak dari vykreslit bez ztraty synchronizace ci posunu pixelu.
Takto vlastne autori docela elegantne presunuli tu casove narocnou praci se "serializaci" bitmapy na vykreslovaci subrutiny, ktere se tak jako tak musi 25x za sekundu spoustet.
Co by ale bylo mooc pekne a uzitecne, by bylo presunuti dlazdic do SRAM - takto to melo resene osmibitove Atarko a autori her se v te dobe pekne vyradili na runtime zmene map znaku (=dlazdic).
Napriklad ve hre Boulder Dash posun pozadi na uvodnim screenu neni nic jineho, nez zmena pouze osmi bajtu v pameti, kam je smerovana rutina pro vykreslovani znaku (to resil ANTIC). Ta zmena se da ustihat dokonce i v Basicu ;-)
To se můžeme rovnou ptát, proč nepoužít nějaký malý arm nebo něco podobého. Tam se najdou brouky ve stejné ceně nebo i levnější s řádově větším výkonem, velikostí flash i sram. Dokonce něco takového na malém arm cortex M1 i existuje, kdy jsem to linkoval pod článek o grafice Atari 2600 (tuším).