forum speccy.pl

Komputery z Z80 => AMSTRAD => Wątek zaczęty przez: ZbyniuR w 2017.09.26, 17:42:26

Tytuł: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2017.09.26, 17:42:26
Niejaki Miguel Angel Rodríguez Jódar stworzył prototypy zamiennika jedynego specjalizowanego scalaka w CPC, czyli Gate Array dla wersji 40007 oraz 40010, oczywiście na FPGA. Można go namierzyć na FB i podpytać jakby co. :)

Jak tak dalej pójdzie to może wykombinuje jak tam wstawić coś co da nam możliwości z Plusa. ;)

https://www.facebook.com/photo.php?fbid=10203659286318389&set=gm.10154980562362058&type=3&permPage=1&ifg=1
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.01.27, 13:30:12
Ciekaw jaki koszt? I czy można zbudować płytę z wbudowana kością.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.01.28, 23:08:24
Niejaki Miguel Angel Rodríguez Jódar stworzył prototypy zamiennika jedynego specjalizowanego scalaka w CPC, czyli Gate Array dla wersji 40007 oraz 40010, oczywiście na FPGA. Można go namierzyć na FB i podpytać jakby co. :)

Jak tak dalej pójdzie to może wykombinuje jak tam wstawić coś co da nam możliwości z Plusa. ;)

https://www.facebook.com/photo.php?fbid=10203659286318389&set=gm.10154980562362058&type=3&permPage=1&ifg=1


Zbyszku a jest rozpiska logiki oryginalnych układów 40007 i 40010 ?
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: KWF w 2019.01.29, 00:04:28
https://pastebin.com/ZQyL68Hv - verilog

http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/gate-array-decapped!/msg133284/#msg133284 - schemat wewnętrznej logiki
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.01.29, 00:05:16
http://www.cpcwiki.eu/index.php/Gate_Array_and_ASIC_Pin-Outs
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.01.29, 22:03:11
Znalazłem PDF dla układu 16L6AC w postaci bramek logicznych i to jest do odtworzenia w postaci np 10-20 scalaków eksperymentalnie. 
Rozumiem że ten układ pobiera z pamięci dane obrazu i wyświetla je w pal.  Co stoi na przeszkodzie żeby ten układ wyświetlał większą roździelczość albo więcej kolorów na ekranie? Wielkość pamięci ram?
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: trojacek w 2019.01.29, 22:40:43
Wyświetlaniem obrazu to się raczej CRTC zajmuje?
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.01.29, 23:54:07
Z tego na ile to rozumiem to...

CRTC (512KHz) na podstawie danych zapisanych w swoich rejestrach generuje w regularnych odstępach czasu, sygnały synchronizacji oraz adresy pamięci wysyłane do GA. To na ich podstawie GA wie w którym momencie które komórki pamięci czytać, potem sprawdza aktualny tryb i paletę, i na ich podstawie przestawia kolejność bitów odczytanych z pamięci graficznej by ustalić kolory pikseli i wysyła je na ekran.

W regularnych odstępach czyli raz na każdą pikselową linijkę czyli łącznie z ramką 272 linie razy 25 klatek na sekundę. W NTSC mniej linii ale więcej klatek, a w interlejsie ilość klatek się podwaja. Dostęp do pamięci graficznej GA ma pomiędzy taktami procesora, tak aby GA i Z80 sobie nie przeszkadzały, ani nie musiały na siebie czekać. I to jest plus Amstradów w porównaniu do innych popularniejszych 8bit.

Dlatego myślę że wąskim gardłem w ilości odczytywanych danych jest tu szybkość działania kości pamięci. A ci co bawili się w podkręcanie CPC, twierdzą że starsze modele z lat 84-87 daje się podkręcić o 50%, a te z 88-89 o 100%, i nie więcej. tzn bez zmieniania kości pamięci na szybsze.

GA w CPC tyka 16MHz, a Plusy mają szybciej taktowaną grafę 40MHz, bo w razie sprzętowego scrolingu muszą zdążyć pomiędzy taktami procka, przerzucić i zmodyfikować zawartość kilkunastu tysięcy bajtów.

Procek chodzi parę razy szybciej niż CRTC, a to znaczy że sam potrafi generować te dane co CRTC i wysyłać je do GA i to na bardziej różnorodne sposoby niż CRTC. np tak aby poziome linijki ekranu znajdowały się obok siebie, a nie ze skokiem co 8 linijek jak to robi CRTC, i przesuwać adres początkowy wyświetlanej części pamięci ekranu z dokładnością co 1 pikselową linijkę a nie co 8, uzyskując płynny pionowy scroling tak jak w Pinball Dreams, o czym wspominał Rino pytany jak to zrobił.


