Jdi na obsah Jdi na menu
 


13. 11. 2022

Jak jsem upgradoval ZX Spectrum Next

Článek navazuje na první zmínku o Nextu, kterou jsem sepsal před neuvěřitelnými pěti a půl lety. Je to jeden z prvních článků na tomto mém blogu. Od té doby je už Next na světě v plné parádě a těší se oblibě mezi spectristickými fandy. Takže tady jsou moje zkušenosti s ním...

ZXS Next unboxing

ZX Spectrum Next jsem si objednal na Kickstarteru z Británie za 175 liber v roce 2017 včetně krabičky s klávesnicí a přišel mi v dubnu 2020. V té době zrovna vrcholila hysterie okolo pandemie covidu, všude byla karanténa, policejní zátarasy, člověk se bál vyjít na ulici bez roušky. U mě doma probíhala v té době rekonstrukce bytového jádra a přespával jsem kvůli tomu v práci. Takže jsem se k Nextu dostal až v září.

Henrique Olifiers & Rick Dickinson

Musím zde v prvé řadě poděkovat hlavnímu organizátorovi a propagátorovi tohoto skvělého projektu, kterým je Henrique Olifiers (na fotce vlevo). Ten zajistil úspěšnou výrobu krabiček a klávesnic pro Next, podle původního návrhu Ricka Dickinsona (na fotce vpravo), který bohužel během příprav na výrobu zemřel. Rick je autorem designu originálních krabiček pro ZX-81 a ZX Spectrum. Henrique vyjednával výrobu postupně s několika čínskými firmami, které vyrábějí klávesnice pro notebooky. Nakonec se našel jeden výrobce, který byl ochotný krabičku a klávesnici pro tento unikátní stroj vyrobit.

ZXS Next Case design

ZXS Next prototype parts

Spolupráce to nebyla vůbec snadná, o čemž Henrique průběžně informoval na Kickstarteru a v e-mailových oběžnících. Například byl docela problém domluvit se s výrobcem na správném odstínu barev u čtyř barevných proužků, které zdobí pravý bok Nextu. Červená prostě nebyla červená, ale spíše do oranžova, atd. A také si Číňani pletli pořadí barev ve spektrácké duze.

ZXS Next color plugs

Nakonec se vše podařilo a nová verze ZX Spectra se mohla v roce 2020 začít zasílat k natěšeným fandům. Souběžně s vývojem obalu a klávesnice probíhal i vývoj dalších funkcí hardwaru a softwaru pro ZXS Next. K vývoji softwaru se přidávali i legendární programátoři originálních her pro ZX Spectrum, jako jsou bratři Oliverové (série Dizzy) nebo Jim Bagley (Rusty Pixels).

Henrique Olifiers & Jim Bagley

Jim Bagley (na fotce vpravo) vytvořil mimo jiné i novou verzi hry Jetpac (Baggers in Space) s využitím rozšířené grafiky Nextu. Hru Baggers in Space (Pytláci ve vesmíru nebo možná "Baťůžkáři ve vesmíru", což je mi bližší) jsem měl možnost vyzkoušet na Bytefestu 2021 a musím říct, že je to opravdu zdařilý remake původní hry Jetpac od fy Ultimate. Nejen, že oplývá nádhernou škálou barev, kterou poskytuje nový čip ULAplus, ale hratelnost je stejně vynikající, jako u původního Jetpacu, který se dočkal i remaku pro Windows. V nové verzi přibyly podzemní úrovně, což dává hře nový rozměr. Kanystry s palivem musíte občas dolovat pěkně hluboko ze země.

ScrollNutter demo from Rusty Pixels

Jim také vytvořil pěkné demo ScrollNutter, které je součástí standardního balíku software Nextu. Demo ukazuje skvělé možnosti práce s grafickými vrstvami. Scrolling je naprosto plynulý a za efekty by se nemusela stydět ani Amiga 1200. Jim si zde právě z Amigy půjčil efekt se skákajícím červenobílým míčem (Boing Ball), který je ústředním motivem jeho dema (má jich tam hned několik). Na Amize šlo kdysi o první demonstraci jejích grafických možností. A rotující červenobílá šachovnice na míči byla animována pomocí rotace barevné palety. Čili levné a rychlé řešení.

