Autor Wątek: Procesor Z80 a jego klony - kompatybilność.  (Przeczytany 5873 razy)

Maryjan

  • *****
  • Wiadomości: 6666
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Procesor Z80 a jego klony - kompatybilność.
« dnia: 2017.03.15, 21:10:14 »
Zawsze zastanawiał mnie fakt kompatybilności ze sobą procesorów Z80 różnych producentów.
O ile takim markom jak  SST, NEC, i kilku innym można wierzyć, że wewnętrzna struktura jest kompatybilna z oryginalną od Zilog-a, to już z "klonami" np. zza wschodniej granicy i z byłego DDR-u, już takiej pewności nie ma.

Nurtuje mnie to zagadnienie, gdyż procesor Z80 ma pewną listę rozkazów niepublikowanych, które to czasami były/są wykorzystywane przez programistów.
Oczywiście, osoby piszące programy użytkowe raczej trzymały się standardowych rozkazów, ale już np. programiści demo-sceny już nie.
Żeby osiągnąć pewne "efekty" obrazu, są stosowane różnego rodzaju sztuczki, min. wykorzystujące niepublikowane rozkazy procesora.

Niby taki "klon" Z80 powinien mieć strukturę identyczną z oryginałem, i nie powinno mieć to nic wspólnego z niepublikowanymi rozkazami, ale czy na pewno ?
Czy też problemy z kompatybilnością wynikały z niedbałego wykonania.
Jak Wy to widzicie ?
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

KWF

  • *****
  • Wiadomości: 6839
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #1 dnia: 2017.03.15, 22:24:42 »
Z procesorami od NECa, Toshiby, Hitachi oraz Sharpa (wszystkie Japońce) bym uważał, ponieważ ich Z80 nie były robione na licencji Ziloga. To były klony Z80 :D

Z tego co pamiętam, Zilog oficjalnie wspomagał się Mostekiem i SGS przy produkcji czipów.
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

Maryjan

  • *****
  • Wiadomości: 6666
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #2 dnia: 2017.03.16, 00:08:41 »
O, nie wiedziałem. Czyli jednak jest coś na rzeczy z tą kompatybilnością.
Zauważyłem, że niektóre dema na niektórych typach procesorów "klonów" Z80 potrafią się zawiesić, zaś na ZILOG-u, działają (ten sam ZX Spectrum, tylko procesory zmieniałem). Nie wiem, czy jeszcze produkują klony Z80 w wersji DIP40, czy też jadą na jakiś "zapasach" magazynowych. Choć ostatnio, te które kupiłem (jakieś n/n) wyglądają jakby były wyprodukowane wczoraj. Co ciekawe, działają poprawnie.
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

KWF

  • *****
  • Wiadomości: 6839
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #3 dnia: 2017.03.16, 00:12:27 »
Bajzel jest niezły, bo część procesorów Ziloga z lat 80-tych ma zwaloną linię /M1, a klony nie. Do tego Sinclair kupował, co było tańsze i w wielu gumiakach oraz plusach siedzi klon NECa.
« Ostatnia zmiana: 2017.03.16, 00:27:15 wysłana przez Klaudiusz »
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

macko76

  • **
  • Wiadomości: 81
  • Miejsce pobytu:
    Radzymin
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #4 dnia: 2017.03.16, 07:29:26 »
Nie wiem czy akurat Z80 ale procesor 8 bitowe nadal są produkowane przecież nie w każdym urządzeniu jest potrzebny kilkurdzeniowy 64 bitowy ARM.

Maryjan

  • *****
  • Wiadomości: 6666
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #5 dnia: 2017.03.16, 10:40:20 »
Poza tym doświadczyłem tego, że nie każdy klon Z80 będzie poprawnie współpracował z daną wersją płyty, oraz modelem Spectrum.
I nie chodzi tu o te niepełnowartościowe, montowane min. w TIMEX-ach, ale o obecnie dostępne.

