MOS Technology VIC-II - MOS Technology VIC-II

MOS 6569R3 (verze PAL) na základní desce C64

VIC-II ( Video rozhraní čipu II ), konkrétně známý jako MOS technologie 6567/8562/8564 ( NTSC verze), 6569/8565/8566 ( PAL ), je mikročip úkol generování Y / C video signály (v kombinaci se kompozitní video v RF modulátoru ) a obnovovací signály DRAM v domácích počítačích Commodore 64 a C128 .

V návaznosti na původní VIC od MOS (používaný ve VIC-20 ) byl VIC-II jedním ze dvou čipů, které byly zodpovědné hlavně za úspěch C64 (druhým čipem byl 6581 SID ).

Historie vývoje

Čip VIC-II navrhli především Al Charpentier a Charles Winterble ze společnosti MOS Technology, Inc. jako nástupce technologie „VIC“ MOS Technology 6560 . Tým společnosti MOS Technology předtím kvůli omezením rychlosti paměti nedokázal vyrobit dva grafické čipy s názvem MOS Technology 6562 pro počítač Commodore TOI a MOS Technology 6564 pro Color PET.

Za účelem sestavení VIC-II provedli Charpentier a Winterble průzkum trhu se současnými domácími počítači a videohrami , který seznamuje se současnými funkcemi a funkcemi, které chtějí ve VIC-II mít. Myšlenka na přidání spritů vycházela z počítače Texas Instruments TI-99 / 4A a jeho grafického koprocesoru TMS9918 . Myšlenka na podporu detekce kolizí vycházela z Mattel Intellivision . Atari 800 byl také těžen požadovaných funkcí. Asi 3/4 povrchu čipu se používá pro funkci sprite.

Čip byl částečně položen pomocí nástrojů pro automatizaci elektronického návrhu od společnosti Applicon (nyní součást UGS Corp. ) a částečně byl položen ručně na pergamenový papír . Návrh byl částečně odladěn vytvořením čipů obsahujících malé podmnožiny designu, které pak mohly být testovány samostatně. To bylo snadné, protože společnost MOS Technology měla jak výzkumnou, tak vývojovou laboratoř a polovodičový závod na stejném místě. Čip byl vyvinut technologií 5 mikrometrů.

Práce na VIC-II byly dokončeny v listopadu 1981, zatímco Robert Yannes současně pracoval na čipu SID . Oba čipy, stejně jako Commodore 64 , byly hotové včas na výstavě spotřební elektroniky první lednový víkend 1982.

Funkce VIC-II

Některé z grafických režimů na 64 jsou opravdu podivné a nemají žádné analogie s Atari nebo Apple, jako je schopnost měnit barvu základny postav přes obrazovku. To nám dalo spoustu barevných schopností, které nebyly využity.

-  Craig Nelson z Epyxu, 1986

Technické údaje

MOS 6567 VIC-II pinout .

Všimněte si, že níže uvedené adresy registrů jsou uvedeny tak, jak je vidí CPU v C64. Pro získání čísel registrů, jak jsou obvykle uvedena v datových listech (tj. Počínaje 0), je třeba vynechat úvodní „D0“.

Programování

Supratechnic , program pro program publikovaný společností Gazette COMPUTE! V listopadu 1988, předvádí pečlivé používání přerušení rastru k zobrazování informací mimo standardní okraje obrazovky (zde: horní a dolní okraj).

VIC-II je naprogramován manipulací se svými 47 řídicími registry (až 16 ve VIC), pamětí mapovanou na rozsah $ D000– $ D02E v adresním prostoru C64. Ze všech těchto registrů se 34 zabývá výlučně kontrolou sprite (skřítky, které se v dokumentaci k VIC-II nazývají MOBs, z „Movable Object Blocks“). Stejně jako jeho předchůdce zpracovává VIC-II vstup světelného pera as pomocí standardní paměti ROM C64 poskytuje původní znakovou sadu PETSCII z roku 1977 na podobně dimenzovaném displeji jako 40sloupcová řada PET .

Opětovným načtením řídicích registrů VIC-II pomocí strojového kódu připojeného k rutině přerušení rastru (přerušení skenovací linky) lze naprogramovat čip tak, aby generoval podstatně více než 8 souběžných spritů (proces známý jako sprite multiplexování ) a obecně dát každý program -definovaný řez obrazovky různé posouvání, rozlišení a vlastnosti barev. Hardwarové omezení 8 spritů na skenovací řádek by mohlo být dále zvýšeno tím, že se skřítci nechají rychle blikat a zapínat. Zvládnutí přerušení rastru bylo nezbytné, aby se uvolnily schopnosti VIC-II. Mnoho ukázek a některé pozdější hry by zavedly pevný „lock-step“ mezi CPU a VIC-II, aby bylo možné manipulovat s registry VIC přesně ve správný okamžik.

Grafika postav

C64 byl dodáván se znakovou sadou PETSCII v paměti 4k ROM, ale stejně jako před VIC-20 před ní byla skutečná data pro postavy načtena z paměti na určeném místě. Toto umístění bylo jedním z registrů VIC-II, které programátorům umožňovalo konstruovat vlastní znakové sady umístěním příslušných dat do paměti; každý znak byl mřížkou 8x8, bajt představoval 8 bitů vodorovně, takže pro jeden znak bylo zapotřebí 8 bajtů, a tedy celá sada 256 znaků používala celkem 2 048 bajtů. Teoreticky lze použít až osm znakových sad, pokud by bylo zaplněno celých 16 kB videopaměti.

Kromě charsetů používá VIC-II také 1000 bajtů k uložení 25 řádků po 40 znacích na řádek, jeden bajt pro každý znak, který je při výchozí konfiguraci nastaven na $ 400 - $ 7E8. Barevná RAM je přístupná jako bity 8 až 11 video matice; v 64 a 128 je umístěn v I / O prostoru na $ D800- $ DBFF a nelze jej z tohoto umístění přesunout. Obsahuje hodnoty pro barvu 1 (barva 3 v vícebarevném režimu) každého znaku.

Znaková ROM je namapována do dvou ze čtyř „oken“ VIC-II, na $ 1 000- $ 1FFF a $ 9000- $ 9FFF, i když CPU to tam nevidí (znaková ROM může být přepnuta na $ D000- $ DFFF, kde je je viditelný pro CPU, ale ne pro VIC-II). Grafické datové nebo video buffery tedy nelze umístit na $ 1000 - $ 1FFF nebo $ 9000 - $ 9FFF, protože tam VIC-II místo toho uvidí znakovou ROM. Protože tyto oblasti paměti RAM nemohl grafický čip VIC-II použít, byly často používány pro hudební / zvukové efekty (čip SID). C64 má schopnost mít RAM a ROM na stejné adrese v paměti, ale CPU by "viděla" jednu a čip VIC-II by "viděl" druhou.

Ve výchozím znakovém režimu s vysokým rozlišením lze popředí každého znaku nastavit samostatně v barevné paměti RAM. V režimu vícebarevného znaku je barva 3 omezena na prvních osm možných hodnot barev; čtvrtý bit se poté použije jako příznak označující, zda má být tento znak zobrazen ve vysokém rozlišení nebo vícebarevném provedení, což umožňuje kombinovat oba typy na jedné obrazovce. Barvy 1 a 2 jsou nastaveny v registrech na $ D022 a $ D023 a jsou globální pro všechny znaky.

Pokud se použije rozšířený barevný režim pozadí, použijí se horní dva bity kódu znaků k výběru jednoho ze čtyř barevných registrů pozadí. To umožňuje na obrazovce čtyři různé barvy pozadí, ale na úkor povolit pouze 64 různých znaků namísto 256. Protože je to omezující, hry to zřídka používaly.

