ako na tom bol pmd 85–3 ? mal vraj farby, bol aj nejaky SW ktory by to vyuzil ? Nasiel som akurat nejake demo na youtube.
A ako na tom bola rychlost 8080 vs Z80 ? Z80 mal 2× viac registrov, kopec novych uzitocnych instrukcii a aj vyssi hodinovy takt, odhad je cca 2× rychlejsi, alebo ?
Rychlost zalezi silne na tom, jak byl program napsan a co vlastne delal. Pokud obsahoval hodne blokovych prenosu, a hojne vyuzival index registry, tak program napsany specialne pro Z80 mohl byt podstatne rychlejsi.
Ale pokud byl program napsany pro 8080, bezel na Z80 na presne stejne rychlosti (pri stejnem clocku).Z80 mel totiz oproti 8080 rozsirenou sadu instrukci a specializovane index registry, ale instrukce mely stejnou rychlost jako originalni 8080.
No… Tak zrovna indexové registry je podle mě věc, která se autorům Z80 dost nepovedla. Důvodem je, že se hodily pro všechno možné, jen ne pro indexování – a to vzhledem k tomu, že byly strááášně pooomaaaléé. Jinými slovy – adresace pomocí IX/IY v nějaké smyčce rovnalo se sebevraždě. Použití HL místo toho vycházelo zhruba 2× rychleji při obdobném použití – takže v tomhle Z80 nic rychlejšího nenabízela oproti 8080.
Takže bych spíš řekl, že pravý opak je pravdou – „Pokud obsahoval hodne blokovych prenosu, a hojne vyuzival index registry, tak program napsany specialne pro Z80 mohl byt podstatne POMALEJŠÍ.“
Právě v praxi to vycházelo hodně blbě. Díky tomu se mi to tak vrylo do paměti, přestože to je už bezmála 20 let, co jsem se se Z80 potýkal naposledy. Adresace s BC,DE,HL měla kolem sedmi taktů, jak se v tom začalo motat IX,IY, tak to rázem bylo kolem dvaceti. Áčkem, béčkem se nic nespravilo, časování instrukcí bylo zachováno, takže oproti použití „starých“ registrů to bylo pomalé tak, jako tak. A ono když se to pak použije při procházení nějakého pole, kdy načtu, udělám triviální operaci a zase uložím – 50% zpomalení úplně v pohodě.
No já si to zase pamatuju obráceně. Jistě operace s IX a IY byly pomalejší, ale porovnávejme porovnatelné. Normální 8b. přesuny mezi registrem a pamětí trvaly na Z80 a 8080 stejný počet taktů. Přesuny mezi registry byly horší na 8080. Aritmetika snad byla stejná ±. Velmi častá operace inc/dec registru byly horší na 8080. Jak to bylo se skokama už nevím, ale nějaký dramatický rozdíl si neuvědomuji.
Na počet taktů tedy byl Z80 přinejmenším na stejné úrovni, čí lepší. Pro „A“ verzi, kdy byla frekvence hodin často dvojnásobná, tedy vychází, že ne Z80, ale 8080 byla pomalejší o 50% než Z80A.
Vycházím ze svého domácí herního 8bitu. Je to sice dávno, ale pamatuju snad jen jednu hru, co využívala IX, IY.
Porovnávat 8080 se Z80 taktovanou 2× rychleji asi není to pravé ořechové – když jsem psal o rychlosti IX/IY vs. HL, samozřejmě jsem měl na mysli buď 8080 a Z80 stejně taktované, nebo porovnání rychlosti jen v rámci Z80.
Nicméně nic to nemění na faktu, že tady konstruktérům Z80 buď něco uniklo, nebo spíš chtěli získat ještě nějakou konkurenční výhodu, tak tam nějak připlácali indexové registry. Jinak by se každý kontruktér asi pokoušel zrovna indexování udělat tak rychlé, jak to jen jde. Zkrátka ve výsledku to podle mého názoru ten procesor akorát prodražilo, aniž by to přineslo adekvátní výhodu.
Ovšem já jsem byl „odkojen“ 6502, takže mi na 8080 a jejích derivátech připadalo podivné ledacos. :-)
IY se ani nesmělo použít, protože ho používala ZX ROM (včetně přerušení), kdybys ho změnil, tak ti přerušení jednou za 20 minut přepíše adresu IY+něco. Ledaže bys zakázal přerušení nebo použil vlastní a neprováděl volání do ROM.
Používalo se hlavně kvůli tomu, že s ním šly dělat věci, co s normálními adresami ne, takže se IY nastavilo na fixní adresu systémových proměnných a pak šlo napsat věc jako CP A,(IY+5) nebo BIT 5,(IY+6) (absolutní adresu bys totiž do té instrukce napsat nemohl).
Jinak jsem to IX taky moc nepoužíval, myšlenka to není špatná, ale pointery ukazující na struktury se v té době moc nepraktikovaly.
Myslis toto? http://www.youtube.com/watch?v=CCyflo2o4aA IMHO to neni jen tak nejake demo, ale zrejme prvni demo v barve na PMD 85. :) Vyslo loni na Foreveru (http://forever.zeroteam.sk), coz mi pripomina, ze letosni rocnik zacina jiz dnes!
Na dalsi „obarveny“ soft bude nejlepsi se zeptat autoru emulatoru: http://pmd85.djb-studios.com/wiki/Special:Forum