Diit.cz - Novinky a informace o hardware, software a internetu

Diskuse k RECENZE – Speccy2010, pořádné moderní retro

Pokud to používá externí klávesnici (není uvedeno a na fotkách není), tak nevím, proč se tím vůbec zabývat a nepustit si emulátor na PC, popřípadě si neudělat Spectrovou konzoli z Raspberry Pi.

+1
+4
-1
Je komentář přínosný?

... nebo si pustit "Gumáka" v prohlížeči (existují napsané v JavaScriptu). Nebo... variant je fůra.

Asi protože to je fakt hodně "fun", splácat to takhle komplikovaně...

+1
+2
-1
Je komentář přínosný?

Teda, to muselo dát příšernou práci. A přitom taková blbost, co?

+1
+5
-1
Je komentář přínosný?

dik za clanok.
Ja ako spectrista som nakoniec skoncil s raspi A+ a emulatorom.
Trochu zamrzi, ze ani 128 ani ZX80 mi uz nefunguju, tento firmware pre arm stroj sa da v podstate rozbehat aj na rikomagic MK802 (1 verzia) ale nejak ma nenadchol

+1
0
-1
Je komentář přínosný?

Zkoušel jste emulátor fuse? ZX80/81 neumí (teda minimálně ne v mém sestavení), ale ZX128 a mnohé nestandardní klony ano.

+1
0
-1
Je komentář přínosný?

Prima pocteni na vecer... A propos, je to immuni vuci Spectre? :-)

+1
+3
-1
Je komentář přínosný?

Ano, ale je nutno prolévat rumem (viz zkratka Spect-rum)

+1
+5
-1
Je komentář přínosný?

Aha, a taky trochu uranu proti meltdown? Uplne to vidim - jeden rum-uran; protrepat, nemichat.

+1
+1
-1
Je komentář přínosný?

Konečně píše někdo o Spectru a měl ho někdy v ruce. U současných webzinů docela vzácnost...

+1
+3
-1
Je komentář přínosný?

Kdo ho v ruce nemel ;) jakoby nebyl...

+1
+1
-1
Je komentář přínosný?

Já neměl :-( Jenom Gamu.

+1
0
-1
Je komentář přínosný?

Díky! Potěšilo...
Jinak boží ptákovina, hehehe.
Někdo si pěkně vyhrál, s tím FPGA. To musí být správný šílenec.

Nedíval jsem se, co ta Altera vlastně umí - takže netuším, jak to je technicky udělané, zda:
1. Altera dělá Z80, ALU, plus ten zbytek... a ARMv7 tam je jenom pro naloudění té Altery a pomocné věci - třeba to prohlížení paměti (debugger), diskový manager, ...
2. Altera dělá jen ALU, plus ten zbytek... a v ARMv7 jede softwarový emulátor Z80.

Hezčí by samozřejmě byla ta první varianta... Co z toho platí, pane autore?
Škoda, že jste se více nerozepsal, jak jsou ta střeva udělaná (nebo jsem dneska nějaký nepozorný čtenář)...

+1
0
-1
Je komentář přínosný?

Zmiňoval jsem v článku, že ARM slouží primárně k tomu, že nahrává do FPGA obsah, neemuluje. Nicméně zároveň má na starosti obsluhu periferií a jejich interakci se Spectrem, které je v FPGA. Takže je to vlastně někde mezi, ale mnohem blíž k variantě 1.

+1
+3
-1
Je komentář přínosný?

Aha. To jsme se oba trefili s odpovědí do stejného okamžiku.
Mezitím jsem kouknul, že to má jen 8256 "hradel", tak jsem získal dojem, že Z80 by se do toho "nevešel". Intel 8080 měl tuším 4,5 tisíce hradel a Z80 o dost více - protože má velké množství instrukcí navíc. A tenkrát se instrukce ještě "pevně drátovaly", není to dělané žádným vnitřním RISCem a mikrokódem v paměti. Tak mě přišlo, že i s tou ULA to už je na realizaci málo.

Kdysi jsem si pro zábavu dělal v C++ emulátor "Bobíka" (8080 se říkalo Bobo), přičemž jsem to psal pro legraci obvodově - tj. programoval jsem jednotlivá hradla a registry přímo jako by to byl hardware - a co si (ne)pamatuji, bylo to dost složité, hradel v tom je "jako máku". Tenkrát jsem se právě rozmýšlel, zda si udělám Bobíka nebo rovnou Ziloga, a Z80 jsem zavrhnul, jelikož byla o dost složitější. Ale jak píšu, podrobnosti se mi už vykouřily z hlavy.

Další fakt, který mě přesvědčil, že to musí být emulované softwarově tím ARMem, je že to umí jen 8x rychlost původního Gumáka. A přitom ta Altera umí jet na 260 MHz hodinách. Takže kdyby to bylo "plechový", tak by to umělo jet značně rychleji.

Tak ještě doplněk - koukl jsem, že Z80 má 158 instrukcí, přičemž 8080 měla 77. K tomu má Zilog zdvojené registry a plno dalších vlastností... Takže jsem sice nenašel, kolik hradel měla realizace, ale vzhledem k 4,5 tisíce u 8080 to muselo být o dost více, tj. násobek 2-3x. Tudíž moje resumé je, že do té Altery se to spolu s tím ALU nemůže vejít.

A tudíž je celý bazmek dělán emulací přes ARM. Varianta 2.
FPGA dělá jen tu ULA, pravděpodobně. Navíc nevím, nečetl jsem dokumentaci k tomu Cyklone II FPGA - zda to umí realizovat sekvenční automat s vnitřními stavy, tj. zda to má registry (paměti) nebo tím jde dělat jenom kombinační logika. Vzhledem k tomu, že v přehledu vlastností na cover sheetu nic o pamětech nepíší, bych tedy soudil, že to je jenom to jednoduché "kombinační" FPGA.

+1
0
-1
Je komentář přínosný?

To je krásný a dlouhý komentář, ale není to pravda. Z80 je tam implementována ve FPGA, tady jsou zdrojáky ve VHDL: https://github.com/mborik/speccy2010/tree/master/fpga/src/cpu

Ten ARM mikrokontrolér má jen 256kB programové a 16 kB datové RAM, nejsem si jist, jestli by se tam vešla emulace Z80 + to vše ostatní, co ARM dělá. Každopádně CPU je prostě ve FPGA.

+1
+2
-1
Je komentář přínosný?

Tak to je skutečně fantastické!

Jak píšete, neměl jsem čas se podívat na tu dokumentaci k bazmeku, na VHDL už vůbec. Ráno mě napadlo, že jsem se zmýlil, jelikož 8080 měla sice zhruba 4,5 tisíce, ale tranzistorů - ekvivalentních hradel tam bylo asi jenom tisíc. Tím pádem i Z80 musela mít tak 2-3 tisíce, takže ta implementace v Cyklone II je možná. Jak jsem psal, realizací "Bobíka" jsem se zabýval před cca 25-ti lety... (v důsledku jedné sázky - původně jsem to chtěl postavit skutečně "naostro" z ALS obvodů TTL logiky, nakonec jsem to tak jenom naprogramoval - fungovalo to).
Před autorem se hluboce skláním, udělat něco takového zaslouží obdiv. I když je to - z pohledu normality - naprostá šílenost. :-) :-) :-)

Jinak do toho ARMu by se emulátor vešel, 256KB programové paměti je dost na všechno (Bill Gates to sice říkal o 640 KB, ale ...).

+1
+2
-1
Je komentář přínosný?

Koukám, že se nikdo nemá k odpovědi, tak jsem to musel zjistit sám.
Popsaný typ FPGA má jenom 8256 logických prvků, 516 bloků logických polí...
Takže s tím zajisté tak relativně složitý procesor jako Zilog Z80 udělat nejde.

Tím pádem platí varianta 2 a samotný Z80 je emulovaný tím ARMem softwarově.
Na jednu stranu to je škoda - bylo by to více zábavné - ale šlo určitě o cenu, protože na realizaci procesoru by bylo potřeba o něco lepší FPGA a ta jsou pak kapánek dražší.

+1
-1
-1
Je komentář přínosný?

Hezká recence :-) Už chybí jen obligátní benchmarky, nějaké to porovnání FPS ve hrách a tak :-)

No, vlastně by mě docela zajímalo, jestli je Castle Master a spol. dobře hratelné v turbo režimech a nejenom, je víc her, které fungovaly hodně na hranici... A turbo režim v emulátoru ani zdaleka nemusí být totéž jako na reálném hardwaru, záleží jestli 50Hz přerušení zůstane na 50Hz, nebo se taky zrychlí, má to vliv na hraní hudby, čtení klávesnice... Některé hry (Wolfenstein 2004?) jsou na to i stavěné.

Jako velmi kompaktní Spectrum pro hraní a vývoj to je super.

Bohužel není pravda "Nebere nám nic z toho, na co jsme na Spectru byli zvyklí a přidává mnoho nového." ... já mám u podobných hraček skoro vždy problém s tím, že k nim nejde připojit další hardware, třeba tiskárna, plotr, modem, roboruka... Nemá-li vyvedenou sběrnici, pak alespoň některá z variant paralelního nebo sériového portu by byla fajn. Ale i tak je pro nekutily Speccy 2010 velmi dobrou volbou. Fakt je, že většina lidí připojí nanejvýš joystick, nebo myš.

Právě proto jsem si ostatně objednal ZX Spectrum Next, protože má reálnou sběrnici údajně kompatibilní s originál ZX Spectrem. Uvidíme, třeba o něm pro změnu někam napíšu recenzi já (až bude v lednu - čímž narážím na to, že ho slibovali na leden 2018, ale projekt se ukázal být poněkud rozsáhlejším než autoři počítali, nicméně pokračuje a blíží se k cíli).

+1
0
-1
Je komentář přínosný?

Benchmark tam je, BASICový, ukazuje zrychlení počítače v Turbo módu.
Jinak samotné Turbo ponechává 50 Hz, nicméně co počet přerušení mění, je vybraná frekvence zobrazovadla - já to předem netušil, ale když máš VGA @ 75 Hz, máš 75 přerušení do sekundy - hardware nemá dost prostředků na to, dělat to separátně. Uvedená tabulka tak je na 75 Hz :-)

A co se týká Nextu, právě Next byl důvod, proč Martin Bórik začal na Speccy2010 dělat - v té době totiž dle dostupných informací Next ani nedodržoval korektní časování Spectra, trochu vysoká daň za sběrnici. Možná to od té doby už vychytali, nicméně mám ZX Evo, mám Speccy2010 a nemám nejmenší důvod pořizovat Next, na kterém je nejzajímavější akorát ta bedna. Kdyby to autoři udrželi v rámci rozumných parametrů, ještě bych to bral, ale dopadlo to jako klasická kickstarterová kampaň - přidávali, přidávali a nakonec velkého zlého psa bolelo z dortu bříško.

+1
0
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.