Czy dałoby się tak zmodyfikować GA zrobionego na FPGA, aby wyświetlał bogatszą paletę kolorów, myślę że tak. Zapewne ze sprzętowymi sprajtami też by sobie poradził, a może nawet z nowymi trybami w których odczytywałby 2 bloki pamięci po 16KB na raz, aby wyświetlić tryby jak w Enterprise czyli 320x200 w 16 kolorach, albo 160x200 w 256. Ale czy dałoby się zrobić sprzętowy scroling bez podkręcania działania pamięci to szczerze wątpię. Choć kiedy czytam (bo raczej nie oglądam a wierzę na słowo) co wyczyniają Amigowcy z Indivision albo z Vampirkami to gdyby tacy spece zabrali się za poprawianie CPC, to mogliby nas zaskoczyć. ;)
Z tym że jeśli takie modyfikacje nie byłyby kompatybilne z Plusami, to na nowy soft do nich byśmy sobie poczekali.

I osobiście wolałbym takie bajery które potrafiłyby zamienić każdego CPC w (prawie)PLUSa, niż zewnętrzną graficzną z trybami od MSX2. No bo co z tego że są fajne skoro są jakieś takie nieAmstradowe. :/

Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: trojacek w 2019.01.30, 00:33:50
OK. Czyli rozumiem, że skoro CRTC (http://bitsavers.trailing-edge.com/components/motorola/_dataSheets/6845.pdf) zawiera liczniki niezbędne do generowania adresów pamięci obrazu (i przy okazji - obu synchronizacji  i migającego kursora), gate array dba o całą resztę - czyli zamianę danych odczytanych z pamięci obrazu na kolejne piksele (łącznie z interpretacją kolorów) oraz zarządzanie dostępem do tej pamięci przez CPU (tak, by CPU i CRTC nie "gryzły" się nawzajem).

Ergo, CRTC "nie wie", jak zorganizowana jest pamięć obrazu i jak na podstawie jej odczytów generowany będzie obraz. Innymi słowy, można w teorii podwoić rozdzielczość lub głębię kolorów poprzez dołożenie bitów pamięci obrazu (np. 8->16) i rozbudowanie logiki w gate array.

Jednak zwiększanie rozdzielczości nie ma większego sensu, jeśli monitor pozostaje ten sam - z częstotliwością ramki 50 Hz i częstotliwością linii 15625 Hz nie da się wycisnąć więcej, niż 640 pikseli w poziomie (podwojenie do 1280 spowoduje tylko rozmazanie krawędzi pikseli ze względu na ograniczone pasmo sygnału wideo) i maksymalnie 240 w pionie (teoretycznie 312,5 linii - ale trochę odpada na back i front porch oraz impuls synchronizacji).

Cudując bardziej zaawansowany gate array można rozbudować paletę, tworzyć bitplany, kanał alfa, warstwę ze sprite'ami itp. No ale właśnie... jaki soft to wykorzysta? Może po prostu wystarczy zapewnić zgodność z plusami - i to byłby już duży sukces?
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: Dr Piotr w 2019.01.30, 04:12:25
OK. Czyli rozumiem, że skoro CRTC (http://bitsavers.trailing-edge.com/components/motorola/_dataSheets/6845.pdf) zawiera liczniki niezbędne do generowania adresów pamięci obrazu (i przy okazji - obu synchronizacji  i migającego kursora),
crtc nie generuje kursora - ma co prawda taka funkcjonalnosc, ale w cpc jest on generowany softwareowo
Cytuj
gate array dba o całą resztę - czyli zamianę danych odczytanych z pamięci obrazu na kolejne piksele (łącznie z interpretacją kolorów) oraz zarządzanie dostępem do tej pamięci przez CPU (tak, by CPU i CRTC nie "gryzły" się nawzajem).
crtc nie ma dostepu do pamieci - jedyne co robi to generuje biezacy adres pamieci do pobrania (MA) a oraz synchronizacje (HSYNC, VSYNC) i DISPEN. Gate array czyta 2 bajty spod adresu MA i z tego oraz ustawien trybu ekranu i kolorow generuje sygnal do monitora.
Cytuj
Ergo, CRTC "nie wie", jak zorganizowana jest pamięć obrazu i jak na podstawie jej odczytów generowany będzie obraz. Innymi słowy, można w teorii podwoić rozdzielczość lub głębię kolorów poprzez dołożenie bitów pamięci obrazu (np. 8->16) i rozbudowanie logiki w gate array.
Bez wiekszych problemow mozna zrobic wieksza palete ale z rozdzielczoscia bedzie trudniej
Cytuj
Jednak zwiększanie rozdzielczości nie ma większego sensu, jeśli monitor pozostaje ten sam - z częstotliwością ramki 50 Hz i częstotliwością linii 15625 Hz nie da się wycisnąć więcej, niż 640 pikseli w poziomie (podwojenie do 1280 spowoduje tylko rozmazanie krawędzi pikseli ze względu na ograniczone pasmo sygnału wideo) i maksymalnie 240 w pionie (teoretycznie 312,5 linii - ale trochę odpada na back i front porch oraz impuls synchronizacji).
Do 240 pixeli w pionie nie potrzeba specjalnie kombinowac - gate array jest elastyczny i mozesz nawet z basica taki rozmiar ustawic. W teorii ekran moze miec i 311 linii tylko wtedy bedzie wiecej pamieci zajmowal i musi byc ulokowany np pod $4000 zamiast $c000
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: Dr Piotr w 2019.01.30, 04:51:11
Z tego na ile to rozumiem to...

CRTC (512KHz) na podstawie danych zapisanych w swoich rejestrach generuje w regularnych odstępach czasu, sygnały synchronizacji oraz adresy pamięci wysyłane do GA. To na ich podstawie GA wie w którym momencie które komórki pamięci czytać, potem sprawdza aktualny tryb i paletę, i na ich podstawie przestawia kolejność bitów odczytanych z pamięci graficznej by ustalić kolory pikseli i wysyła je na ekran.
Raczej nie przestawia - po prostu uzywa tych wartosci jako lookup table 2 bitowy dla trybu 1 I 4bitowy dla trybu 0
Cytuj
W regularnych odstępach czyli raz na każdą pikselową linijkę czyli łącznie z ramką 272 linie razy 25 klatek na sekundę.
wysyla za kazdym razem nie tylko co linijke. Ramka ma 312 linii
Cytuj
W NTSC mniej linii ale więcej klatek, a w interlejsie ilość klatek się podwaja. Dostęp do pamięci graficznej GA ma pomiędzy taktami procesora, tak aby GA i Z80 sobie nie przeszkadzały, ani nie musiały na siebie czekać. I to jest plus Amstradów w porównaniu do innych popularniejszych 8bit.
GA kradnie cykle procesora - dokladnie co 4 cykl wysyla wait do z80 i w zaleznosci od tego w jakim stadium wykonywania instrukcji jest cpu, ma to wplyw na jego opoznienie lub nie.
Cytuj
Dlatego myślę że wąskim gardłem w ilości odczytywanych danych jest tu szybkość działania kości pamięci. A ci co bawili się w podkręcanie CPC, twierdzą że starsze modele z lat 84-87 daje się podkręcić o 50%, a te z 88-89 o 100%, i nie więcej. tzn bez zmieniania kości pamięci na szybsze.

GA w CPC tyka 16MHz, a Plusy mają szybciej taktowaną grafę 40MHz, bo w razie sprzętowego scrolingu muszą zdążyć pomiędzy taktami procka, przerzucić i zmodyfikować zawartość kilkunastu tysięcy bajtów.
????? przy sprzetowym scrollingu ga nie przerzuca tysiecy bajtow, po prostu zmieniane sa rozne offsety wewnatrz ga, ktore wplywaja na to skad sa pobierane bajty do generowania obrazu. ga w plusie nie moze kopiowac tysiecy bajtow bo nie ma dma do kopiowania - tylko dzwiek korzysta z dma.
Cytuj
Procek chodzi parę razy szybciej niż CRTC, a to znaczy że sam potrafi generować te dane co CRTC i wysyłać je do GA i to na bardziej różnorodne sposoby niż CRTC. np tak aby poziome linijki ekranu
A jak chcesz ustawic softwareowo linie vsync, hsync, ma laczace crtc z ga?
Cytuj
znajdowały się obok siebie, a nie ze skokiem co 8 linijek jak to robi CRTC, i przesuwać adres początkowy wyświetlanej części pamięci ekranu z dokładnością co 1 pikselową linijkę a nie co 8, uzyskując płynny pionowy scroling tak jak w Pinball Dreams, o czym wspominał Rino pytany jak to zrobił.
To wszystko sa zabawy z danymi, ustawianymi w rejestrach crtc przez cpu a nie dostarczanymi przez cpu do ga
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.01.30, 05:39:10
Trojacek miałem A1200 przez 6 lat i jakoś nigdy mnie rozdziałka 1280 nie jarała. Normalna czcionka jest za mała i nieczytelna. Takich małych pikselków i tak na PALu nie widać, za to widać że komp wolniej chodzi. Tym bardziej nie wiem po co tyle pikseli w 8 bit. CPC potrafi wyświetlać obraz tylko z podstawowych 64 RAM, a z RAMdysku już nie. Przeciwnie do innych 8bit. Ale o trybie 640x200 w 4 kolorach to marzyłem w czasach gdy miałem Amstrada. Razem z overscanem taki obrazek by zajął niemal cały RAM, ale jakie cudne obrazki by umiał wyświetlać. :)

Piotr wiem jak działa sprzętowy scroll w CPC, bo bawiłem się nim w Basicu. A tam gdzie piszę o przerzucaniu nastu-tysiącach bajtów pisałem o Plusie.  Że też się nie domyśliłeś. :)

