OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 17.09.2024, 10:07

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 39 ]  Přejít na stránku 1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: Náhrada za Z80 CPU
PříspěvekNapsal: 30.04.2024, 21:29 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1658
Has thanked: 34 times
Been thanked: 364 times
Existuje nějaká náhrada za Z80 CPU ? Myslím tím náhradu přímo do patice místo procesoru.

Namátkou jsem našel třeba info zde:
https://github.com/rejunity/z80-open-silicon

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 01.05.2024, 18:35 
Offline
Profík

Registrován: 26.04.2015, 20:26
Příspěvky: 901
Bydliště: Olomouc
Has thanked: 2 times
Been thanked: 95 times
Nějaké Z80 nebo DDR náhrady bych ještě našel v šuplíku. :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 01.05.2024, 21:05 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1658
Has thanked: 34 times
Been thanked: 364 times
jjilek píše:
Nějaké Z80 nebo DDR náhrady bych ještě našel v šuplíku. :)


Tak menší zásobu všelijakých Z80 cpu různých značek mám také, ale spíš by se hodilo něco výhledově do budoucna. Něco "nového", co se vyrábí nebo je dobře dostupné. Ebay a Aliexpress prodávají staré používané a přeznačené procesory, takže nikdy nevíte jaká verze Z80 to ve skutečnosti je. Do patice místo běžné Z80 by šla osadit i jiná verze Z80, ale musíme se koukat na kompatibilitu a tam by šlo použít snad jen Z84C1510 nebo Z84C1516. To je sice 100 pinová Z80 ale jde o stále tu pravou Z80, jen má v pouzdře kromě CPU i dvoukanálové SIO, čtyřkanálové CTC, 2x 8bit PIO, CGC a WDT. Ale stále by mělo jít zapojit tento procesor s pomocí redukce do patice místo čtyřicetipinové Z80 cpu. Ikdyž má již obsazené některé 8bit porty: #EE,#EF, (WDT = #F0,#F1,#F4), (PIO = #1C,#1D,#1E,#1F), (SIO = #18,#19,#1A,#1B), (CTC = #10,#11,#12,#13). No a jak je vidět tak port #1F, což je na ZX kempston port, je již interně použitý jako PIO. Tento procesor měl počítač SPRINTER 2000, kde kemspton fungoval pouze pokud byl adresován plně 16bitově pomocí registru BC. Interní porty lze tedy používat jen s osmibitovým přístupem pomoci IN A,(xx) nebo OUT (xx),A.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 01.05.2024, 21:05 
Online
Pan Štábní
Uživatelský avatar

Registrován: 21.01.2021, 11:05
Příspěvky: 1807
Bydliště: Pardubice
Has thanked: 32 times
Been thanked: 255 times
Vždyť na ebay jsou pořád za 50,-kč co to tady děláte za bublinu.

_________________
Praxe znamená, že vše funguje, ale nevíme proč. Teorie znamená, že vše víme, ale nic nefunguje.
Někdy je teorie spojena s praxí. Znamená to, že nic nefunguje a nikdo neví proč ...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 01.05.2024, 21:28 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1658
Has thanked: 34 times
Been thanked: 364 times
MilasPce píše:
Vždyť na ebay jsou pořád za 50,-kč co to tady děláte za bublinu.


Stejně jako AY-3-8910 na Ebay i Ali rychle mizí a místo nich koupíte téměř vždy přeznačené klony ala YM2149, podobné to je poslední dobou se Z80 CPU. Když tam koupíte Z80 třeba Zilog, často je přeznačená, takže vůbec nemusí jít o Zilog, dále to je mix NMOS a CMOS čipů a o skutečné rychlosti ani nemluvíme. A na to že by šlo o nepoužité zboží bych raději zapoměl. On není vůbec problém sehnat "nějaký" Z80 procesor, který poběží v ZX Spectru na 3.5MHz (takhle pomalu poběží každá Z80). Ale problém je (nebo spíš bude) sehnat třeba rychlé Z80 cpu.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 01.05.2024, 21:44 
Offline
Pan Generální
Uživatelský avatar

