A VIC-II amugy erdekes egy teremtmeny. Ha visszamegyunk a VIC-I-hez (Commodore VIC20) azt latjuk, hogy nincs grafikus mod, csak karakteres (es sprite sincs). Grafikat ugy csinaltak, hogy egyszeruen telenyomtak a kepernyot karakterkodokkal szepen, es a karakterkeszletet valtoztatgattak
Erdekes modon van a VIC-I-ben (a II-ben mar nincs!) 16 pixel magas karakter is. Ennek letjogosultsaga azonban nem a karakterek "szepsege", hanem pont az, hogy lefedheto legyen a teljes kepernyo kulonbozo karakterekkel, ami igy kvazi grafikus display-kent is hasznalhato. A VIC-II eseten van "igazi" grafikus mod is, am ennek szervezese igen eros rokonsagot mutat a fenti trukkel, ui nem linearis, grafikus modban az elso byte a bal felso sarok elso 8 pixele, a masodik byte viszont az _alatta_levo_ 8 pixel, es igy tovabb, bar 8 utan "visszaugrunk" a bal felso sarok 8 pixele utani poziciora. Ez valoszinu pont annak tudhato be, hogy nem akartak totalisan megreformalni a dolgot, vagy pedig igy chip feluletet sporoltak, hogy nemikepp hasonlo a grafikus es karakteres mod szervezese bizonyos aspektusokbol. Erdekes modon ez a szervezes meg a VIC-III-ban is megvan (Commodore 65), ahol az uj bitplane alapu modok szervezese is hasonlo, nem csak a "VIC-II compatible" modoke (es VIC-III-on ezek kivul van vegre 80 karakteres mod is amugy, meg hardware attributumok mint a villogas, alahuzas, stb). A teljesseg igenye nelkul, a VIC-iV (ez mar "utanerzes", lasd mega65 project) ezt meg tovabb viszi, ahol lehet karakteres modban is proporcionalis cucc, vagy akar fuggoleges/vizszintes tukrozes per karakter alapon mint attributum, stb). Node, visszaterve: ezen kivul allitolag a VIC-II-nek vmi majdnem 3/4 reszet a sprite kezeles viszi el.
A fenti dologhoz kepest a Nick egy "clean" design, sokkal letilsztultabb. Erdekes modon, lehet pont ez a baj (most a sprite-okat hagyjuk). Pl az, hogy minden uj karaktersornal olvasnia kell dolgokat, ott tovabb kell neki a busz, ami normal allapotban kb kiegyenlitett a CPU/VIC-II "valtott" hozzafereseben az orajel ket fazisara. Ekkor a CPU-nak viszont varakoznia is kell, ezt hivjak "bad line"-nak. Sok erdekes VIC-II trukk azon alapul, hogy ez a logika nem tokeletes, es "atverheto", igy pl el lehet erni a regiszereket megfelelo pillanatban valo irkalasaval, hogy ket karakter sor kozott "res" legyen, aminek persze a magassaga is igy beallithato, stb. Hasonloan, pl a "keret lebontasa" is alapvetoen egy "hibara" epul (igaz, a keret eltuntetese sokat nem segit, de pl sprite-okkal igy lefedheto, amit amugy a keret takarna). Sok esetben az ilyen hibak pont hogy hasznosak tehat, bar nyilvan ezt anno nem tudtak, csak az ido adott erre vegul bizonyitekot
A Nick-ben nem is tudom, hogy van-e olyan "hiba" ami barmi hasznosra jo lenne.
Ahogy Istvan mar irta, a VIC-II "csal" mert nem 8 bites az adatbusza, hanem 12 ... Ebbol 8 bit a rendszerbuszon van, 4 bit meg fixen 1Kx4bites SRAM-ra van kotve, ez a color RAM. Igy azt eleri parhuzamosan ugymond, egy olvasassal tehat 8 helyett 12 bit informaciot kap. Amugy az is erdekes, hogy a VIC-I-tol orokolt 16Kbyte cimtartomany megvan a VIC-II-nel (sot a VIC-III-nal is, a bitplane-ek meretet ez korlatozza, es sprite-okkal egyutt ez akar "fajdalmas" is lehet, igaz a C65 nem sok vizet zavar sok embernek, gondolom) is, max ezt trukkozik ide/oda, hogy a gep hol latja az adott teruletet. Viszont a 12 bites adatbusznak konszonheto, hogy minden karakterhez lehet sajat szin, ami azert hasznos dolog tud lenni ...
Istvan, abban viszont nem vagyok biztos, hogy csak a keret alatt tud Sprite adatokat olvasni a VIC-II, bar megcafolni sem tudom, konnyen lehet, hogy en tevedek.
Mindenesetre egy erdekes aspektura van az egesznek meg: a serial IEC lassusaga, Commodore floppy tortenet. Eredendoen a Commodore egy hardware-esen megoldott soros protokolt kepzelt el. Csakhogy, a floppy drive-okban alkalmazott VIA chip-nek - mint kiderult - volt egy hardware hibaja, ami problemat okozott. Igy kenytelenek voltak atallni a software-esen megoldott soros rutinokra, szoval eleg lassu lett. Ehhez kepest, VIC20 utana a C64 valojaban *tovabb lassitotta* a floppy elerest, ui mivel az emlitett rutin software-es, es a C64/VIC-II eseten neha a VIC-II-nek tovabb kell a busz (es ezert all a CPU), szandekosan be kellett meg jobban lassitani, hogy minden eseteben garantalhato legyen, miszerint "ne fusson ki" az idokeretbol a rutin amiatt, hogy szegeny CPU meg van eppen allitva
Kesobbi lemezegysegeknel mar nem VIA van feltetlen (vagy legalabbis nem a hibas szeria? nem tudom igy megmondani most), es C64-ben is CIA van (nem VIA), tehat mar C64-en is at lehetne terni ebben az esetben a hardware-es megoldasra. C128 eseten ez mar hivatalosan megtortent, ez a fast serial cuccos ...