Bitmapový režim

Přidání bitmapového režimu adresovatelného všem bodům bylo jedním z hlavních cílů návrhového týmu Commodore, protože VIC-I takovou funkci postrádal. Aby však bylo možné použít co nejméně dalších obvodů, uspořádali jej stejným způsobem jako režim znaků, tj. Dlaždice 8x8 a 4x8. Bitmapová grafika vyžaduje pro data pixelů 8k stránku a každý bajt odpovídá jedné řadě s osmi nebo čtyřmi pixely. Další bajt je řádek pod ním a po 8. řádku se vrací na začátek další dlaždice.

V bitmapách s vysokým rozlišením se RAM obrazovky používá k držení barev popředí a pozadí každé dlaždice (vysoká a nízká úroveň každého bajtu). Toto je jediný režim VIC-II, který nevyužívá žádnou barevnou RAM na $ D800 nebo barevný registr pozadí na $ D021.

Vícebarevný bitmapový režim umožňuje tři barvy na dlaždici (čtvrtá je barva pozadí nastavená v $ D021). Barvy 1 a 2 jsou vybrány bity v paměti RAM obrazovky (stejně jako najímání bitmap) a třetí je z barevné paměti RAM.

Navzdory vysoké úrovni barevných detailů a schopnostem adresovat všechny body bitmapového režimu je to pro herní grafiku obecně nepraktické kvůli požadavku na velké množství systémových prostředků (8k za pixelová data plus podstatně více cyklů CPU k úpravě každého dlaždice) a normálně nelze rolovat. To je tedy nejčastěji vidět na obrazovkách zavaděče a někdy i na titulních obrazovkách.

Skřítci

VIC-II sprites jsou buď 24x21 černobílé nebo 12x21 vícebarevné. Podobně jako u znakové grafiky, druhá má jednu samostatnou barvu pro každého sprite a dvě globální. VIC-II má osm spritů, z nichž každý používá k ukládání 64 bajtů paměti, ale s určitými omezeními může zobrazit mnohem více. Sprite multiplexování je běžná metoda získávání více než osmi na obrazovce (i když stále existuje maximálně osm na řádek skenování). Počítadla scanline VIC-II jsou dotazována, dokud není na obrazovce dosaženo požadovaného bodu, poté program rychle změní souřadnice sprite. Tento programovací trik a další řešení by mohlo mít za následek více než dvacet spritů na obrazovce jednou. U ukázky je však limit podstatně flexibilnější.

Teoreticky je maximální počet současně viditelných různých spritů 256 (za předpokladu, že byla vyplněna celá 16k stránka VIC-II). Jsou adresovány pomocí čísla bloku, které odkazuje na každý vzor sprite v paměti, počínaje 0 a přechodem na 255 ($ FF) v závislosti na jejich poloze na stránce videa. (pokud je použita druhá videobanka (očíslovaná jako 0 1 2 a 3), Blok 0 by odkazoval na sprite uloženého na $ 4 000 a Blok 255 by byl na $ 7FC0).

Každý sprite může mít dvojnásobnou velikost svisle, vodorovně nebo obojí. Tím se sprite nezvětší (kromě vizuálně) nebo se do sprite přidá více pixelů, ale pouze se zvýší velikost stávajících pixelů.

Vzhledem k tomu, že horizontální poziční registr pro skřítky je jeden bajt a omezen na maximální hodnotu 255, nemohl pokrýt celých 320 pixelů oblasti obrazovky VIC-II, takže je k dispozici další registr s názvem Nejvýznamnější příznak bytu.

$ D01E a $ D01F obsahují registry kolize pozadí a Sprite-to-Sprite. První se používá jen zřídka, protože nemůže poskytnout informace o konkrétním objektu pozadí, kterého se sprite dotýká.

$ D01B obsahuje registr priority Sprite To Background, který se používá k určení, zda se sprite pohybuje za nebo před objekty na pozadí. Když sprite vstoupí do stejného prostoru jako jiný sprite, ti s nižším číslem vždy projdou přes ty s vyšším číslem.