Registrován: 24.05.2018, 22:32
Příspěvky: 2078
Bydliště: Most, Praha
Has thanked: 936 times
Been thanked: 732 times
Dokud ještě jsou sehnatelné, to by chtělo ještě co nejpřesněji odladit emulátory s reálným hardware, obzvláště nedokumentované funkce - největší problém u emulátorů je zjistit jak se reálný hardware přesně chová. Typicky instrukce DAA - na netu jsou miliony teorií "jak by to mělo být", ale nikdo neotestoval všechny možné kombinace vstupních flagů a hodnot, lidi vždy testují jen pár hodnot, takže se na to nedá spolehnout. Obvykle se různé emulátory liší např. v chování half carry flagu při nestandardních vstupních hodnotách.

_________________
i++ (INC) increment
i-- (DEC) decrement
i@@ (EXC) excrement


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 02.05.2024, 07:21 
Online
Pan Štábní
Uživatelský avatar

Registrován: 21.01.2021, 11:05
Příspěvky: 1807
Bydliště: Pardubice
Has thanked: 32 times
Been thanked: 255 times
Tak jsem si objednal 5ks 20Mhz Z80 na ebay. To mi bude stačit na dalších 10let. Tak za měsíc se dozvíme, jak jsou opravdu rychlé.

_________________
Praxe znamená, že vše funguje, ale nevíme proč. Teorie znamená, že vše víme, ale nic nefunguje.
Někdy je teorie spojena s praxí. Znamená to, že nic nefunguje a nikdo neví proč ...


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 02.05.2024, 11:37 
Offline
Kecálek
Uživatelský avatar

Registrován: 27.07.2021, 12:46
Příspěvky: 78
Bydliště: Valašsko
Has thanked: 8 times
Been thanked: 37 times
Jen taková zajímavost:
https://www.martenelectric.cz/z80cpu_plcc44_dip40_adapter.html

L.V.

_________________
RC2014 Pro, RC2014 LittleBro, RC2014 Zed, RC2014 Mini


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 02.05.2024, 13:01 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 601
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 98 times
Panda38 píše:
Dokud ještě jsou sehnatelné, to by chtělo ještě co nejpřesněji odladit emulátory s reálným hardware, obzvláště nedokumentované funkce - největší problém u emulátorů je zjistit jak se reálný hardware přesně chová. Typicky instrukce DAA - na netu jsou miliony teorií "jak by to mělo být", ale nikdo neotestoval všechny možné kombinace vstupních flagů a hodnot, lidi vždy testují jen pár hodnot, takže se na to nedá spolehnout. Obvykle se různé emulátory liší např. v chování half carry flagu při nestandardních vstupních hodnotách.


tady se myslím za posledních 10 let hodně pokročilo, speciálních testů je fůra a hodně komplexní je třeba:

https://github.com/raxoft/z80test

od Patrika Raka

Taktéž jádro Z80 třeba ve Fuse je už téměř dokonalé a obsahuje všechny známé "nedokumentované" vlastnosti, a třeba DAA už je dnes dostatečně zparametrizovaná a jednoduše emulovatelná.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 02.05.2024, 18:36 
Offline
Kecálek

Registrován: 06.04.2020, 16:24
Příspěvky: 248
Bydliště: Opava
Has thanked: 35 times
Been thanked: 86 times
Panda38 píše:
Dokud ještě jsou sehnatelné, to by chtělo ještě co nejpřesněji odladit emulátory s reálným hardware, obzvláště nedokumentované funkce - největší problém u emulátorů je zjistit jak se reálný hardware přesně chová. Typicky instrukce DAA - na netu jsou miliony teorií "jak by to mělo být", ale nikdo neotestoval všechny možné kombinace vstupních flagů a hodnot, lidi vždy testují jen pár hodnot, takže se na to nedá spolehnout. Obvykle se různé emulátory liší např. v chování half carry flagu při nestandardních vstupních hodnotách.

Já DAA kdysi zkoumal, testoval a algoritmus na její implementaci se mi vymyslet podařilo :)
Příloha:
daa.pdf [361.99 KiB]
171 krát