Rino pisał że płynny pionowy scroling uzyskuje się bombardując układ graficzny danymi o położeniu kolejnych linijek w pamięci, i że mogą być one wtedy rozmieszczone w pamięci w dowolny sposób. I nie trzeba przy tym żadnych danych przerzucać w pamięci. Nawet nie wiem czy GA ma jakiś rejestry, ale z tego co mi wiadomo o rejestrach w CRTC to nie ma tam takiego który pozwala przestawiać dowolną linijkę na dowolną wysokość z dokładnością do 1go piksela. Stąd moje przypuszczenie że takie coś jest w GA. Ale głowy za to nie dam. Specjalnie dodałem na początku posta to co dodałem, bo wiem że nie jestem alfą i omegą.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: rzookol w 2019.01.30, 09:11:22
Co do podmianki pamięci na szybsze  to technicznie przecież to łatwa operacja.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.01.30, 14:30:21
Może i łatwe dla tych co im nie brak umiejętności, ale także oporów do takiego haratania zabytków. Ale to dopiero początek kłopotów jakbyś chciał podkręcić CPC. Następnym jest szukanie takiego Z80 który wytrzyma szybszy zegar, oraz przyklejanie radiatora na GA żeby nie zdechł. A potem (i na tym wykładało się najwięcej z tych co próbowali), znalezienie monitora multisynch, który złapie niestandardowe częstotliwości wysyłanego wtedy przez komputer obrazu. A to też nie koniec, bo wtedy się okazuje że stacja dysków nie działa, bo dysk się obraca za wolno w porównaniu z tempem w jakim komputer próbuje łykać dane, i tego jeszcze się nikomu nie udało przejść. Choć ze dwie osoby na angielskim forum twierdziły, że wczytywały wtedy dane z partycji na CF.