Ludzie czasami nie wiedzą, że procesory Z80 występowały z różnym taktowaniem zegara i wstawiają np. Z80 2,5 MHz do ZX-a.
No i cuda-wianki gotowe.
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

ikci

  • *****
  • Wiadomości: 1216
  • Miejsce pobytu:
    Kraków
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #6 dnia: 2017.03.16, 11:12:12 »

Zauważyłem, że niektóre dema na niektórych typach procesorów "klonów" Z80 potrafią się zawiesić, zaś na ZILOG-u, działają (ten sam ZX Spectrum, tylko procesory zmieniałem).

Mariansss, to jest bardzo ciekawe spostrzeżenie. Fajnie by było jakbyś sobie przypomniał, które dema były takie wybredne i na których prockach
się zawieszały.
Mam Didaktik Gama 80kb. Tam jest oryginalny Ferranti ULA  ale procek jest (jak to ktoś niedawno napisał) ze zrzutów z NRD - czyli U880D.
Velesoft tutaj kiedyś pisał że wystarczy podmienić ROM na oryginalny i uzyskamy praktycznie 100% kompatybilności z oryginałem.
Wynikałoby z tego, że ten U880D jest bardzo dobrze skopiowany. Ale chciałbym sam to ocenić na jakimś "wybrednym" demie.

A w temacie procków - kiedyś znalazłem ciekawą stronkę... http://www.silirium.ru/index.html
ZX Spectrum 48K, ZX Spectrum +, ZX Spectrum 128K, ZX Spectrum +2, ZX Spectrum +2B, ZX Spectrum +3, TIMEX TC2048, UNIPOLBRIT Komputer 2068, Didaktik Gama 80kB, 
Amstrad/Schneider CPC6128, Schneider CPC464, Commodore C64, Atari 800XL, 65XE 130XE, A500+, A600, A1200, ATARI 1040 STF

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #7 dnia: 2017.03.16, 12:57:13 »
Kiedyś znalazłem w sieci informację, że ruskie klony Z80 zachowują się trochę odmiennie.
Chodziło konkretnie o instrukcję LDIR. Z80 pobiera ją raz i wykonuje tyle razy ile jest w BC, a ruskie klony pobierają ją za każdym obiegiem pętli. Efekt jest taki że jeśli ustawimy rejestry tak, żeby zamazać zerami całą pamięć, łącznie z miejscem gdzie jest LDIR, to na oryginale się uda, a na ruskim klonie zatrzyma się po dojściu do LDIR! Zamaże pierwszy bajt instrukcji i LDIR zamieni się w dwie instrukcje - NOP: OR B.
Jest chyba mało prawdopodobne, żeby ktoś taką konstrukcję zastosował w programie, ale można dzięki temu wykryć że to ruski klon ;)

steev

  • *****
  • Wiadomości: 1366
  • Miejsce pobytu:
    inode 42
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #8 dnia: 2017.03.16, 16:03:28 »
Hm, wychodzi, że powszechnie stosowany w fpgamaszynkach T80 jest klonem ruskiego scalaka... :)
Ale nie bardzo mi się chce w to wierzyć, bo wg manuala intela:
Cytuj
If BC is not 0, the program counter is decremented by two and the instruction is repeated.
Może to właśnie ruskie klony pobierają raz?
Machines should work. People should think.

Phonex

  • *****
  • Wiadomości: 1261
  • Miejsce pobytu:
    Warszawa
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #9 dnia: 2017.03.16, 16:59:34 »
Hmm, a może tak? Może zapamiętałem odwrotnie?
Właśnie sprawdziłem i zatrzymuje się. W moim ZX siedzi NEC.
Nie pamiętam gdzie to wyczytałem... Możliwe że na zxpress.ru, bo tam czytałem o błędzie w odczytywaniu stanu przerwań...

Maryjan

  • *****
  • Wiadomości: 6666
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #10 dnia: 2017.03.31, 09:19:55 »
Niektóre "klony" Z80 mniej się grzeją. Może dlatego, że są wykonane w innej technologii ?
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

