MOS Technology VIC
A MOS VIC (Video Interface Chip), amely MOS 6560 (NTSC változat), illetve MOS 6561 (PAL változat) jelöléssel is ismert, a grafikus megjelenítést és a hanggenerálást végző integrált áramkör a Commodore VIC-20 otthoni számítógépben. Eredetileg nem otthoni számítógépekhez tervezték; megcélzott felhasználási területe a CRT számítógép-terminálok, orvosbiológiai monitorok, kijelzők, ellenőrző rendszerek megjelenítői, amelyhez később csatlakozott a játékgépek és konzol játékok köre.
Története
[szerkesztés]A csipet Al Charpentier tervezte 1977-ben, de a Commodore nem talált piacot a csipnek. 1979-ben a MOS Technology elkezdte egy videócsip (videómegjeneítő vezérlő) fejlesztését MOS Technology 6564 név alatt, amelyet a TOI számítógépben kívántak felhasználni, és folyamatban volt egy másik csip, a MOS 6562 tervezése is, amely a Commodore PET színes verziójába került volna. A csipek tervezése kudarcba fulladt az időzítési megszorítások miatt (mindkettő gyors és drága SRAM memóriát igényelt, ami nem tette kifizetődővé a tömeges gyártásukat).
A döntést, hogy a VIC csipet fogják beépíteni a VIC-20 gépbe, a csip egy teljes revíziója előzte meg; Robert Yannes tervező jó néhány (más csipekben már meglévő) kiegészítést ill. funkciót adott a 6560 terveihez, pl. jobb hanggenerátort a 6562-es csipből, több színt a 6564-ből.
Műszaki adatok
[szerkesztés]A csip fő jellemzői:
- 16 KiB címtér (címezhető videomemória) a képernyő, karakter- és színmemória számára (a VIC-20-ban csak 5 KiB mutat RAM területre hardveres változtatás nélkül)
- 16 szín (a felső 8 szín csak a globális háttéren használható és kisegítő színként)
- két választható karakterméret (8×8 vagy 8×16 bites, a pixelméret 1 bit a nagyfelbontású „hires” karaktereknek és 2 bit a színes „multicolor” karaktereknek)
- a maximális videofelbontás a TV-rendszertől függ (176 × 184 a VIC-20 szabványos firmware felbontása, ami 22 oszlop és 23 sor az NTSC változatban (6560), de legalább 224 × 256 lehetséges a PAL gépeken)
- 4 csatornás programozható hanggenerátor (3 négyszögjel + fehérzaj + globális hangerőbeállítás)
- csipbe integrált DMA
- két 8 bites A/D konverter
- fényceruza támogatás
A kor más videoáramköreitől eltérően ez a csip nem kínál dinamikus memóriafrissítési lehetőséget. Emiatt a VIC-20 gépbe drágább statikus RAM csipeket építettek, de az alapgép kis memóriáját tekintve, ami mindössze 5 KiB beépített memória, ez nem sokat emelt a gép árán. A VIC-20-hoz kapható memóriabővítések vagy szintén SRAM-ot használtak, vagy saját memóriafrissítő áramkört kaptak.
A VIC programozása 16 vezérlőregisztere segítségével végezhető, amelyek a VIC-20 címterében a $9000–$900F címekre vannak leképezve. A csip saját A/D konverterei kezelik a potenciométeres játékvezérlőket (paddle), tehát alakítják át a tekerő állását digitális pozícióértékké, de ugyanezeket használja a fényceruza-interfész is. A VIC utódja a VIC-20-as utáni gépekbe, a Commodore 64-be és a Commodore 128-ba épített, sokkal fejlettebb VIC-II csip volt.
A VIC-20 memóriakiterjesztéssel 550 bájtos videómemóriája a $1000 címen kezdődik, vagy a $1E00 címen memóriakiterjesztés nélkül. A felhasználó által definiált karakterkészlet a rendszer-RAM első 5 k-jában helyezhető el. Az alapértelmezett PETSCII karakter ROM a $8000 címen kezdődik és minden karakter 8 bájtot foglal. Egy időben egyszerre 128 karakter használható. A PET gép karakterkészletében szerepel a balra dőlő per-jel (\), ezt a VIC-20-nál és a rákövetkező Commodore gépekben felváltotta az angol font jel (£).
A VIC csippel a grafika és animáció készítésének egyetlen módja a programozható karakterek használata, mivel hiányzik belőle a sprite-ok („szellemek”, mozgatható grafikus elemek) és a képpontonként címezhető bittérképes üzemmód lehetősége. A 16 palettaszínből nyolcat lehet előtérszínnek használni (szín RAM a $9400 címen), míg a maradékot a háttéren, kereten és kisegítő multicolor színekként (VIC sajátosság) lehet használni. A szín-RAM MSB-je jelzi, hogy az adott karakter multicolor vagy nagyfelbontású. A színes karakterek nagyon négyzetesek, emiatt a legtöbb VIC-20 játék nagyfelbontású karaktereket használ.
A VIC nem támogatja a képernyőgörgetést vagy a raszteres megszakításokat, de a képernyőfrissítés számlálói kiolvashatók és ezzel raszteres effektusokat lehet a képernyőre varázsolni. Ezt a módszer nagyon kevés játék használta ki, a kevés kivétel közé tartozik például az iMagic Demon Attack.
A hangok programozása a VIC csipen a frekvenciaérték beírásával történik a $900A–$900D címeken elérhető négy regiszter egyikébe. A nulla érték kikapcsolja a hangot. Az első három regiszter négyszögjel-generátor, egymástól fél oktávnyira eltolt frekvenciákkal, a negyedik egy fehérzaj-generátor.
A VIC változatai
[szerkesztés]- MOS Technology 6560 NTSC változat
- MOS Technology 6561E PAL kerámiatokozású változat, a korai VIC-20-asokban használták
- MOS Technology 6561-101 PAL változat
Jegyzetek
[szerkesztés]Fordítás
[szerkesztés]Ez a szócikk részben vagy egészben a MOS Technology VIC című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
Források
[szerkesztés]- Bagnall, Brian (2005). On The Edge: The Spectacular Rise and Fall of Commodore. Variant Press. ISBN 0-9738649-0-7.
További információk
[szerkesztés]- Információk a VIC csipről, Rick Melick VIC-20 oldalán
- További információ, regiszterhasználat
- MOS VIC adatlap (GIF formátum, zip tömörített)
Kapcsolódó szócikkek
[szerkesztés]- MOS VIC-II és használata a Commodore 64-ben
- Commodore VIC-20
- Video Display Controller