Trzeba by jakoś zmodyfikować płytę główną tak aby przyspieszyć tylko pamięć i procek, a resztę bebechów zostawić na normalu, i pewnie jeszcze dodać coś co sprawi że te komunikacja między tym co szybsze a tym co wolniejsze nie będzie zakłócona. Podkręcacze klonów Specca zza Buga jakoś to ogarnęli.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: Dr Piotr w 2019.01.30, 14:34:17
Piotr wiem jak działa sprzętowy scroll w CPC, bo bawiłem się nim w Basicu. A tam gdzie piszę o przerzucaniu nastu-tysiącach bajtów pisałem o Plusie.  Że też się nie domyśliłeś. :)
Tez pisalem o plusie - nie ma on zadnego wsparcia do przerzucania bajtow a scroll polega na tym, co napisalem wczesniej
Cytuj
Rino pisał że płynny pionowy scroling uzyskuje się bombardując układ graficzny danymi o położeniu kolejnych linijek w pamięci, i że mogą być one wtedy rozmieszczone w pamięci w dowolny sposób. I nie trzeba przy tym żadnych danych przerzucać w pamięci. Nawet nie wiem czy GA ma jakiś rejestry,
Warto w takim razie powiekszyc wiedze :) http://www.cpcwiki.eu/index.php/Gate_Array (http://www.cpcwiki.eu/index.php/Gate_Array)
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.01.30, 22:49:04
Oba układy to zwykłe bramki. Jest odpowiedni pdf na necie . W zasadzie bardzo dużo bramek i jeszcze więcej połączeń.
Problem kolorów można by rozwiązać tylko w 1 sposób. nawet bez zmiany układu 40007 lub 40010 zmieniając konfiguracje trybu graficznego. Więcej ramu => każda komórka to jest piksel z 8 bitowym kolorem => czyli jest 256. Obecnie w mode 0 amstrad ma 4 bitowy kolor co daje maks adresowanie 16 kolorów.

