Autor Wątek: Zamiennik Gate Array 40007 i 40010  (Przeczytany 9509 razy)

gotham

  • ***
  • Wiadomości: 135
  • Miejsce pobytu:
    Kraków
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #15 dnia: 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.

Amstrad  6128 plus + CM14 , Gamecube , Xbox 1 , PSP , Neogeo Pocket color x 2 ,

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #16 dnia: 2019.01.30, 23:12:53 »
Nie widzę związku. Nie pojmuję jak to sobie wyobrażasz.
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

gotham

  • ***
  • Wiadomości: 135
  • Miejsce pobytu:
    Kraków
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #17 dnia: 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.
Amstrad  6128 plus + CM14 , Gamecube , Xbox 1 , PSP , Neogeo Pocket color x 2 ,

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #18 dnia: 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.

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #19 dnia: 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.
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

gotham

  • ***
  • Wiadomości: 135
  • Miejsce pobytu:
    Kraków
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #20 dnia: 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 ?
Amstrad  6128 plus + CM14 , Gamecube , Xbox 1 , PSP , Neogeo Pocket color x 2 ,

KWF

  • *****
  • Wiadomości: 6823
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • Insta do lasownia
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #21 dnia: 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.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

Dr Piotr

  • ***
  • Wiadomości: 196
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #22 dnia: 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 :)

 

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #23 dnia: 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ć.
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #24 dnia: 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.

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #25 dnia: 2019.01.31, 19:56:15 »
MSXy mają VRAM osobno od reszty pamięci. :)
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #26 dnia: 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 :)

Dr Piotr

  • ***
  • Wiadomości: 196
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #27 dnia: 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.

Dr Piotr

  • ***
  • Wiadomości: 196
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #28 dnia: 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 :)
 

Dr Piotr

  • ***
  • Wiadomości: 196
Odp: Zamiennik Gate Array 40007 i 40010
« Odpowiedź #29 dnia: 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 :)