KWF

  • *****
  • Wiadomości: 6839
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #11 dnia: 2017.03.31, 09:24:28 »
NMOS kontra CMOS?
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

Maryjan

  • *****
  • Wiadomości: 6666
  • Miejsce pobytu:
    Skarżysko-Kam.
  • Scotch whiskey and West Highland Terrier
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #12 dnia: 2017.03.31, 09:47:55 »
To wyjaśnia sprawę.
Zakupiłem sztukę Z80 MOSTEK-a, zobaczymy, jak będzie działał.
Jak na razie, to Sharp-y pracują poprawnie i są chłodniejsze w porównaniu do Zilog-a.

Wiele pomyłek zdarza się przy zakupie procesora przez osoby niezbyt zorientowane w temacie.
Dla nich Z80, to Z80, zaś mało kto pomyśli, że są one wykonane do pracy z różnymi zegarami. Dlatego później występują problemy ze stabilnością i pracą ZX Spectrum z takim procesorem. Nie wszystkie Z80 2,5 MHz pójdą na 3,5MHz. Choć niektóre, pracują.
"Co miałem powiedzieć - przeczytałem..." Nikodem Dyzma

KWF

  • *****
  • Wiadomości: 6839
  • Miejsce pobytu:
    trzecia planeta od Słońca
  • "I co ja robię tu, u-u, co Ty tutaj robisz ..."
    • PCBway
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #13 dnia: 2017.03.31, 11:13:03 »
Ktorymi demami meczysz te procki?

Sa tez inne roznice, za: http://faqwiki.zxnet.co.uk/wiki/Z80

Cytuj
Differences between NMOS and CMOS Z80s

LD A,I and LD A,R bug

The NMOS Z80s suffer a problem whereby LD A,I and LD A,R record the state of IFF2 after it has been reset if an interrupt is delivered during that instruction. This behaviour, along with workarounds for this for use in interrupt handlers are documented in the Z80 Family Questions and Answers section of the Zilog Product Specifications Databook, and is useful for detecting the model of Z80 in use, so as to determine whether the CPU (assuming it is a genuine NMOS or CMOS Z80) provides an 'OUT (C),0' instruction (NMOS), or 'OUT (C),255' instead (CMOS).

OUT (C),0 or OUT (C),255 instruction

In 1996, Simon Cooke noted in a Usenet posting that the undocumented instruction usually referred to as 'OUT (C),0' behaves instead as 'OUT (C),255' on CMOS Z80s.

Later, in 2004, Colin Piggot rediscovered this with his own SAM Coupé, when running a demo for SCPDU 6, coincidentally written by Simon Cooke. With the CMOS Z80, a white background colour was set over part of the screen in the demo. This was described in SAM Revival Issue 9 (March/April 2004).

In 2008, this was once again rediscovered by the MSX community.
« Ostatnia zmiana: 2017.03.31, 11:24:19 wysłana przez Klaudiusz »
KWF
-----
R Tape loading error 0:1
Moje zabawki: https://github.com/McKlaud76

Damianx

  • *****
  • Wiadomości: 657
  • Miejsce pobytu:
    Pruszków
Odp: Procesor Z80 a jego klony - kompatybilność.
« Odpowiedź #14 dnia: 2017.03.31, 11:24:03 »
Też jestem ciekawy co to za dema.
Mam parę spectrumów i pochodnych w każdym inny proc Zilog Toshiba ,itp ,chętnie potestuję który jest najmniej problematyczny.
Spectrum512k - Spectrum+128k - +2A - +3 Pear Ay - TC2048 S-VIDEO - Didaktik Gama80k\192k- A4000\060 - A1200\030 - A600\9tails - CD32 - A500 GVP Impact II - C64\SD2IEC\DualSID - Atari130XE\SIO2SD\Stereo - CA2001 - CPC6128\HXC - Atari Mega Ste UltraSatan.