V předchozím článku jsem popsal režim LoRes neboli Radastan: 128 krát 96 bodů, šestnáct barev a příjemně lineární framebuffer. Při psaní dema pro Forever 2027 jsem ale několikrát potřeboval spočítat ještě méně bodů. A tak jsem sešel o patro níž. Ne do tajného registru ZX Spectrum Next, ale k malé softwarové lsti.
Po cca dvou měsících jsem dnes vypustil NextDash - další hru pro ZX Spectrum Next. Dnes ráno mne překvapil Martin Bórik, když mi poslal hudbu do této hry s tím, že ji má už skoro hotovou. Během dopoledne poslal finální verzi a tak veřejnému releasu nic nebránilo. Ale jak už to tak bývá, hned po releasu se objeví porodní bolesti - prostě generálský efekt.
Bow Commander je file manager pro ZX Spectrum 128K s DivMMC. Poslední dobou do něj přibývají nové funkce a s nimi jsem narazil na limit, který s mým způsobem programování občas nastane: paměť. Nakonec mě to donutilo změnit způsob, jakým jsou některé části programu uložené a spouštěné.
Tak si tak nějak pracuji na Bow Commanderu (máte se na co těšit), ale přesedlal jsem na souborový manažer pro Next - Calm Commander. A to z jednoho důvodu - měl jsem tam rozdělaných více věcí a chtěl jsem je dotáhnout do konce - a popravdě tam i přidat věci na kterých právě dělám v Bow Commanderu.
Tak si v klidu — tedy v rámci možností, protože venku panuje šílené vedro — programuji věci pro Forever 2027, když mi přišlo upozornění z itch.io. Někdo přidal komentář k Bow Commanderu.
Pracuji na demu pro Forever 2027 (ano, raději dříve než později). U dem se totiž velmi snadno stane, že člověk v lednu prohlásí, jak má všechno krásně rozmyšlené, v únoru začne psát první efekt a v březnu zjistí, že Forever byl minulý víkend. Tentokrát jsem tedy začal s předstihem a když jsem přemýšlel jak celé demo pojmu, narazil jsem na režím LoRes - ano, demo bude pro ZX Spectrum Next. Na papíře vypadá tento režim skoro podezřele skromně: 128 krát 96 bodů, 16 barev a 6144 bajtů videopaměti. Jenže přesně tahle skromnost z něj dělá velmi užitečný nástroj. Obraz je dost malý na to, aby jej Z80N zvládal přepočítávat v reálném čase, ale pořád dost velký na tunely, plasmy, metabally, deformace, částicové efekty, jednoduché 3D nebo pořádně barevný herní svět.
Nerad bych aby někdo nabyl dojmu, že dnešním článkem o Next Pack 2 mi stoupla sláva do hlavy a budu se jen chlubit těmito relativně malými (pro mne) "úspěchy". Po několika dnech práce na Bow Commanderu, který je určený pro klasické ZX Spectrum 128k s EsxDosem, jsem se opět podíval na Calm Commander. Přidal jsem několik novinek, ale popravdě mne už nápady opouštějí (když pominu různé pluginy na soubory), ale přesto si myslím, že to co jsem přidal tam mělo být od začátku.
Co je to Next Pack 2? Je to balíček pěti her pro ZX Spectrum, které vyjdou fyzicky na SD kartách s pěkným obalem, s manuálem a se vším co k tomu patří. A jedna z těch her, která v tomto bundelu vyjde je Next Hexagon. Ano, moje hra vyjde na fyzickém nosiči s manuálem a pěkným obalem.
Jelikož nejsem tak kovaný v EsxDosu špatně jsem pochopil práci s disky v tomto systému. Myslel jsem si, že když mám na DivMMC dva sloty na SD karty, mám k dispozici pouze dva disky. Proto předchozí verze fungovala pouze style - switch disk. Přepínal se mezi dvěmi disky - HD0 a HD1. No jenže, ono to tak není, na SD kartě můžete mít i partitiony a EsxDos s nimi umí pracovat. Proto jsem na žádost UB880D práci s disky překopal.
Jelikož se mi sešlo několik požadavků na update souborového manažera Bow Commander od různých uživatelů (většina z ciziny, ale ozval se i Sweet), dal jsem si teď na chvilku pauzu od vytváření her pro ZX Spectrum Next a pověnoval jsem se tomuto programu. V nové verzi 1.1 jsou pouze dvě novinky, ale většina z nich se točila jen kolem nich, takže se dá říci, že jsem vyhověl 95% požadavků. Zbytek žádostí byl na migraci tohoto programu pro +3ku a její rozšížení pro IDE zařízení.
Znáte rage games nebo troll platformery? Já ano — a právě tento typ her mě velmi baví. Jejich hraní bývá neuvěřitelně stresující. Nikdy totiž nevíte, co vás čeká, a rozhodně se nemůžete spolehnout na to, že k vám hra bude férová. Každá zdánlivě bezpečná plošina může spadnout, každý nevinný předmět vás může zabít a cesta, která vypadá správně, může být jen další past. Přesto mají tyto hry něco, co vás nutí vracet se znovu a znovu. Teď už to určitě vyjde. Ještě jeden pokus. A tentokrát opravdu naposledy…
V poslední době se o mně šíří zvěsti, že své programy nedokončuji a že mezi projekty přeskakuji jako roztěkaný králík. Pojďme si proto udělat menší souhrn toho, na čem jsem letos pracoval, co jsem dokončil a v jakém stavu jsou aktuálně rozpracované projekty.
Na Slacku v kanále #z80 jsem s tím už trochu otravoval, ale stále hledám hudebníka pro svůj další herní projekt pro ZX Spectrum Next. Začal jsem pracovat na hře NextDash, která je, jak už název napovídá, inspirovaná legendární hrou Geometry Dash. Alespoň podle mých dětí je legendární. Jako obvykle jsem však narazil na jeden drobný problém – v naší grupě nemáme hudebníka. Ano, pořád tomu říkám grupa, i když v ní je prakticky jen jeden člověk. :) Proto se obracím na veřejnost s prosbou o pomoc s hudbou.
Nečekal jsem, že to bude tak rychle, ale moc jsem toho nenaspal a v současné době bych asi více Bow Commander neposunul a tak ho dávám širokým masám k vyzkoušení. Berte prosím ohled na to, že se v programu mohou nacházet chyby a jistě se nějaké najdou, tak to některým lidem udělá jistě radost. Spoustu věcí jsem měl hotové (např. z Calm Commanderu), proto byl vývoj i tak rychlý, ale přesto jsem je musel mnohdy ohnout a přizpůsobit (viewer, editor, kopírování, info o adresáři...).
Tak, jestli jste teď z nadpisu článku zmateni, tak je to dobře. Chvilku Vám budu vyprávět o tématu nesouvisícím se ZX Spectrem či jinými 8-mi bitovými počítači. Prostě dnes jsem koukal na nového Robina Hooda, kterého ztvárnil Hugh Jackman - ano Wolverin. Věděl jsem, podle názvu filmu, že se nebude jednat o žádnou slaďárnu a těšil jsem se na něj. Nebyl jsem ale spokojený... a teď jste ještě více zmateni, že? Proč píši o něčem co nebylo pěkné a nelíbilo se mi. Film jsem viděl totiž viděl v původním znění - pořád se tam objevovalo slovo "BOW" (což u filmu o Robinu Hoodovi není překvapující). Ale mě napadlo, slovo BOW použít u názvu mého dalšího nového programu.
Já vím, jsem s tím otravný. Pořád nějaké opravy, nové verze programů. Říkáte si, proč prostě nepíšu bezchybnaté programy, ale to jsem já. Nejsem dokonalý, neumím to a za těch spoustu let jsem se to prostě nenaučil a pravděpodobně nenaučím.
Dnes jsem vydal další verzi NextPlayeru, který opravuje primárně vyhledávání v adresáři. Na chybu mne upozornil Mike/ZT s tím, že ne úplně dokonale toto vyhledávání funguje. No dobře, přiznávám, nefungovalo vůbec. Ale co je důležité, podařilo se mi to opravit a vše je již tak jak má být a NextPlayer umí vyhledávat.
Je tu menší, ale velmi praktická aktualizace zaměřená na rychlejší navigaci a opravený plugin pro přehrávání hudby. Možná to někomu přijde chaotické (a možná také je), ale mám rozděláno několik projektů najednou a věnuji se jim na střídačku. Takto mi to vyhovuje a hlavně se nenudím - týden se věnuji CalmCommanderu a řeším pluginy, nové funkce. Pak se přesunu k NXPaint a řeším grafické věci. Další týden NextForge, nebo SpeccyWeb, nebo ... však mi rozumíte.
Od posledního článku jsem vestavěný assembler v NextForge posunul zase o kus blíž k tomu, aby nebyl jen syntaktická kontrola jednoho otevřeného souboru. Největší změna byla jednoduchá na napsání do seznamu věcí, které ještě nefungují, ale o něco méně jednoduchá na implementaci: include už opravdu otevírá další soubor a parser ho projde jako součást assembly. A k tomu se konečně začalo chovat rozumně i incbin.
Ten kdo mne zná, ví že neumím programovat bezchybnatě. Proto jsem dnes vydal novou verzi Next Playeru 0.73 pro EsxDos a klasické ZX Spectrum. Našel jsem pár chybiček, několik mi jich bylo nahlášeno a jedna chyba byla pro mne velmi nepříjemná - jednalo se o STP soubory.
Když jsem začal dělat ZXDebugGUI, nechtěl jsem psát vlastní emulátor ZX Spectra. To by byla práce na roky
a hlavně zbytečnost, protože Fuse (který roky používám) už emuluje Spectrum velmi dobře. Potřeboval jsem jen způsob, jak Fuse
ovládat zvenku a dostat z něj stav počítače zpět do svého debuggeru.
Ne, nechci to zabalit, koupit si vícebitové Atari a hrát si na to, že je to ZX Spectrum. To, co chci dnes oznámit je to, že jste se po šesti letech dočkali hudebního přehávače NextPlayer ve verzi pro ZX Spectrum 128k a EsxDos. Mám radost, že se to povedlo, ale popravdě jsem trošku zklamaný…
Ten kdo mne zná, ví, že často programuji pro ZX Spectrum na PeCi (samozřejmě rád programuji i na realném Speccym a až dokončím NextForge, tak asi nic jiného používat nebudu, ale používání PeCe se prostě nevyhnu). K ladění používám velmi často debuger daného emulátoru, ve kterém zrovna můj program spouštím. Ale popravdě tyto debugery mi prostě nesedí a vadí mi... highend vlastnost těchto debugerů je mnohdy pouze breakpoint a tím to hasne. Nevím jak vy, ale já jsem odkojený Prometheem a ten měl výborný debuger a tak jsem si někdy minulý rok řekl, že si udělám debuger nad nějakým emulátorem. Dostal jsme to do stádia, že to nějak fungovalo, občas jsem to použil, ale ve výsledku to nebylo něco čím, bych se chtěl pochlubit - nevypadalo to hezky a občas to nefungovalo. V poslední době jsem si tento program vzal trošku do parády... abych se mohl pochlubit. :)
Poslední týden bylo nesnesitelné horko, tak jsem Speccyho zapínal opravdu jen výjmečně a PeC (na kterém programy pro ZX vyvýjim) jsem po práci většinou hned vypl... byldíme ve 3. patře přímo pod střechou a od rána jsem měl v pracovně přes 31 stupňů, což není pracovní prostředí, ve kterém se dá něco tvořit. Ale přesto jsem po nocích (kdy se teplota snížila, ale přesto se nedalo spát) po chvilkách pracoval na programu NXPaint.
Calm Commanderu 1.1 je venku, což už víte z nadpisu tohoto článku. Možná se ptáte, proč jsem neuveřejnil článek o verzi 1.0... prostě jsem to nestihl. Místo článku o verzi 1.0 jsem pracoval na dot commandech .copy, .del, .dirinfo a článek o verzi Calm Commanderu 1.0 jsem odkládal. Odkládal jsem ho tak dlouho, až jsem našel v Calm Commanderu chyby (opravil je) a přidal textový editor...
Abyste si nemysleli, že se jen chlubím vystřižky ze Speccy magazínů, tak tato "sláva" mi nestoupla do hlavy a dál se snažím pracovat na mých programech aby byly lepší - no prostě opravuji chyby, které se objevili při testování. Dnes to bylo hlavně o stabilizaci výběru, vkládání a transformaci obrázků při zoomu. Při testování se ukázalo, že některé starší části kódu stále počítaly s měřítkem 1:1, což se projevovalo hlavně u vloženého výběru, jeho rotace a následného načítání obrázků.
Vyšel nový Next Magazine a v něm se objevilo několik článků a minirecenzí na mé hry (Dice8Next, Next Hexagon) a programy (NextIRC, SpeccyWeb, PixelPaste). A ano, potěšilo to... ;)
Teď už vím, že se ke článku oznamující Calm Commander 1.0 nedostanu - ne snad proto, že bych ZX pověsil na hřebík :), ale proto, že jsme našel jednu záludnost v CC a opravil ji, takže nová verze je 1.01 a článek o ní vyjde zítra, Ale dnes chci psát o aktualizovaném dot příkazu .copy a dvou nových příkazech .del a .dirinfo.
Jak jsem psal včera - vydal jsem Calm Commander 1.0 a jedna z jeho novinek byla i kopírování adresářů a podadresářů a to do hloubky 11 podaddresářů. Uveřejnil jsem tuto novinku na FB stránce ZX Spectrum Next s tím, že si chvilku odpočinu, ale rozhořela se tam diskuze o tom, proč není Calm Commander dot command. Je to jednoduché - protože já ho jako dot command nikdy nechtěl - popravdě si myslím, že by to bylo kontraproduktivní. Calm Commander zabírá spousttu místa - LFN i 8.3 jména souborů/adresářůnačteného adresáře si drží v paměti, při kopírování si ukládá data do co největší části paměti, pluginy sami o sobě také něco sežraly (myslím tím paměť). Ale nějak se tam ve mne zrodila myšlinka udělat několik dot příkazů - kopírování, delete a dirinfo. A dnes bych Vám rád představil příkaz copy.
Dnes jsem vydal Calm Commander 1.0, ale o tom tento článek není - byť by si to článek zasloužilo, ale to necháme na jindy.... Calm Commander totiž umí konečně kopírovat adresáře, včetně podadresářů a jejich podpodadresářů a jejich podpodpodadresářů. Jelikož je v Calm Commanderu hodně málo místa odkládal jsem tuto funkcionalitu dokud to šlo. Ale když jsem minulý týden zavedl něco, čemu se říká pluginy (na prohlížení txt souborů, nebo obrázků, poslouchání hudby...), řekl jsem si, proč neudělat rovnou systémový plugin, který bude řešit rekurzivní kopírování souborů. Takže místo toho, aby se kód vykonával v hlavní paměti (i když nevím, kde bych ji popravdě vzal), místo toho se zavolá externí systémový plugin syscopy.ccp. Hlavní program pouze připraví kontext, nahraje plugin do paměti, předá mu zdrojovou cestu, cílovou cestu, jméno adresáře a několik služeb, přes které může plugin komunikovat zpět s Calm Commanderem.
Verze 0.94 přináší dva nové pluginy pro prohlížení souborů, upravené barevné schéma a několik oprav chyb z předchozí verze. Já vím, zanedbávám NXPaint a SpeccyWeb, ale CalmCommander potřeboval péči jak koza drbání. Doufám, že se Vám tyto novinky budou líbit.
Vezměme to pěkně chronologicky odzadu. Mám doma Speccy 2010, jsem s ním spokojený. Je vidět, že aktuální firmware vyvíjí člověk, který na ZX Spectru (resp. Speccy2010) […]