W drugiej części cyklu o działaniu grafiki 8-bit opowiemy o konsolach Pegasus / NES / Famicom, a dokładnie o tym, jak w nich generowana jest grafika. Będzie też krótki powrót do Commodore 64.

Źródła:

NES Graphics – Part 1

NES Graphics – Part 2


https://www.c64-wiki.com/wiki/Standard_Character_Mode
https://www.c64-wiki.com/wiki/Character_set

FACEBOOK:
http://www.FB.com/RetroGralnia

NES generuje obraz o rozdzielczości 256 x 240 pixeli i posiada paletę 64 kolorów. Nawiązując do obliczeń z pierwszej części filmiku możemy wyliczyć, że teoretyczna ilość pamięci potrzebna do zapisania takiego obrazu to 256 x 240 x 6 bitów (bo 2^6-64), czyli 368640 bity, czyli 46080 bajtów, czyli 45KB.

Dodam, uprzedzając komentarze, że wśród tych 64 kolorów znajduje się tylko 54 unikalne oraz, że jasnym jest, że realny NES nie jest w stanie wyświetlić ich na raz na ekranie. Choćby dlatego, że posiada standardowo jedynie 2KB RAMu i 2 KB Video RAMu, choć dodatkową pamięć znaleźć można często na kartridżu z grą.

Podobnie, jak w przypadku komputerów 8-bitowych – takich jak Commodore 64 – obraz podzielono na komórki. W NESie mamy jednak ich dwa rodzaje – mniejsze kafelki (po angielsku tiles) o wielkości 8×8 pixeli i większe – bloki (ang. bloks) o wielkości 16×16 pixeli. Rzecz jasna ich siatki się pokrywają, tak że w każdym bloku mamy zawarte 4 kafelki.

Spójrzmy więc, co znajduje się w naszym małym kafelku – są tam umieszczane małe graficzki 8×8 pixeli zwane znakami. Co ważne nie są one dwu – a aż cztero kolorowe. Przykładem może tu być takie serduszko, które zajmuje w pamięci 8×8 pixeli razy 2 bity, a więc 128 bitów, tzn. 16 bajtów. NES pozwala na zapisanie w pamięci 256 znaków, cała ich tablica zajmuje więc 4096 bajtów.

Właśnie z tych znaków budowany jest obraz na ekranie, poprzez umieszczanie ich w odpowiednich kafelkach, o których wspominałem wcześniej – to tak jakbyśmy składali większy obraz z mniejszych karteczek z obrazkami.

Muzyka:
https://www.youtube.com/watch?v=XQclVoI9DgE