7. mája 2019

Speccy2010 v1.2.4

Čože?! Ešte ste ani nestihli aktualizovať svoje Speccy2010 na verziu 1.2.3 a už vás tu zas otravujem s novou? No... ja plním len svoje predsavzatie častejších releasov. Tentoraz prinášam pár užitočných zmien a vylepšení pre váš komfort...

TL;DR: More info about Speccy2010 v1.2.4 at the end of the article »

Tento rapídny pokrok, ktorý viedol k tejto verzii majú na svedomí ľudia, ktorým sa musím týmto poďakovať. Už keď som vyrážal na FOReVER, mal som v hlave ideu, či by bolo možné zastúpiť NMI menu ESXDOSu a spúšťať tapky priamo z File Managera. Predsavzal som sa na to opýtať priamo tých najpovolanejších, ktorých konštelácia sa tam vyskytla. Miguel ma nakopol tým správnym smerom a sprístupnil API dokumentáciu, za čo mu ďakujem a ub880d mi bol v nasledujúcich týždňoch veľmi nápomocný a pomohol mi to "napichnutie" služieb ESXDOSu odladiť. Keď už som bol vo švungu, pridal som ešte aj autoload TRD súborov, takže výsledkom je pohodlné načítavanie TAP a TRD s dlhými názvami priamo zo vstavaného File Managera pri vybranom diskovom interface DivMMC a načítanom ESXDOS - netreba loziť do NMI menu, dokonca ani nemusíte mať načítané NMI.SYS. 😉

Ďalšími dôležitými zmenami prešiel test klávesnice. Práve ub880d upozornil na viacero nezrovnalostí pri testovaní kláves, hlavne pri kombináciách Ctrl, AltShift. Všetky problémy by nateraz mali byť úspešne eliminované. Ďalej: Keďže sa ku mne dostal feedback, že mnoho nových užívateľov Speccy2010 tápa a zo začiatku sa nevedia zorientovať, bolo treba im sprístupniť help-file "na prvú dobrú". Nastavenie turbo režimov sa tak presunulo pod [Alt+F1..F4] a klávesa [F1] tak ostala voľná na vyvolanie nápovedy. Je tak prístupná odvšadiaľ: Za behu mašiny, z File Managera či debuggera.

Čo mi už dlhé mesiace ležalo na TODO zozname bola práca so snapshotmi. Nakoniec ma k ich kompletnému prepracovaniu "dokopal" užívateľ azesmbog, ktorý sa objavil na GitHube, za čo mu samozrejme patrí moja vďaka. Výsledkom je, že načítavanie a ukladanie snapshotu je sprevádzané príjemným progress-barom a stavy registrov sa načítavajú či ukladajú priamo do alebo zo Z80 (a nechcite vidieť tie špinavé triky, aké sa k tomu využívali v pôvodnom kóde od Syda :)). Ohľadom snapshotov som nakoniec už iba doplnil takú blb... ehm, drobnú feature, že [Alt+F6] umožní zadať cestu k snapshotu, ktorý sa okamžite načíta. Zároveň si ale pamätá cestu k poslednému načítanému či uloženému snapshotu, čo ocenia asi hlavne pařmeni opakujúci dookola nejaký problémový úsek hry.

Potom sa ozvala Andrea, že sa jej cnie za tučným fontom. V skutočnosti, ja som s bold fontom do budúcna naozaj rátal a v kóde som ponechal všetko, čo bolo so zmenou fontu spojené (dokonca aj záznam v .ini bol stále prítomný), len pri prerábke GUI sa mi nechcelo ďalšie fonty kresliť. Tak som jej skúsil navrhnúť, či sa jej nechce tučný font nakresliť a poslal link na ten súčasný štandardný (aby boli navzájom kompatibilné s grafickými znakmi). Prakticky obratom mi dodala krásne štýlový tučný font a okamžite som ho zapracoval. Veľká vďaka Aki!

Vylepšoval sa debugger, lebo zle vypočítaval aktuálne nastránkované časti DivMMC v oblasti ROM a zobrazoval tak blbiny. Pridal som taktiež možnosť zmeniť aktuálne zobrazovanú adresu jednotne v oboch pohľadoch (disassembling či dump) pomocou klávesy [M]. Medzi ďalšie featury pribudli klávesové skratky [Alt+F5], ktorá navodí stav po resete a [Alt+F6], ktorá načíta zadaný súbor snapshotu a debugger sa ocitne v stave, v akom bol snapshot uložený. Všetci vývojári dúfam chápu prínos tohto pokladu. 😍

Nakoniec už iba telegraficky: Užívateľ azesmbog sa sťažoval na časovanie Pentagonu, no neváhal a poslal hneď opravný patch - jediný riadok - ktorý to opravil, čo zároveň zázračne opravilo aj časovanie ZX-48 a "našlo" sa aj brzdenie procesora ULou v polovici inštrukcie. Čo dokáže jeden riadok... Ďalšie opravy a zmeny, ktoré umožnili fungovanie snapshotov a vylepšovali debugger si síce vyžiadali, že im musel ustúpiť testovací obrazec (monoskop?), ktorý sa do FPGA už proste nevošiel, ale kto z vás ho kedy využil...?
A ďalšia položka na mojom TODO zozname je listing TAPky vo File Manageri, čo určite poteší nielen Aki... takže stay tuned!

Na záver budem osobný a musím poďakovať svojej manželke, ktorá mi túto moju kratochvíľu ešte stále toleruje, až sa tomu sám divím. Ďakujem za všetko!
Keďže releasujem deň pred štátnym sviatkom, verím, že víťazstvo nad fašizmom oslávite s touto novou verziou, že tak strávite pár pekných chvíľ s našim milovaným ZX-Spectrom a pomôže vám to nemyslieť na to, že do parlamentov naprieč Európou sa dostávajú živly s fašistickými názormi či programami.

PS: Ak sa vám tento projekt páči a máte účet na githube, môžete ho podporiť tým, že si ho pridáte medzi obľúbené (hviezdička). Nevyrieši to globálne oteplovanie a nebudú vďaka tomu nižšie ceny nehnuteľností, ale urobíte mi tým jednoducho radosť.

[ Speccy2010 v1.2.4 ]

...and the last few words for english readers:

As you probably know, I've took control over the Speccy2010 project and now I'm releasing new version with these features:

changelog v1.2.4:

  • enhanced capabilities when the ESXDOS is loaded into DivMMC: Autoloader of TAP or TRD files directly from File Manager (without accessing NMI menu)
  • redefined snapshot loading and saving, now with direct accessing Z80 registers and eye-candy progress-bar
  • new feature: load snapshot of given filename [Alt+F6]
  • slightly modified keyboard layout (see help file)
  • massive refactor of key-modifiers handling (thanks to ub880d)
  • help file [F1] is accessible from everywhere
  • bold font is back (thanks to Akio)
  • improved debugger (fixed DivMMC paging calculations, added [M] key to change cursor in both Trace/Dump windows, hotkeys to reset [Alt+F5] and load SNA [Alt+F6] and trace immediately)
  • fixed some timing issues (thanks to azesmbog)
  • removed video testing pattern to fit the changes into FPGA

More info, sources and issue tracker on the project's github pages »
If you like this project, please consider to star and watch it on the github. ;)

1 komentár: