EN
Devastace monitor- screen version
version: 1 (21.11.2018)
works on: 128 +2 fitted with Profi Interface, or MB-03 Ultimate, or any hardware that is able to read paging port 23.
original autor: Universum, further adaptations: Velesoft, Hood
Nine years ago Velesoft released successful adaptation of well known Devastace. He removed dependency on ZX ROM which meant Devastace was able to page SRAM on MB-02+ from address 0, trace, step, monitor, etc. Few days ago I returned to his version on my disc but it failed to work. For its good function it is neccessary to have paging port 23 readable, which do not work on plain MB-02+. Velesoft solved it with a special Kmouse firmware where port 23 was read in from a special Kmouse port 219. But after 9 years this did not work for me somehow. So I decided to brush it up a bit and fix it so that I can fully use Devastace advantages.
Where shall I take port 23 value from? Very easy indeed with my hardware, I use Velesoft's Profi interface which stores the value in a special port #84FD (34045). So I rewrote original port 219 to 34045 and Devastace run smoothly again.
So what's new in version 1 (let's assume Velesoft version as 0)? I added two things. During quit with SS+Q OUT 23,64 is carried out, meaning you do not have to bother about what page is paged in lower memory. Devastace will always correctly quits to where you started it. I also added diplaying of port 23 on the main Devastace screen just left from the cursor. On the pictures you can see value 255 or #FF left from the cursor, that is port 23 value.
I would love to add also port 23 choice pressing a special key but I do not know if there will be enough space in Devastace. At the same time, Universum's routines are very sophisticated, I do not know if I break them. Now you have to switch SRAM using instructions ld a,page_number and out (23), by either typing them or your code have to have them, then you carry out functions SS+Z or SS+X= you carry them out, ie. SRAM paging. This could be planned for version 2 as well as make casette functions work for MB-02+. Now only function S works (half way), save block of bytes to tape.
In the zip there is also a version for MB-03 Ultimate (is it the first program for this emerging brand new interface?:). The only change is in the port value where 23 is used instead of 34045. If you have any hardware able to preserve port 23, place the port number in register BC on the address #5BBE and it will work for you. Some info about version 0 Devastace you find here. For both Velesoft's version 0 and mine version 1 it was neccessary to use print buffer from address #5B00 so you have to bear this in mind. If you have your program placed in this area you need to pick up original Devastace to trace it successfully.
The original Devastace manual in English is here. Czech manual is in the zip file.
CZ
Monitor Devastace- obrazovková verze
verze: 1 (21.11.2018)
určeno pro: 128 +2 vybavené Profi Interfacem, nebo MB-03 Ultimate, nebo kterýkoliv jiný hardware, který umí číst stránkovací port 23.
původní autor: Universum, další úpravy Velesoft, Hood
Před devíti lety vydal Velesoft úspěšnou předělávku známé Devastace. Tenkrát v ní odstranil závislost na ZX ROM, což znamenalo, že Devastace uměla na MBčku stránkovat i SRAM MBčka od adresy 0, trasovat v ní, krokovat, prohlížet, atd. Nedávno jsem se k této verzi vrátil na svém disku, ale zjistil jsem, že mi nefunguje. Bylo totiž nutné pro její úspěšné fungování mít čitelný port 23, což neupravené MB-02+ neumí. Velesoft čitelnost portu tenkrát vyřešil speciálním firmwarem pro Kmouse, kde se poslední nastránkovaná hodnota portu 23 vyčítala z portu 219. Jenomže po devíti letech mi toto prostě nefungovalo a tak jsem se rozhodl, že to upravím, aby mi šla tato verze Devastace používat.
Kde ale vezmu hodnotu portu 23? U mě zcela jednoduché, mám přeci v počítači Velesoftův Profi Interface, který umí uložit poslední hodnotu portu 23 na port #84FD (34045). Takže po přepsání portu z původního 219 na 34045 se Devastace opět rozběhla.
Co je nového v této verzi 1 (dejme tomu, že Velesoftova verze je verze 0)? Doplnil jsem dvě věci, jednak při výskoku přes klávesu SS+Q se současně provede OUT 23, 64, tedy se nemuísíte starat při výskoku, jakou stránku máte dole připnutou, Devastace se korektně vrátí tam, odkud jste ji spustili. Dále jsem doplnil zobrazení portu 23 a to hned vlevo od kurzoru na základní obrazovce. Na obrázcích vidíte hodnotu 255 či #FF vlevo od kurzoru, to je port 23.
Rád bych v budoucnu ještě doplnil volbu portu 23 přes nějakou klávesu, ale nevím zda na toto bude v Devastaci místo, a taky rutiny Universuma jsou velmi zapeklité, tak nevím, zda se mi to podaří. Nyní musíte přepnout SRAM pomocí instrukcí ld a,číslo_stránky a out (23),a, tedy je musíte buď přímo napsat, nebo je musí váš kód již obsahovat a vy provedete funkci trasování SS+Z nebo SS+X
, čímž tyto instrukce (přepnutí SRAM) vykonáte. Každopádně byl by to plán pro verzi 2, kde by se i pro MBčko daly zprovoznit kazetové operace pro MBčko, nyní funguje (i tak napůl) jen funkce S- uložení bloku dat na kazetu.
V zipu je i verze pro MB-03 Ultimate (že by první software pro tento vznikající řadič?:). Jediné změna je v hodnotě portu, místo zmíněného 34045 se používá 23. Pokud máte jakýkoliv hardware, na kterém můžete vyčítat port 23, pak jej umístěte na adresu #5BBE do instrukce ld bc,XX a bude vám to také fungovat. Pokec k původní Devastaci verzi 0 najdete zde. Jak ve Velesoftově verzi 0 tak v této verzi 1 bylo nutné využít 255 bajtů print bufferu od adresy #5B00, tak s tím počítejte a pokud chcete trasovat svůj program právě v této oblasti, musíte použít Devastaci originální.
Manuál k původní devastaci najdete v zipu. V angličtině je tady.