Wersja 40226 jest zintegrowana z CRTC 4 i kilkoma mniejszymi scalakami i montowano je w 464LC i 6128LC, w latach 1988-89. Mają poszerzoną paletę do 4096 kolorów. Jednak nie wszystkie modele z tych lat to wersje LC. Ale przeciwnie do wcześniejszych tu da się rozpoznać bez włączania i bez rozkręcania kompa czy nasz egzemplarz to LC. Trzeba zajrzeć w szparę Expansion Port i jeśli najbliższy scalak jest duży NA PODSTAWCE (długi jak to złącze), to mamy zwykłe 27 kolorów, a jak w pobliżu jest scalak mniejszy niż Expansion Port, i widać na całej szerokości tego złącza czarny kabelek, to masz LC z 4096 kolorów.
Wersja 40489 jest zintegrowana z CRTC 3 i montowano je w tych białych 464PLUS i 6128PLUS w latach 1990-92, (Oraz w konsoli GX4000).
...
(4)ka - 40226 od Amstrada, zwana też PreASIC lub mały ASIC - Starsze produkcje działają na niej jak na CRTC 0. Nowsze bywa że potrafią skorzystać w nim z lepszej palety kolorów. Marzę o tym by dorwać takiego 6128 LC za sto funciaków bez monitora. Mógłby nawet nie mieć zasilacza ani stacji.
Ciekawostką jest że firma Amstrad wcale się nie chwaliła że w 1988 wprowadziła je do produkcji i że miały więcej kolorów. Wieść niesie że można je uszkodzić niewłaściwą kombinacją parametrów w nowych rejestrach. Stąd firma ukryła nowe walory które odblokowują się dopiero po wysłaniu to pewnych rejestrów właściwej sekwencji kodów. I czekali czy ktoś zgłosi uszkodzenie spowodowane przypadkowym odblokowaniem i wysłaniem zabójczej mieszanki parametrów w nowych rejestrach. Ale nikt nie zgłosił. Baaa o tym że zrobili taki numer użytkownicy dowiedzieli się 2 lata później po tym jak pojawiły się PLUSy tym razem zapowiadane w zachodniej Amstradowej prasie z wielką pompą. Okazało się że wczesne programy testujące czy są uruchomione na PLUSie z 3ką pisane przez scenowców, dawały odpowiedź twierdzącą także w modelach LC z 4ką i odblokowywały w nich poszerzoną paletę, choć nie widziały w nich sprajtów. Jednocześnie z 4ką były produkowane 1ki i 0ra. 4ki były i są rzadsze, zresztą do dziś nie każdy Amstradowiec jest świadom istnienia takiej wersji komputera a nawet jak czytał to nie zetkną się z nim osobiście.
Dla zainteresowanych tematem wersja skondensowana i prostujaca pewne informacje:
- Typ 3 i 4 nie sa zintegrowane z CRTC, one emuluja CRTC.
- Typ 4 nie posiada dodatkowych trybow graficznych, ani rozszerzonej palety - jedynie troche inne poziomy sygnalow RGB. Amstrady CPC z 40226 nie maja rozszerzonej palety, tylko stara.
Typy Gate Array i CRTC w roznych Amstradach:
model | Start | Koniec | wersja Gate Array | typ CRTC |
cpc 464 | 6.1984 | 9.1990 | 40007/40010/40226 | 0,1,2,4 |
cpc 664 | 5.1985 | 11.1985 | 40008 | 0,2 |
cpc 6128 | 8.1985 | 9.1990 | 40010/40226 | 0,1,2,4 |
464+ | 9.1990 | | 40489 | 3 |
6128+ | 9.1990 | | 40489 | 3 |
GX 4000 | 9.1990 | 1991 | 40489 | 3 |
uwagi:
Kolejne wersje GA trafialy takze do starszych modeli - np po wypuszczeniu 664 z wersja 40008 taka wersja byla tez montowana w produkowanych 464. Analogicznie po wypuszczeniu 6128 z wersja 40010, taka wersja byla tez montowana w cpc 464 i 664.
Rozklad cpc/GA w czasie
cpc/GA | 40007 | 40008 | 40010 | 40226 | 40489 |
cpc 464 | 6.1984 | 5.1985 | 8.1985 | 1988 | x |
cpc 664 | x | 5.1985 | x | x | x |
cpc 6128 | x | x | 8.1985 | 1988 | x |
464+ | x | x | x | x | 9.1990 |
6128+ | x | x | x | x | 9.1990 |
GX 4000 | x | x | x | x | 9.1990 |
40008 i 40010 sa kompatybilne ze soba, ale nie z 40007 - inny rozklad sygnalow na pinach.
40226 to uklad Amstrada, emulujacy CRTC, Gate Array i PAL, pinowo niekompatybilny z 40007, 40008 i 40010
40489 to uklad Amstrada, emulujacy CRTC, Gate Array, PAL, 8255 PPI i pare innych rzeczy, plus nowe tryby graficzne, sprite, dma itp. , pinowo niekompatybilny z poprzednimi ukladami
CRTC w Amstradzie wystepuje w kilku odmianach, ktore zostaly przez koderow oznaczone nastepujaco:
Typ 0 - Hitachi HD6845S, UMC UM6845 | montowany w cpc, wyprodukowanych miedzy 85-87 |
Typ 1 - UMC UM6845R | spotykany w cpc z lat 88-90 |
Typ 2 - Motorola MC6845, UMC UM6845S | w wiekszosci starych cpc 464 i 664 |
Typ 3 - 40489 (ASIC) | tylko w 464+, 6128+, GX4000 |
Typ 4 - 40226 (preASIC) | w komputerach 464, 6128 z 1990 |
typ 2 jest w rzeczywistosci pierwotna konstrukcja Motoroli, na ktorej opieraja sie wszystkie pozostale.
Najwazniejsze roznice:
typ 1 ma dodatkowy rejestr stanu do odczytu.
typ 2 jest przez demo koderow uwazany za najgorszy, poniewaz nie wspiera niektorych trickow, uzywanych w demach. Dla normalnych programow i gier nie ma to praktycznie znaczenia.
typ 3 i 4 to w rzeczywistosci emulacja 6845, zrobiona przez Amstrada, nie obslugujaca pelnej specyfikacji 6845 a tylko tyle, ile potrzebne do prawidlowego dzialania, zachowujaca sie troche inaczej niz oryginalny uklad.
Typ 3 ma dodatkowe tryby graficzne, rozszerzona palete, sprites itp.
Wszystkie te informacje mozna wykorzystac do detekcji wersji CRTC - zamiast rozkrecac cpc, wystarczy uruchomic odpowiedni program, ktory to sprawdzi.
Algorytm jest dosyc prosty i opiera sie na sprawdzaniu roznic miedzy poszczegolnymi wersjam CRTCi:
- wpisanie do R12 jakies wartosci
- odczyt z rejestru stanu i odczyt z rejestru R12 - jesli wartosc odczytana z obu rejestrow jest taka sama -> jest to wersja 3 lub 4
- jesli odczyt z rejestru R12 jest rowny wpisanej wartosci, to mamy wersje 0 -> koniec
- jesli jest rowny 0, to mamy typ 1 lub 2
- jesli wartosc odczytana z rejestru stanu and &1F=0, to jest to wersja 1, w innym przypadku wersja 2 -> koniec
Rozrozneinie miedy wersja 3 i 4 polega na sprawdzeniu zachowania emulowanego w ASICu PPI (8255) , ktore jest inne dla oryginalnych 8255 - na 8255 ustawienie rejestru kontroli zeruje wpisana do portu wartosc, w ASICu ta wartosc jest zachowana:
- wpisanie wartosci do PPI (8255) port C, (np aktywowanie wszystkich linii klawiatury),
- ustawienie portu do odczytu i odczytanie
- jesli odczytana wartosc jest rowna wpisanej, to mamy wersje 3.
Program w sumie na parenascie linii w asm, jak bede mial czas to go tu wrzuce.