Rolování

Aby bylo možné procházet obrazovku se znaky, je VIC-II nastaven na 38sloupcový a / nebo 24řádkový režim prostřednictvím registrů na $ D011 a $ D016. Tím se vytvoří vyrovnávací paměť mimo obrazovku, kde je umístěn řádek znaků, které se mají posouvat. Nastavením posuvných bitů ve výše zmíněných registrech lze na obrazovce přesunout jeden řádek, po kterém se opakuje, pokud není do vyrovnávací paměti vložen nový řádek. Barevná paměť RAM se posouvá současně s obrazovkou RAM a funguje stejně.

Rolování VIC-II je poměrně komplikovaný úkol náročný na CPU, i když nebylo neobvyklé, že herní programátoři C64 podváděli návrhem grafiky, takže barevná RAM může zůstat statická. Dalším standardním trikem je pokrytí spodních nebo horních 25% obrazovky počítadlem skóre, aby se snížilo množství rolování, které je třeba provést. Nakonec je obvykle nutné použít další 1 kB RAM k zápisu dat znaků a poté je „vmíchat“ do RAM obrazovky, aby se zabránilo roztržení obrazovky, i když u barevné RAM to nelze provést.

Pozdní v komerční životnosti C64 bylo objeveno zneužití známé jako VSP (Virtual Screen Positioning), které zahrnovalo manipulaci s kontrolními bity v $ D011 k produkci rychlého rolování při mnohem nižších nákladech na cyklus CPU než standardní rolovací registry, vyžadovalo to však opatrnost , cyklicky přesné kódování a nefungovalo spolehlivě na některých revizích VIC-II, také to lze použít pouze pro horizontální posouvání. Používá se zejména v Mayhem v Monsterlandu .

Rastrové přerušení

Využití přerušení rastru je nezbytnou součástí programování her C64. Ve výchozím stavu zapnutí počítače generuje první čip CIA technologie MOS Technology maskovatelné přerušení (IRQ) 60krát za sekundu (NTSC) nebo 50 (PAL), které posílá CPU do obsluhy jádra IRQ na $ EA31. Psovod potvrzuje IRQ CIA, aktualizuje hodiny, skenuje klávesnici a bliká kurzorem v ZÁKLADĚ.

Hry obvykle zakazují přerušení CIA a místo toho nastavují VIC-II tak, aby generovaly přerušení, když se dosáhne konkrétní linie skenování, což je nezbytné pro rolování a přehrávání hudby na rozdělené obrazovce. Hra přemapuje IRQ vektor na $ 0314 / $ 0315 na jeho obslužný program rastru, který provádí tyto funkce a poté volitelně provede instrukci JMP $ EA31 pro vrácení kontroly do jádra.

Některé hry používají pouze jeden IRQ; vnořené jsou však běžnější a zlepšují stabilitu programu. V tomto nastavení je IRQ přemapován na druhou rutinu a tak dále pro každou, dokud ji poslední neobnoví na adresu prvního IRQ. Při použití vnořených IRQ je v řetězci potřeba pouze jedna instrukce JMP $ EA31 a ostatní lze ukončit pomocí JMP $ EA81, který jednoduše přejde na konec obslužné rutiny jádra. Také není neobvyklé, že hry vypnou kernal a místo toho použijí svůj vlastní obslužný program IRQ. NMI lze použít pro další vlákno přerušení, ačkoli nežádoucí vedlejší účinky mohou vzniknout náhodným stisknutím klávesy Obnovit, protože při stisknutí spustí NMI.

VIC-II může také generovat přerušení rastru z registrů kolizí, ale tato funkce se používá jen zřídka.

Mapování paměti

VIC-II má 14bitovou adresovou sběrnici a pro video data může využívat kterýkoli ze čtyř 16k segmentů paměťového prostoru C64. Aby to bylo možné spravovat, přispívají dva další adresové bity portovými bity CIA. $ 0000 - $ 3FFF je výchozí nastavení při zapnutí. Druhý segment ($ 4000– $ 7FFF) je obvykle nejlepší volbou pro programování od BASIC, protože je to jediný segment, který má zcela volnou RAM bez mapování ROM nebo I / O registrů. Čtvrtý segment ($ C000– $ FFFF) je také dobrou volbou za předpokladu, že je použit strojový jazyk, protože jádro ROM musí být deaktivováno, aby získal přístup ke čtení CPU, a vyhne se tak nesouvislému programovému kódu a datům, která by byla pomocí 4000 $ - 7FFF. Všimněte si, že grafická data mohou být volně uložena pod BASIC ROM na $ A000- $ BFFF, jádro ROM na $ E000- $ FFFF nebo I / O registry a barevná RAM na $ D000– $ DFFF, protože VIC-II vidí pouze RAM, bez ohledu na to, jak je upraveno mapování paměti CPU; znaková ROM je viditelná pouze v prvním a třetím segmentu, takže pokud je použit segment dva nebo čtyři, musí programátor zadat svá vlastní znaková data. RAM obrazovky, bitmapová stránka, skřítci a znakové sady musí všichni zabírat stejné okno segmentu (za předpokladu, že se bity CIA nezmění přerušením skenování). Posledních šest bajtů systémové paměti ($ FFFA- $ FFFF) obsahuje vektory IRQ, NMI a reset, takže pokud je horní část paměti použita k uložení znakové sady nebo sprite dat, bude nutné obětovat jeden znak nebo sprite aby nedošlo k přepsání vektorů.

Registry

VIC-II má 47 registrů pro čtení a zápis uvedených níže:

Registrovat Hexadecimální Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Popis
0
D000
M0X
X Souřadnice Sprite 0
1
D001
M0Y
Y Souřadnice Sprite 0
2
D002
M1X
X Souřadnice Sprite 1
3
D003
M1Y
Y Souřadnice Sprite 1
4
D004
M2X
X Coordinate Sprite 2
5
D005
M2Y
Y Souřadnice Sprite 2
6
D006
M3X
X Coordinate Sprite 3
7
D007
M3Y
Y Coordinate Sprite 3
8
D008
M4X
X Coordinate Sprite 4
9
D009
M4Y
Y Souřadnice Sprite 4
10
D00A
M5X
X Coordinate Sprite 5
11
D00B
M5Y
Y Souřadnice Sprite 5
12
D00C
M6X
X Coordinate Sprite 6
13
D00D
M6Y
Y Souřadnice Sprite 6
14
D00E
M7X
X Coordinate Sprite 7
15
D00F
M7Y
Y Souřadnice Sprite 7
16
D010
M7X8 M6X8 M5X8 M4X8 M3X8 M2X8 M1X8 M0X8 MSB X souřadnic
17
D011
RST8 ECM BMM DOUPĚ RSEL
YSCROLL
Řídicí registr 1
18
D012
RST
Rastrový čítač
19
D013
LPX
Světelné pero X
20
D014
LPY
Světelné pero Y
21
D015
M7E M6E M5E M4E M3E M2E M1E M0E Sprite povolen
22
D016
- - RES MCM CSEL
XSCROLL
Řídicí registr 2
23
D017
M7YE M6YE M5YE M4YE M3YE M2YE M1YE M0YE Sprite Y expanze
24
D018
VM13 VM12 VM11 VM10 CB13 CB12 CB11 - Ukazatele paměti
25
D019
IRQ - - - ILP IMMC IMBC IRST Přerušení registru
26
D01A
- - - - ELP EMMC EMBC ERST Přerušení povoleno
27
D01B
M7DP M6DP M5DP M4DP M3DP M2DP M1DP M0DP Priorita dat Sprite
28
D01C
M7MC M6MC M5MC M4MC M3MC M2MC M1MC M0MC Sprite vícebarevný
29
D01D
M7XE M6XE M5XE M4XE M3XE M2XE M1XE M0XE Sprite X expanze
30
D01E
M7M M6M M5M M4M M3M M2M M1M M0M Kolize Sprite-Sprite
31
D01F
M7D M6D M5D M4D M3D M2D M1D M0D Kolize s daty Sprite
32
D020
- - - -
ES
Barva ohraničení
33
D021
- - - -
B0C
Barva pozadí 0
34
D022
- - - -
B1C
Barva pozadí 1
35
D023
- - - -
B2C
Barva pozadí 2
36
D024
- - - -
B3C
Barva pozadí 3
37
D025
- - - -
MM0
Sprite multicolor 0
38
D026
- - - -
MM1
Sprite vícebarevný 1
39
D027
- - - -
M0C
Barevný sprite 0
40
D028
- - - -
M1C
Barevný sprite 1
41
D029
- - - -
M2C
Barevný sprite 2
42
D02A
- - - -
M3C
Barevný sprite 3
43
D02B
- - - -
M4C
Barevný sprite 4
44
D02C
- - - -
M5C
Barevný sprite 5
45
D02D
- - - -
M6C
Barevný sprite 6
46
D02E
- - - -
M7C
Barevný sprite 7

Barvy

Čip VIC-II má pevnou 16barevnou paletu, jak je uvedeno výše.

V režimu vícebarevných znaků (160 × 200 pixelů, který většina her používala) měly znaky 4 × 8 pixelů (znaky byly stále přibližně čtvercové, protože pixely měly dvojnásobnou šířku) a 4 barvy ze 16 barev. Čtvrtá barva byla stejná pro celou obrazovku (barva pozadí), zatímco další 3 bylo možné nastavit individuálně pro každou takovou oblast 4 × 8 pixelů. Dvě barvy byly načteny z obrazovky aktivního textu a třetí byla načtena z barevné paměti RAM. Skřítci ve vícebarevném režimu (12 × 21 pixelů) měli tři barvy: dvě sdílené mezi všemi skřítky a jednu osobu. Umělec musel vybrat sdílené barvy tak, aby kombinace s jednotlivými barvami vedla k barevnému dojmu. Některé hry znovu načetly sdílené barvy během přerušení rastru; například podvodní oblast hry Turrican II (která byla vertikálně odlišná) měla různé barvy. Jiní, jako například Epyx ‚s letní hry a Compute!‘ S Gazette " s basketbal Sam & Ed , překryty dva skřítky s vysokým rozlišením, aby dvě barvy popředí, které mají být používány, aniž by byla obětována horizontální rozlišení [1] . Tato technika samozřejmě snížila počet dostupných skřítků o polovinu.

Na PAL C64s lze použít zpožďovací čáru PAL na monitoru nebo televizi, která má průměrný barevný odstín , nikoli však jas, po sobě jdoucích řádků obrazovky k vytvoření sedmi nestandardních barev střídáním řádků obrazovky zobrazujících dvě barvy se stejným jasem. V čipu VIC je sedm takových párů barev.

Tým C64 nestrávil mnoho času matematickým výpočtem 16 barevné palety. Robert Yannes, který se podílel na vývoji VIC-II, řekl:

Obávám se, že do výběru barev nebylo zdaleka tolik úsilí, jak si myslíte. Protože jsme měli úplnou kontrolu nad odstínem, sytostí a jasem, vybrali jsme barvy, které se nám líbily. Abychom ušetřili místo na čipu, mnoho barev bylo jednoduše opačnou stranou barevného kolečka než ty, které jsme vybrali. To nám umožnilo znovu použít stávající hodnoty rezistorů, místo abychom měli pro každou barvu zcela jedinečnou sadu.

Pamatujte, že dřívější verze VIC-II používané v PAL C64 mají jinou barevnou paletu než pozdější revize.

Celá paleta šestnácti barev je uvedena níže:

Číslo - jméno Y Pb (rel.) Pr (rel.)
0 - černá 0 0 0
1 - bílá 1 0 0
2 - červená 0,3125 -0,3826834 0,9238795
3 - azurová 0,625 0,3826834 -0,9238795
4 - fialová 0,375 0,7071068 0,7071068
5 - zelená 0,5 -0,7071068 -0,7071068
6 - modrá 0,25 1 0
7 - žlutá 0,75 -1 0
8 - oranžová 0,375 -0,7071068 0,7071068
9 - hnědá 0,25 -0,9238795 0,3826834
10 - světle červená 0,5 -0,3826834 0,9238795
11 - tmavě šedá 0,3125 0 0
12 - středně šedá 0,46875 0 0
13 - světle zelená 0,75 -0,7071068 -0,7071068
14 - světle modrá 0,46875 1 0
15 - světle šedá 0,625 0 0


VIC-IIe

Pinout MOS 8566 VIC-IIe

8564/8566 VIC-IIe v Commodore 128 používal spíše 48 pinů než 40, protože produkoval více signálů, mimo jiné hodiny pro další procesor Zilog Z80 tohoto počítače. Mělo také dva další registry. Jeden z dalších registrů byl pro přístup k přidané numerické klávesnici a dalším doplňkovým klávesám tohoto počítače; tato funkce byla přidána do VIC pouze proto, že se ukázalo jako nejjednodušší místo v počítači přidat potřebné tři další výstupní piny. Druhým dalším registrem bylo přepínání mezi systémovým časem 1 MHz a 2 MHz; při vyšší rychlosti videovýstup VIC-II pouze zobrazuje každý druhý bajt v kódu, protože černá si na obrazovce najímá bitový vzor, ​​což naznačuje použití 80sloupcového režimu C128 při této rychlosti (přes čip 8563 VDC RGB). Spíše neoficiálně byly tyto dva další registry k dispozici také v režimu C64 C128, což umožňovalo určité použití dalších kláves, stejně jako dvojí rychlost bez videa provádění kódu vázaného na CPU (například intenzivní numerické výpočty) v vytvořil programy C64. Extra registry byly také jedním zdrojem menší nekompatibility mezi režimem C128 C64 a skutečným C64 - několik starších programů C64 nechtěně zapisovalo do 2 MHz přepínacího bitu, což by na skutečné C64 vůbec neudělalo, ale mělo by za následek zkažený displej na C128 v režimu C64.

VIC-IIe má málo známou schopnost vytvářet další sadu barev manipulací s registry specifickým způsobem, který vyřadí barevný signál z fáze s tím, v čem jej ostatní části čipu považují.

Díky specifickému chování testovacího bitu VIC-IIe je dále schopen vytvářet skutečný prokládaný obraz s rozlišením 320 × 400 (režim hires) a 160 × 400 (vícebarevný režim).

Seznam verzí VIC-II

Commodore provedl během svého života mnoho úprav VIC-II. Compute! ‚S Gazette Prvním problémem je, že v červenci 1983, hlásil, že tam už osm od Commodore 64 je vydání v polovině roku 1982.

  • KAMARÁD
    • MOS Technology 6569 - ( PAL-B , používaný ve většině zemí PAL)
    • MOS Technology 6572 - ( PAL-N , používá se pouze v jižní Jižní Americe)
    • MOS Technology 6573 - ( PAL-M , používá se pouze v Brazílii)
    • MOS Technology 8565 - verze HMOS-II pro základní desky „C64E“
    • MOS Technology 8566 - VIC-II E (PAL-B) verze C128
    • MOS Technology 8569 - verze VIC-II E (PAL-N) C128
  • NTSC
    • MOS Technology 6566 - navrženo pro SRAM / nemuxované adresní linky (používá se v Commodore MAX Machine )
    • MOS Technology 6567 - Originální verze NMOS
    • MOS Technology 8562 - verze HMOS-II
    • MOS Technology 8564 - verze VIC-II E C128

Poznámky

U všech modelů C64 je VIC-II vybaven zásuvkou pro snadnou výměnu, ale je důležité si uvědomit, že 6569, 6572, 6573, 6566 a 6567 používá 12 voltů a 5 voltů, když 8565 a 8562 používají pouze 5 voltů. Nahrazení staré verze novou verzí bez úpravy základní desky zničí 8565 a 8562, pokud jsou napájeny v nejstarších verzích základních desek C64.

Existuje několik revizí 6569: 6569R1 (obvykle pozlaceno), 6569R3, 6569R4 a 6569R5. Nejběžnější verzí 8565 je 8565R2.

Viz také

Reference

  1. ^ Bagnall, Brian (2005). „The Secret Project 1981“. On the Edge: The Spectacular Rise and Fall of Commodore (1. vyd.). Winnipeg, Manitoba: Variant Press. str. 224–225. ISBN 0-9738649-0-7.
  2. ^ a b Perry, Tekla S .; Wallich, Paul (březen 1985). "Historie případu designu: Commodore 64" (PDF) . IEEE spektrum . New York, New York: Institute of Electrical and Electronics Engineers : 48–58. ISSN  0018-9235 . Citováno 2011-11-12 .
  3. ^ Bagnall, Brian (2005). „The Secret Project 1981“. On the Edge: The Spectacular Rise and Fall of Commodore (1. vyd.). Winnipeg, Manitoba: Variant Press. p. 227. ISBN 0-9738649-0-7.
  4. ^ Bagnall, Brian (2005). „The Secret Project 1981“. On the Edge: The Spectacular Rise and Fall of Commodore (1. vyd.). Winnipeg, Manitoba: Variant Press. p. 229. ISBN 0-9738649-0-7.
  5. ^ Bagnall, Brian (2005). „The Secret Project 1981“. On the Edge: The Spectacular Rise and Fall of Commodore (1. vyd.). Winnipeg, Manitoba: Variant Press. p. 230. ISBN 0-9738649-0-7.
  6. ^ Bagnall, Brian (2005). „The Secret Project 1981“. On the Edge: The Spectacular Rise and Fall of Commodore (1. vyd.). Winnipeg, Manitoba: Variant Press. p. 242. ISBN 0-9738649-0-7.
  7. ^ Yakal, Kathy (červen 1986). "Vývoj Commodore Graphics" . Vypočítat! 'S Gazette . str. 34–42 . Citováno 2019-06-18 .
  8. ^ a b c d Cowper, Ottis R. (1986). Mapování Commodore 128 . Greensboro, Severní Karolína: VÝPOČET! Knihy. ISBN 0-87455-060-2.
  9. ^ „6567 Video Interface Chip: Specification Sheet“ (PDF) . Commodore Semiconductor Group. listy 2 a 5.
  10. ^ Timmermann, Philip. "Commodore VIC-II Color Analysis (Preview)" . Citováno 11. února 2018 .
  11. ^ Sjöstedt, Ilkka. "Staré barvy VIC-II a míchání barev" . blog uživatele ilesj . Citováno 11. února 2018 .
  12. ^ Cowper, Ottis R .; Florance, David; Heimarck, Todd D .; Krause, John; Miller, George W .; Mykytyn, Kevin; Nelson, Philip I .; Victor, Tim (říjen 1985). "Kapitola 7. Systémová architektura". COMPUTE! 'S 128 programátora Guide . Greensboro, Severní Karolína: VÝPOČET! Publikace . str. 348–349. ISBN 0-87455-031-9.
  13. ^ Halfhill, Tom R. (červenec 1983). Msgstr "Aktualizace videa Commodore 64" . Vypočítat! 'S Gazette . p. 40 . Vyvolány 6 February je 2016 .

externí odkazy