BASIC Nextu je oproti Spectru rozšířen o práci s fonty, sprity, vrstvami, atd. Níže je malá ukázka použití fontů.

ZXS Next BASIC fonts

Po první seznamovačce s novým BASICem Nextu, jsem zatoužil vyzkoušet možnost emulace vlastní ROMky a použil jsem obsah ROM z Didaktiku Gama '88, který stále opatruji doma ještě z 90. let.

Didaktik Gama 88 ROM

Emulace funguje bezvadně. Zobrazil se nápis (c) 1988 Didaktik Skalica :-)

Didaktik Gama 88 ROM

Didaktik byl v některých věcech lepší než Spectrum (měl opravené chyby v ROM, hlavně funkční obsluhu NMI) a některé věci měl horší (nefunkční hry kvůli opraveným chybám v ROM, např. Frankenstein). Ale měl jsem ho stejně rád.

ZXS Next cassette loading

Úspěšně jsem také vyzkoušel načítání souborů z kazet a čínského diktafonu přes audio vstup Nextu. A to bylo prozatím vše, co jsem na Nextu těch několik dní v září 2020 zkoušel. Jelikož jsem tak nějak stále pokračoval s post-apo úpravami a úklidem bytu po jarní rekonstrukci. A kvůli nedostatku času, chuti (někdy i čichu) a absenci manželky v tom pomalu pokračuji dodnes.

Znovu jsem se k Nextu dostal až na jaře 2021, kdy jsem vyzkoušel implementaci systému CP/M Garyho Kildalla, na kterém jsem si vyzkoušel mimo jiné i Microsoft Basic a v něm pár stažených programů.

ZXS Next CP/M commands

Millionaire in Microsoft Basic

Millionaire in Microsoft Basic

Pak se mi podařilo spouštění systému CP/M úspěšně nabořit tak, že mi odmítal z menu Nextu nabíhat. Jel jsem koncem října 2021 do Prahy na Bytefest, odkud jsem si dovezl, kromě zážitků, covida a do Vánoc jsem se z toho vzpamatovával. Tak jsem to CP/M opět zprovoznil až začátkem roku 2022. Zažil jsem s tímto systémem jednu dojemnou chvíli, kdy jsem si v něm četl textový soubor s oznámením o úmrtí Garyho Kildalla, který CP/M kdysi vytvořil. A tak jsem pak šáhl po knize Mikropočítačová revoluce od Pavla Tronnera, kde se o tomto pionýrovi počítačového věku Pavel podrobně rozepisuje.

Gary Kildall died

Po nákupu modulu Raspberry Pi Zero (RPi) jsem Next upgradoval na akcelerovanou verzi. Tenkrát se Raspberry Pi dalo ještě sehnat na Aliexpressu za nějakých cca 400 Kč (přesněji $16). Dnes už je podstatně dražší (asi 5x) neboť covidová pandemie zasáhla i oblast elektroniky a způsobila, že se někam vytratily veškeré dostupné zásoby křemíku na planetě a není z čeho vyrábět procesory. Křemík je jinak nejrozšířenějším prvkem ve vesmíru, ale tahle planeta je jakousi podivnou vyjímkou. Pravidelně se zde uměle vytváří pocit nedostatku různých komodit, aby se mohly zvyšovat ceny a malá skupina mocných mohla z této situace maximálně profitovat.

ZXS Next Raspberry Pi Zero upgrade

Na kartu pro RPi jsem nahrál systém NextPi_0_99D (upravená verze distribuce DietPi) pomocí linuxového příkazu dd:

sudo dd if=./NextPi_20190929.img of=/dev/sdb status=progress bs=4M

Nahrávání je nutné nechat doběhnout, dokud bliká LED na čtečce!!! Pak teprve kartu odebrat.

ZXS Next Raspberry Pi Zero NextPi

S Raspberry se v Nextu komunikuje přes I2C a lze k tomu využít přiložený terminál Terminex, který umožňuje spouštět příkazy vestavěného Linuxu NextPi.

ZXS Next Terminex

ZXS Next Terminex

Modul Raspberry je v Nextu využit hlavně jako akcelerátor pro náročné operace jako je přehrávání mpeg audia, práci s archívy zip, apod. Samotný neakcelerovaný Next jinak umožňuje použít frekvenci až 28 MHz. Což je ale na některé operace stále málo. Díky RPi je možné přehrávat zvukové moduly z Amigy (MOD, S3M) a hudební MP3 soubory přímo z vestavěného Browseru (souborový manažer). Akorát chvíli trvá, než se zvolený zvukový soubor nahraje do paměti RPi přes poměrně dost pomalé interní sériové rozhraní (i několik minut, podle délky souboru). Raspberry prý slouží i jako podpora pro možnost spouštět soubory typu TZX. To jsem zatím nezkoušel. Používám standardní TAPky a SNApshoty. Prý je možné RPi využívat i na balení souborů do ZIP archívů. To jsem zatím taky ještě nezkoušel.

Později jsem si ještě přikoupil černé plastové sloupky (šestihranné M3x12mm a zkrátil je asi o 1mm) a plastové šroubky M3 k podepření a fixaci modulu RPi. Ale není to úplně nutné. Modul drží na pinech Nextu dostatečně pevně.

ZXS Next RPi nylon stands

Do Nextu jsem přidal i piezo repráček (Beeper). Jelikož nepoužívám zobrazování na televizi přes HDMI (přes který jde i zvuk), ale jen monitor přes VGA. Takže zvuk musím řešit samostatně. Použil jsem jeden malý válcový beeper z PC a zapájel jeho vývody rovnou do desky (na fotce níže je vpravo dole).

ZXS Next RTC + Beeper

Na druhou stranu plošáku jsem, dle doporučení, k němu paralelně připájel ochranou diodu proti napěťovým špičkám.

ZXS Next Beeper diode

Repráček sice funguje, ale zvuk je velice slabý. Takže se hodí spíše jen jako klávesnicová zvuková odezva a příposlech u příkazů LOAD a SAVE než na rozumné přehrávání audia.

Podobně slabý zvuk jde i z audio výstupu na zadní straně Nextu. Ve sluchátkách je zvuk tak málo slyšet, že jsem se rozhodl si pro tento účel vyrobit malou přenosnou aktivní reprobedýnku. Jelikož v paneláku velké bedny stejně nelze používat, kvůli sousedům. Použil jsem na to elektroniku, ustřiženou z vyřazených PC reprobedýnek. K tomu jsem si koupil malý reprák 8 ohmů. A napájím to USB kabelem přes malý vestavěný modul s mikro USB zásuvkou. Protože je zvuk u tohoto řešení možné přehrávat pouze mono, smíchal jsem zvuk ze stereo výstupu Nextu do mono pomocí dvou odporů. Hraje to docela pěkně a hlavně se to dá zesílit na rozumnou úroveň hlasitosti.

ZXS Next repro box

Největší patálie jsem však zažil při instalaci a oživování obvodu hodin reálného času (RTC). Krystal pro RTC jsem nakoupil v GME, patici pro baterii CR2032 jsem vypájel ze staré základní desky a obvod DS1307 jsem nakoupil ve velkém (10 ks) ve verzi DIL na Aliexpressu. Příliš nízká cena (tenkrát pouze $1.15 za 10 ks) mě však měla varovat. Při oživování jsem zjistil, že zakoupené obvody jsou zřejmě nějaké fejky, protože s nimi RTC na Nextu nefunguje. Měl jsem na obvod DS1307 v Nextu nachystanou patici DIL8 (viz foto o kus výše). Zkoušel jsem jich asi 5 a žádný nefungoval. Tak už to někdy na čínských tržištích bývá. Tak jsem zvážil další postup a rozhodl se nakonec koupit celý RTC modul z GME. Je na něm obvod DS1307 v SMD provedení, patice na baterii i krystal. Obvod DS1307 jsem z modulu odfoukl horkovzduchem a připájel ho na malou redukci SOIC8->DIP8. Tu jsem pak vložil do DIL patice na desce Nextu.

ZXS Next RTC module unsolder DS1370

No, zjistil jsem, že obvod RTC s tímto IO tentokrát již funguje. Ale zvolené zapojení redukce na patici je příliš vysoké a asi by nešla zašroubovat krabička Nextu.

ZXS Next RTC DS1307 too high

Tak jsem odfoukl horkovzduchem tentokrát DIL8 patici z desky Nextu a připájel vyzkoušenou redukci s obvodem DS1307 natvrdo přímo do desky Nextu bez patice. A tak to mám dodnes a zatím to funguje.

ZXS Next RTC DS1307 socket unsolder

ZXS Next after upgrade

V návodu k Nextu je postup, jak získávat přesný čas z časového serveru přes wifi modul. Tím se dostávám k poslední hardwarové úpravě, kterou jsem na Nextu dělal. A tou je instalace ESP8266 Wifi modulu (na horní fotce vlevo pod RPi Zero). Modul jsem sehnal za babku na Aukru. Už jsem nechtěl riskovat nákup z Číny. Modul funguje skvěle. Kromě nastavování přesného času může posloužit pro přenos souborů přes wifi do Nextu nebo v budoucnu možná i k brouzdání po Internetu.

Nastavení synchronizace času je popsáno v manuálu na straně 260. Pro středoevropský čas (CET) je nutné, po úspěšné aktivaci wifi spojení, spustit následující příkaz:

.nxtp time.nxtel.org 12300 -z=CET

Níže je foto pro Greenwichský čas GMT (to jsem ještě nevěděl, jak na to).

ZXS Next RTC upgrade working

Pro fajnšmekry je zde ještě připravená možnost zvýšení paměti až na 2MB. K tomu je potřeba zakoupit a nainstalovat do patic paměťové čipy. Já jsem tuto možnost zatím nevyužil, protože mi připadala zbytečná. K čemu probůh tolik paměti ve Spectru??? Já vím, u CP/M se to může hodit. Ale jinak to asi člověk běžně moc nevyužije.

Ještě jsem chtěl na závěr zmínit pěkný projekt NextDows (DuefectuCorp), což by měly být něco jako Windows pro Next. Čili plocha, okna, ikony, atd. No, zatím je to ve fázi, kdy funguje jen plocha a některé ikony, jako je zobrazení systémových informací - viz obrázek níže. Nicméně je to pěkné a tak držím autorovi palce, aby to někam dotáhl.

ZXS Next NextDows

Jinak musím pochválit vývojový tým Nextu za skvělý hutný tištěný uživatelský manuál. To už je v dnešní době u takového kickstarterového projektu opravdu luxus. Borci to dotáhli téměř k dokonalosti. Jen najít víc času si s tím skvělým novým Spectrem pořádně pohrát.

ZXS Next Cowsay

Koukám, že v září vyšla nová verze updatu (22.09). Asi je čas upgradovat.

See you later in the Next time!

***

Související odkazy

ZX Spectrum Next User Manual
ZX Spectrum Next Wiki
Oficiální stránky projektu ZXS Next
ZX Spectrum Next na Kickstarteru
Instalace CP/M na ZXS Next (Youtube)
NextPi_0_99D ke stažení
Pár užitečných tipů pro práci s Nextem (PDF)
Články Pavla Tronnera na PC tuningu

 

Náhledy fotografií ze složky ZXS-Next

Komentáře

Přidat komentář

Přehled komentářů

RPi

Shrek, 15. 11. 2022 5:20

Ahoj,

RPi se v Nextu nepoužívá na hraní náročných her, ale v současné době se používá pouze na lisování TZX souborů a přehrávání módu. 28 MHz umí Z80 ve FPGA nativně a RPi k tomu nepotřebuje.

Jinak je v článku pár nepřesnosti. Přesto jsem si ho rád přečetl.

Díky.

Re: RPi

Pedros, 15. 11. 2022 12:29

Ahoj a díky za reakci a opravu. Ano, koukám do manuálu, že ten režim 28 MHz je tam už v základu. To jsem nevěděl. Já to testoval až s RPi. Je tam toho hodně, co si musím ještě nastudovat. Tak se omlouvám za drobné nepřesnosti. Text jsem trochu upravil, abych někoho nemystifikoval :-)