Vývojové prostředí DevX85

Aktuální verze1.0
PožadavkyWindows 10 (32 i 64 bitový systém), .NET Framework 4.7.2.
Podporované cílové platformyPMD85-1, PMD85-2, PMD85-2A, PMD85-3
DownloadDevX85_1.0.zip

Pár slov

Vývojové prostředí slouží k pohodlnému vývoji programů na výše uvedené platformy. Součástí prostředí je:

  • překladač Macro Assembler
  • emulátor ePMD85
  • debugger
  • editor obrázků s exportem do několik formátů

Instalace

Vývojové prostředí se aktuálně nemusí instalovat, stačí stáhnout archiv z výše uvedeného odkazu, rozbalit do některého adresáře a spustit DevX85.exe.

Založení projektu

Projekt se zakládá výběrem šablony na úvodní stránce. Aktuálně jsou k dispozici jen dvě šablony – jednou z nich je demonstrační hra Bombarder, druhým je Hello, world!

Spuštění překladu

Klávesovou zkratkou F5 se spustí překlad projektu a jeho spuštění v mém emulátoru ePMD85. Jiné emulátory (např. od RM-TEAMu) nejsou podporovány.

  • Projekt Bombarder je nakonfigurovaný tak, že překladem vznikne .pmd a .ptp soubor, který se v emulátoru automaticky načte jako páska a spustí.
  • Projekt Hello, world! se naopak jen načte do paměti a ve spuštěném emulátoru se musí zadat JUMP 0000.

Ladění

Stiskem klávesy ESC v emulátoru se emulace pauzne a ve vývojovém studiu se ukáže místo pauznutí. Pokud k pauznutí došlo v místě, ke kterému lze najít zdrojový kód, otevře se toto místo i ve zdrojovém kódu. Dále je možné krokovat (F10/F11) a nebo pokračovat v emulaci (F5).

Během ladění je k dispozici panel s informacemi o registrech a paměti. Údaje lze měnit a tak ovlivňovat další průběh emulace.

Před spuštěním i během emulace lze také vložit libovolný počet breakpointů (poklepání na levý okraj řádku a nebo stiskem F9) a docílit tak zastavení v potřebném místě.

Za zmínku stojí ještě „write break point“ WBP – pokud se aktivuje (kliknutím na text WBP), dojde k pauznutí emulace při zápisu na uvedenou adresu. Mnohokrát mi to pomohlo najít příčinu nežádoucího přemazání kódu.

Princip složení projektu

Poklepáním na některých ze zdrojových souborů v průzkumníku se spustí jeho editace. Pokud je projekt tvořen více .asm soubory, je nutné jeden z nich nastavit jako hlavní (např. main.asm – viz nastavení projektu) a ostatní do něj vnořit (direktivou include). Překládá se právě jen tento hlavní soubor.

Vývojové prostředí disponuje také jednoduchým editorem grafiky – výstupem je textový soubor s příponou .inc, který musí být také includován do hlavní .asm souboru. Např. šablona „Bombarder“ generuje binární soubor main.bin podle následujícího schématu:

Pokud má překladem vzniknout obraz pásky (.pmd/.ptp soubor), překladem generovaný main.bin se doplní o hlavičku a (volitelně) o loader/logo – zdrojové soubory jednotlivých částí lze opět nalézt v nastavení projektu:

Poslední možností je generování image pro ROM modul. Pro tento účel se vybírá sekundární hlavní soubor – může být stejný jako hlavní asm soubor, ale vzhledem k začlenění samospouštěcího kódu je lepší ho definovat zvlášť:

Jak je vidět, projekt „Bombarder“ umí jediným překladem vygenerovat soubor pásky i ROM verzi – v další kapitole bude ukázáno jak obě verze pohodlně odladit.

Způsob spuštění

V nastavení projektu lze vybrat jeden z těchto způsobů spuštění programu po překladu:

  • Načíst do RAM – soubor main.bin (viz předchozí kapitola) se načte do paměti RAM od adresy 0000. V emulátoru se dá spustit napsáním JUMP 0000 (nebo SHIFT + DEL pro verze 2/2A/3)
  • RAM + spuštění“ – do RAM se načte soubor main.bin, automatické spuštění je zajištěno tak, že se do v emulátoru do ROM modulu „vloží“ kód, který na verzi 2/2A/3 sám spustí a skočí na adresu 0000. Asi nejlepší volba v prvopočátcích vývoje.
  • Vložit pásku – v emulátoru se použije soubor .ptp jako soubor pásky. Pro spuštění se musí zadat „MGLD 00“
  • Vložit pásku + AUTOLOAD – jako předchozí případ, do ROM modulu se vloží zavaděč, který spustí automatické načítání z pásky.
  • Vložit ROM modul – použije se binární verze souboru, který je uveden jako zdroj v položce „ROM modul (exe.)“

Grafický Editor

Grafický editor edituje soubory s příponou gfx. Jeden gfx soubor může zahrnovat několik obrázků různých velikostí a exportovaných formátů. Např. níže uvedený screenshot zachycuje editaci souboru sprites.gfx z demonstrační hry Bombarder. Konkrétně je pro editaci vybrán obrázek s názvem gfxAirplane1. Jeho exportovaná podoba (která je v souboru sprites.inc) je vidět na pravém panelu.

Ve zdrojovém kódu se pak můžeme odkazovat názvem gfxAirplane1 jako na adresu, kde jsou data uložená.

Pixelová editace:

  • levé tlačítko myši – nastaví pixel na zvolenou barvu (ta je vidět jen při zatržení volby „zobrazit barvy“)
  • pravé tlačítko myši – vyčerní pixel
  • prostřední tlačítko myši – nastaví bit v masce (ta je vidět jen při zatržení volby „včetně masky“)
  • shift + prostřední tlačítko myši – nuluje bit v masce

Další grafické operace editor nemá, složitější obrázky dělám raději v nějakém jiném editoru (např. Photofiltre) a z něj přes schránku kopíruju do obrázku.

Pár tipů k vývojovému prostředí

  • poklepáním na název projektu v průzkumníku se otevře složka projektu
  • v asm editoru se vpravo aktualizuje seznam návěští. Vynechávají se ty, které začínají tečkou nebo podtržítkem
  • v asm editoru podržením klávesy CTRL a kliknutím na název (např. návěští v jmp instrukci) se prohledají otevřené soubory s deklarací tohoto symbolu.
  • v asm editoru klávesou CTRL+K dojde k automatické naformátování kódu
  • pro použití Z80 syntaxe stačí použít direktivu cpu z80:
   cpu  z80
   ld   a, b
   cpu  8080       
   mov  a, b

One comment

  • „Požadavky Windows 10 (32 i 64 bitový systém), .NET Framework 4.7.2“

    Proč takové nesmyslné požadavky? Když se při kompilaci .NET nastaví na 2.0, program poběží i na Windows 2000. Škoda, rád bych vývojové prostředí zkusil, ale desítky z důvodu šmírování používat nehodlám…

Přidat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *