Vlákno názorů k článku Hardcore vývoj a ladění programů pro osmibitová Atari s využitím Turbo Monitoru a tabulky instrukcí od MilanV - Ach. Zelená obrazovka s oranžovým nadpisem... Děkuju, konečně...

  • Dnes 1:39

    MilanV

    Ach. Zelená obrazovka s oranžovým nadpisem... Děkuju, konečně cítím vůni domova! :D

    Pokusím se shrnout, jak tehdejší situace razantně měnila úhel pohledu na to, co dnes vypadá spartánsky. Jsou osmdesátá léta, máte na stole právě jeden počítač a k němu nic než kazeťák. A joystick, pokud vám pomůže :) Pomiňme teď úpravy cizích programů, to už zmiňuje článek, a zaměřme se na vlastní projekt.

    I když napíšete program v nějakém assembleru, tak při zkušebním spuštění vašeho kódu na "holém stroji" máte přesně nula možností ho ladit. Vím to, dělal jsem si čárky :) Proto i pro projekty psané např. v MAC65 má monitor velký smysl a nijak si nepřekáží. A TM byl na to dobře optimalizovaný. Ano, chyběl mu aspoň primitivní assembler - kolikrát jsem si ho přál! - ale jinak:

    * už v článku je vidět, jak reset je de facto další funkční klávesa - tj. pokud se testovaný program omylem vyhne vámi nastraženému BRK, máte vždy možnost návratu do pracovního prostředí beze ztráty jakýchkoliv dat
    * jelikož se nemaže žádná paměť, ani ta rozšířená, máme zachovaný i tzv. ramdisk - máte najednou k dispozici superrychlý disk, co přežije i reset. Tak se nemusíte bát ani samomodifikujícího kódu apod.
    * jak je vidět z tohoto popisu, během celého ladění, i opakovaného, jste nemuseli šáhnout na kazeťák. Oproti tomu víte, že až se vrátíte do assembleru, znamená každé takové kolečko použít kazeťák cca 4x. (Jenom když jste si FAKT jistí, že se laděný program spořádaně vrátí do DDT, si můžete zariskovat a vynechat kazetové kolečko.)

    Takže co, jak se vám chce zpátky do MAC65? Nezůstanete raději co nejdéle v TM? :D

    Samozřejmě tohle byla jen ukázka - chtěl jsem, aby vyniklo, jak se může lišit úhel pohledu. Dnes máme emulátory s vlastním monitorem, tak proč psát v dalším, který nemá ani assembler a na obrazovku se vejde 20 řádků, že... Ale tehdy byla situace jiná, jak jsem se snažil popsat.

    Pochopitelně se lidi snažili vylepšit si život i v tom assembleru. Tady v ČR např. opět dalším důležitým programem z dílny JRC: TTDOS. Tak jste i v assembleru a při spuštění vašeho programu měli k dispozici rychlý ramdisk. Veliká úleva!
    No a největší machr byl jeden technik z pražského Atari klubu který si sehnal druhé Atari a ubastlil si nějaký ladící kabel mezi nimi a měl tak kompletně HW řešení. Vím o jednom v republice - a bohužel už nemám kontakt a nepamatuju si, jak to měl udělané...

  • Dnes 2:01

    MilanV

    P.S.: Stejně nevěřím nikomu, že psal programy pouze přímo na Atari, na těch cca 20 řádcích. Podle mě nešlo v tom udržet přehled, takže čtverečkovaný sešit byla stejně nutnost - a je úplně jedno, jestli v assembleru nebo v monitoru nebo čemkoliv.

    U toho G-device jsem zkusil si pomoct aspoň v tom demu v BASIC, jestli si někdo všiml: pojmenoval jsem si proměnnými jednotlivé procedury, abych si mohl vypsat vždy tu, co zrovna ladím, a ty jsem se snažil udržet v rozsahu jedné obrazovky. Např. jsem tedy mohl napsat:

    LIST GINIT, GINIT+99

    V assembleru je ale téměř nemožné se pokaždé vejít do cca 20 instrukcí...