A żeby było więcej ramu to procek musi korzystać z innego MPU do zarządzania pamięcią ram.

Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.01.30, 23:12:53
Nie widzę związku. Nie pojmuję jak to sobie wyobrażasz.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.01.30, 23:25:37
Problemem jest pamięc i moc obliczeniowa procesora.  Odpowiednio mocniejszy procek i więcej ramu pozwoliłoby adresować więcej kolorów na ekranie teoretycznie bitów 256 kolorów.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: trojacek w 2019.01.30, 23:40:55
Nie do końca wiem, jak zorganizowane są tryby graficzne w CPC, ale domyślam się, że chodziło  o zwiększenie liczby dostępnych kolorów poprzez podwojenie szerokości szyny danych pamięci obrazu. Ale jeśli jeden bajt ma odpowiadać jednemu pikselowi, stawia to dość wysoko poprzeczkę szybkości tej pamięci. Plus problemy z "dopchaniem" się do takiej pamięci przez CPU, plus jeszcze jakieś multipleksowanie połówek szyny danych, jeśli ta większa pamięć jest 16-bitowa. Jasne, można to wszystko jakoś rozwiązać dokładając tonę logiki - po czym okaże się, że przez rok powstanie na to jedno proste demko i żadna gra.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.01.31, 13:03:05
Nie wiem co to jest "szyna danych pamięci obrazu" ale Enterprise 64 z roku 1985 nie ma ani więcej pamięci ani szybszego procka, a i tak ma tryby które mają po 2 razy tyle bitów na piksel w podobnej rozdziałce jak CPC.

A poza tym bez zmiany GA nie wymrugasz w CPC więcej kolorów niż 125. A tylko miganiem kolorów lub ekranów można uzyskać ich więcej niż ma jego paleta.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.01.31, 16:01:29
Trochę zboczyliśmy z tematu. Pytanie z innej beczki , ile kosztuje najtanszy układ gate array który mozna zaprogramowac na zamiennik 40007 i 40010 ?
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: KWF w 2019.01.31, 16:18:08
Jeśli kod Veriloga zmieści się XC95144XL lub większym XX95288XL w QFP100 lub w większym opakowaniu, to zależnie od źródła od kilku do kilkunastu dolarów.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: Dr Piotr w 2019.01.31, 17:05:46
Nie wiem co to jest "szyna danych pamięci obrazu" ale Enterprise 64 z roku 1985 nie ma ani więcej pamięci ani szybszego procka, a i tak ma tryby które mają po 2 razy tyle bitów na piksel w podobnej rozdziałce jak CPC.
Elan nie ma takiego trybu - ma bardzo zblizony do cpc model generowania kolorow z bitow w trybie bitmapowym w rozdzielczosciach 640x256x2 kol, 20x256x4 kol, 160x256x16 kolorow i 80x256x256 kolorow. Roznica jest taka, ze ma tryb256 kolorow ale w bardzo niskiej rozdzielczosci, palete 256 kolorow, tryb tekstowy i atrybutowy. W dodatku w trybie 320x256x16 tylko 8 kolorow pochodzi z palety, pozostale sa generowane algorytmicznie z zawartosci rejestru fixbias czyli obrazki w 16kol z cpc beda na elanie mialy 8 kolorow identycznych a drugie 8 podobne, ale z reguly nie takie same jak na cpc. Czyli jest odwrotnie niz mowisz :)

 
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.01.31, 18:06:04
Tryb 320x256x16 ma 2 razy tyle bitów na piksel co Amstradowy który w takim trybie ma tylko 4 kolory. A ty napisałeś tak jakby CPC miał w nim 16, a Ent. nie potrafił go w pełni wyświetlić.

Widziałem w YT sporo gierek w Mode 0 na Enterprise które wyglądają identycznie jak na CPC, więc chyba nie jest aż tak źle z dobraniem koloru. Choć te 256 kolorów w rozdziałce 160x256, być może są uzyskane na przerwaniach, bo to zwykle w demkach widać.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: trojacek w 2019.01.31, 19:40:14
Nie wiem co to jest "szyna danych pamięci obrazu"

Ale wiesz, co to jest pamięć obrazu? :)
Jak każda inna pamięć, ma ona szynę adresową, szynę danych i sygnały sterujące.

Większość maszyn 8-bitowych ma całą pamięć 8-bitową, bo tak było najprościej i (wówczas) najtaniej. Zwłaszcza, że pamięć obrazu nie byłą w oddzielnych kościach, tylko stanowiła fragment pamięci głównej komputera.

Ośmiobitowa organizacja RAM narzuca bardzo ostre ograniczenia. Przede wszystkim na maksymalną liczbę 256 kolorów, uzyskiwaną bez żadnego cudowania paletami czy migotaniem. Ale nawet wtedy oznacza to (zwykle) "czesanie" pamięci obrazu jednym cyklem odczytu  na 1 piksel, zostawiając bardzo wąski margines procesorowi - gdyby zachciało mu się sięgnąć do pamięci obrazu. W większości przypadków oznacza to po prostu, że CPU musi czekać, aż logika sterownika graficznego pozwoli mu łaskawie skorzystać z pamięci obrazu.

Gdyby szyna danych miała 16 bitów zamiast 8, odczyty pamięci ekranu mogłyby być dwukrotnie rzadsze, albo takie same, ale z większą liczbą kolorów (16 bitów => aż 65536!). Ale ośmiobitowy CPU już miałby dodatkową zagwozdkę - jak odczytywać/zapisywać 16 bitów danych? Oczywiście, multipleksing, dodatkowe buforowanie - da się, ale kosztem zasobów logicznych oraz czasu traconego na wykonywanie każdego zapisu lub odczytu w dwóch krokach. Czyli analogicznie, jak Intel 8088 albo Motorola 68008.

Dziś mamy szybkie RAM-y, do tego 16-, 32- czy 64-bitowe i można sobie kombinować do woli, by w Amstradzie czy Spectrum zrobić true color :) Owszem, da się - tylko po co?

Jedyne sensowne zastosowanie, jakie widzę, to sprzętowy zamiennik trybów osiąganych dotąd software'owo. Jeśli jakiś fajny tryb był dotąd osiągany poprzez migotanie liniami czy całymi półobrazami, a teraz można to prosto rozwiązać sprzętowo - to czemu nie? O ile oczywiście te dema czy gry, które miały takie efekty, będą prawidłowo działać na "nowym" sprzęcie. W przypadku CPC rozumiem, że dodatkową zachętą jest SymbOS.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.01.31, 19:56:15
MSXy mają VRAM osobno od reszty pamięci. :)
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: trojacek w 2019.01.31, 20:38:30
O, to, to! Chlubny wyjątek :)
Pewnie by się jeszcze kilka maszyn znalazło, pewnie C128 też, z racji dwóch procesorów (nie chce mi się sprawdzać, prawdę mówiąc), ba - nawet prymitywniejsze, starsze maszyny, które wyświetlały obraz tylko tekstowo, ale pamięć znaków była wydzielona :)
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: Dr Piotr w 2019.02.01, 04:51:30
Tryb 320x256x16 ma 2 razy tyle bitów na piksel co Amstradowy który w takim trybie ma tylko 4 kolory. A ty napisałeś tak jakby CPC miał w nim 16, a Ent. nie potrafił go w pełni wyświetlić.
Oczywisice mialem na mysli tryb 160x256x16 - wczesniej napisalem, ze ma 320x256 w 4 kol i 160x256 w 16. Elan nie ma takiego trybu 320x256x16 kol - uklad tego nie obsluguje. Informacja o tym, jak jest generowany kolor dotyczy trybu 160x256x16, czego mozna sie domyslic po przeczytaniu wczesniejszego akapitu.
Oczywiscie, ze elan nie potrawi 100% wlasciwie oddac wszystkich kolorow trybu 160x256x16 kolorow z cpc - wynika to ze sposobu w jaki jest generowany obraz (patrz nizej)
Cytuj
Widziałem w YT sporo gierek w Mode 0 na Enterprise które wyglądają identycznie jak na CPC, więc chyba nie jest aż tak źle z dobraniem koloru.
Duzo zalezy jak paleta jest wykorzystywana w cpc - jesli np czesc kolorow idzie na malo widoczne drobiazgi, to mozna to sprytnie zmapowac. Na elanie pierwsze 8 kolorow bedzie takich samych, pozostale sa tworzone wg wzoru:
kolor n = b4, b3, b2, b1, b0, 3 bitowy nr koloru-8 (n-8)
gdzie b4-b0 to 5 bitowy rejestr fixbias. Jka masz szczescie, to dobrze dopasujesz wszystkie pozostale kolory. Jesli nie, to trzeba zremapowac grafike tak, aby mozna bylo znalezc 8 kolorow, dla ktorych fixbias poprawnie odda cala palate.
Cytuj
Choć te 256 kolorów w rozdziałce
160x256, być może są uzyskane na przerwaniach, bo to zwykle w demkach widać.
Elan nie ma natywnie trybu 160x256x256 kolorow - ale uklad graficzny pozwala modyfikowac numery palet, z ktorych wybierane sa podstawowe 8 kolorow co 1 linie.  Nie jest to standardowy obraz tylko taki trik, wiec sie nie liczy. W amstradzie tez mozna zrobic podobny trik, zmieniajac na przerwaniach tryb wyswietlania czy kolory,  tylko granulacja przerwan w amstradzie to 300 razy na sek.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: Dr Piotr w 2019.02.01, 05:05:51
MSXy mają VRAM osobno od reszty pamięci. :)

Ale to tylko dlatego, ze zastosowany chip graficzny (Texas Instruments) mial taka a nie inna zasade dzialania :)
 
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: Dr Piotr w 2019.02.01, 05:10:25
O, to, to! Chlubny wyjątek :)
Pewnie by się jeszcze kilka maszyn znalazło, pewnie C128 też, z racji dwóch procesorów (nie chce mi się sprawdzać, prawdę mówiąc), ba - nawet prymitywniejsze, starsze maszyny, które wyświetlały obraz tylko tekstowo, ale pamięć znaków była wydzielona :)
Ale to z reguly byla pamiec rom, to nie wiem czy sie liczy :)
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: trojacek w 2019.02.01, 08:13:53
ROM na czcionkę(i) oraz RAM na kody ASCII :)
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.02.02, 11:40:14
ze względu na końcową cenę najlepsza opcja to wznowienie produkcji oryginalnych układów przez chińczyków jeśli układy programowalne xilix to tylko jak zbyniu mówił z wersja plusową.

a dlaczego tak często mówię o cenie? Za 5 dolarów ostatnio można było wyrwać onechip komputer który można włożyć do starego cpc i mieć emulator starych komputerów w obudowie od amstrada klimat jest a jakie ułatwienie technologiczne.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: zaxon w 2019.02.02, 16:04:58
Ja tam wole orginały ;) Zamawiam i za 5-6 dni mam 10, 20 szt  zależności od potrzeb . No ale jak ktoś uważa że .....

"Za 5 dolarów ostatnio można było wyrwać onechip komputer który można włożyć do starego cpc i mieć emulator starych komputerów w obudowie od amstrada klimat jest a jakie ułatwienie technologiczne. "

To niech wkłada ;) Tylko co to wtedy ma z CPC wspólnego  :P

Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.02.02, 16:16:48
Zastanawiałem się nad tym co Piotr napisał o płynnym (co 1pix) sprzętowym scrolingu w Plusach.
Skoro on polega na tym samym co skokowy (co 8pix) sprzętowy scroling w starych CPC, różniąc się jedynie precyzją, a co da się zrobić jedynie na całym ekranie, ale już nie na części szerokości ekranu, bo wtedy trzeba przerzucać dane w pamięci, a nie tylko zmieniać numerki w rejestrach. To po co w Plusach podkręcono taktowanie grafy ze 16MHz na 40MHz?

Hmm. Musiałbym przejrzeć wszystkie Plusowe gierki i demka, czy nie było tam takich z płynnym scrolingiem na tylko części szerokości ekranu.

Zaxon - ma wspólną z CPC obudowę. :)  Jeszcze nie widziałem Malinki w CPC. Czy ma ktoś linki do takiej?
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: zaxon w 2019.02.02, 16:46:07
ZbyniuR , sa wsady do Pi z CPC. Troche wypadłem z obiegu wiec nie wiem co tam najnowsze i jak działa . NA Uno też jest core 464 .


Co do pakowania PI itp do obudowy od CPC .... Po co ładować potęzny komputer w obudowe od 8 bitowca? To chyba dla tych co jak idą na miasto to sobie w spodnie wkładają zwinięte skarpetki..... bynajmniej nie na wysokości kostek... . Przecież dużo prościej odpalić emulator.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.02.02, 18:18:06
Do budki od 8bitowca wkłada się potężne podzespoły po to, aby mieć w budce od 8bitowca potężne podzespoły. :)
Dla niektórych współczesna moc i wygląd sprzed lat, to takie combo, dwa w jednym, niedostępne innymi metodami.

Np do Amig i C64 to jakaś firma sprzedawała takie przejściówki, aby klawiatura im działała z Malinami lub Atomami. A emulator tak ustawiono by nieużywane w tych kompach kombinacje klawiszy przełączały coś w tych emulcach, lub wychodziły z niego aby współczesną przeglądarkę lub VideoPlayer włączyć.

Ciebie to może nie kręci, ale nie wszyscy są Zaxonami. To że coś innego jest łatwiejsze albo tańsze, nie znaczy że równie satysfakcjonujące, przy odpowiednim zboczeniu.  Chciałbym zobaczyć takie coś w CPC.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.02.02, 19:55:09
Nostalgia raczej sprowadza się do grania na starych komputerach. Nie pamiętam żebym rozbierał schneidera 6128 cpc i sprawdzał co jest w środku jako dzieciak. Wtedy wrzucałem dyskietki i grałem w gry.

Dlatego jeśli padnie mój amstrad chciałbym wsadzić nową płytę w normalnej cenie z wyjściem hdmi i czytnikiem na usb. Wiem , że to nie będzie egzemplarz muzealny , ale zewnętrznie będzie to amstrad który będzie tak samo dawać dużo frajdy. Im droższe będą maszyny tym mniej użytkowników a chyba nie o to wszystkim fanom retro o to chodzi. Dla mnie to nostalgia z czasów dzieciństwa
i jak wiadomo wszystko ma swoją cene i granice. Jeśli stare kompy będą się wykruszać a nie będzie zamiennika płyty do obudowy to będę musiał zakończyć przygodę. Tak samo wiele osób pożegnało się z komputerami 16 bitowymi gdy w ostatnich latach strasznie skoczyły w górę.

Emulator nie ma tego czegoś.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: zaxon w 2019.02.04, 22:23:32
Gotham , pytałeś skąd mam 40010 , https://www.utsource.net/itm/p/6712338.html . 120 szt  było ale .... jeszcze 2 zostały ;)

Co to jest normalna cena ?

Co do reszty, https://sourceforge.net/projects/javacpc/

Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.02.05, 22:17:24
Właśnie widziałem te 2 sztuki trochę mało.

Normalna cena to taka która nie zabija hobby po przekroczeniu pewnej granicy hobby zmienia się w kolekcjonerstwo a nie o to nam chodzi.
Oczywista rzecz , że najlepsza jest oryginalna część, jednak w obecnej sytuacji na rynku części zamiennych trzeba znaleźć rozwiązanie w układach programowalnych.

#zaxon sprzedajesz 40010?

Jestem ciekawy czy wiadomo kto wykonywał te układy dla amstrada, nawet po latach powinno się dać zamówić jakąś partie tych układów. A zbyt na części zamienne jest duży.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.02.06, 00:33:57
Temat już był na forum poruszany. Praktycznie rzecz biorąc wszystkie układy specjalizowane, dla wszystkich producentów komputerów w Europie Zachodniej wytwarzała firma Ferranti.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: zaxon w 2019.02.06, 09:50:07
Nie, nie sprzedaje. To co mam potrzebuje do swoich płyt.

To ile ty tych 40010 potrzebujesz? 100 000 - 200 000 ? Zdajesz sobie sprawe (już pomijając prawne strony) ile by kosztowało uruchomienie produkcji czegoś w technologi z lat 80-90 ?

Zamiast 40010 można zawsze dać 40007 z radiatorem (no i odpowiednio zmienić pinout bo w 40010 jest inny)  Z tego co widze Ian ma pare sztuk na zbyciu. Albo sobie spokojnie poczekać aż chłopaki skończą zamiennik.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: gotham w 2019.02.06, 22:36:11
podejrzewam , że patenty już nie obowiązują pozostaje tylko kwestia ceny. Pytanie jak duże jest zapotrzebowanie.

Zibi szkoda , że chińczycy nie produkowali tego układu zapewne do dzisiaj można by kupić nówki w dużej ilości, pamiętam jak przed aliexpresem na alibaba można było kupić całe pakiety procesorów graficznych z lat 90.

Na chwile obecną tylko czekanie na zamienniki.
Tytuł: Odp: Zamiennik Gate Array 40007 i 40010
Wiadomość wysłana przez: ZbyniuR w 2019.02.07, 05:45:45
Nie tylko, bo możesz jeszcze kupić sprawne CPC, albo emulować, na różniastych platformach. :)