EDIT: měl jsem i test, ve kterém jsem si uložil všechny výstupní hodnoty z reálné Z80CPU, a pak je na PC emulátorech testoval:
Příloha:
test_daa.tap [4.36 KiB]
147 krát


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 02.05.2024, 20:01 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3806
Bydliště: Bratislava
Has thanked: 375 times
Been thanked: 811 times
MTs píše:
Kompletní algoritmus DAA jsem zatím ještě nikde neviděl. Dokonce ani autoři emulátorů ji
nezalgoritmizovali a dělají na ni minimálně 4096 bytes dlouhou tabulku
Preco by sa mali trapit s pomalym algoritmom ? Jedno hrabnutie do tabulky je ovela rychlejsie a menej spomaluje emulaciu :)
MTs píše:
EDIT: měl jsem i test, ve kterém jsem si uložil všechny výstupní hodnoty z reálné Z80CPU, a pak je na PC emulátorech testoval:
Příloha:
test_daa.tap
RealSpectrum/RS32 test passed :)
Btw. preco pocas vykonavania instrukcie IM1 zakazujes prerusenie ?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 02.05.2024, 20:59 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1441
Has thanked: 132 times
Been thanked: 71 times
Panda38 píše:
Dokud ještě jsou sehnatelné, to by chtělo ještě co nejpřesněji odladit emulátory s reálným hardware, obzvláště nedokumentované funkce - největší problém u emulátorů je zjistit jak se reálný hardware přesně chová. Typicky instrukce DAA - na netu jsou miliony teorií "jak by to mělo být", ale nikdo neotestoval všechny možné kombinace vstupních flagů a hodnot, lidi vždy testují jen pár hodnot, takže se na to nedá spolehnout. Obvykle se různé emulátory liší např. v chování half carry flagu při nestandardních vstupních hodnotách.

Problém je hlavne s inštrukciami pri bitovom posune alebo teste alebo čo to bolo. Neviem presne. Tam dokonca jeden flag dáva hodnoty "z brucha" a to sa mi nikdy nepodarilo na 100 % naemulovať. Dokument Z80 documented o tomto všetkom píše, ale niektoré veci ani tam nie sú jasné úplne.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 02.05.2024, 21:08 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3806
Bydliště: Bratislava
Has thanked: 375 times
Been thanked: 811 times
Milsa píše:
dokonca jeden flag dáva hodnoty "z brucha"
Mozno nejaka doteraz neobjavena specialna featurka - generator nahodnych cisel :lol:


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 02.05.2024, 21:38 
Offline
Profík

Registrován: 26.11.2018, 16:59
Příspěvky: 601
Bydliště: Holešov
Has thanked: 13 times
Been thanked: 98 times
4 roky zpátky to nějací šikovní rusové louskli a opravdu už jsou prakticky všechny flagy zdokumentované...

a to DAA se řeší takto: (já mám svoje jádro v pascalu)
Kód:
function ins39:byte;    {DAA}                            {4 HOTOVO}
var incrm:integer;
    cy:byte;
begin
  incR;
  cy:=reg.F and 1;
  incrm:= 0;
   If ((reg.F and 16)=16) Or ((reg.A And 15) > 9) Then incrm:=6;
   If ((reg.F and 1)=1) Or (reg.A > $9F) Then incrm:=incrm + $60;
   If ((reg.A > $8F) And ((reg.A And 15) > 9)) Then  incrm:=incrm Or $60;
   If (reg.A > $99) Then  cy:=1;
   If (reg.F and  2)=2 Then reg.A:=subset(incrm) Else reg.A:=addset(incrm);
   if parita[reg.A] then reg.F:=reg.F or 4 else reg.F:=reg.F and 251;
   reg.F:=(reg.F and 254)or cy;
  result:=4;
end;


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Náhrada za Z80 CPU
PříspěvekNapsal: 02.05.2024, 23:26 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1658
Has thanked: 34 times
Been thanked: 364 times
Vzdyt pouzdro Z80 uz nekdo davno odvrstvil a interni strukturu nafotil/zmapoval. Tak predpokladam ze existuje i odvozene schema a tedy bude mozne jakekoli chovani zmapovat.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 39 ]  Přejít na stránku 1, 2, 3  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 7 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz