Képernyőtörlés
Képernyőtörlés

Valószínűleg már kezdenek unalmassá válni a hellók, és az A betűk, csináljunk valami izgalmasabbat!

Van már működő Turbo Assemblerünk , így mindenki töltse be, indítsa el, és gépelje be a lenti kis szösszenetet.

010-code11.jpg

Miután mindenki kiszörnyülködte magát, hogy mi is ez, lássuk lépésenként.

  • LDA, LDX ... Az A legyen nulla, és X legyen $FF. Világos.
  • STA ... a (képernyőram kezdete + X) -edik byteba írjuk ki ezt a nullát. Ahem, semmi extra, ...
Turbo Assembler
Turbo Assembler

Azok akik lelkiismeretesen, az emulátor előtt ülve saját maguk is végigcsinálták az eddigi feladatokat, már kezdik érezni, hogy ez bizony elég nehézkesen és nyögvenyelősen megy.

Például a programunk módosítása, ha mondjuk új utasításokat szeretnénk már meglévőek közé beszúrni. 

Az Action Replay beépített monitorja még így is nagy segítség volt persze, de ha komolyabb dolgokat szeretnénk csinálni, és némileg kényelmesebben, akkor bizony ...

Végre egy "Helló világ!" :)
Végre egy "Helló világ!" :)

 Fussunk át gyorsan rajta, hogy mit is tudunk eddig.

  • Ismerünk néhány assembly utasítást ( LDA , STA ), amivel képesek vagyunk byte-okat írni a memória megadott címeire
  • Tudjuk, hogy ha a $0400 -tól kezdődő memóriaterületre írunk, az megjelenik a képernyőn, mint karakter
  • Emellett, ha a $D800 -tól kezdődően befolyásolni tudjuk a karakterek színeit

Világosan látszik, hogy minden ismeret rendelkezésünkre áll egy jó kis "Hello világ" programhoz.

...

Írjunk a képernyőre!
Írjunk a képernyőre!

Miután sikeresen kihevertük az előző programunk fáradalmait, itt az idő, hogy valamiféle szöveget írjunk a képernyőre. Mint eddig is, kezdjük kicsiben, aztán majd haladunk a bonyolultabb dolgok felé.

Ehhez viszont legelőször nem ártana tudni, hogy hogyan, és miből épül fel a képernyőn látott kép.

A VIC-II grafikus chip  háromféle módot tud kezelni, ezek közül az egyik a bekapcsolás után látható, jól ismert ún. "karakteres" képernyő. A másik kettő ...

Az első assembly programunk
Az első assembly programunk

Eljött végre a pillanat, amit mindenki annyira várt! Rendhagyó módon mi most nem egy HELLO WORLD-el kezdünk, hanem valami sokkal látványosabbal. Ami nem mellesleg sokkal egyszerűbb is, mint egy Hello World, valamint segít megalapozni a továbbiakat.

Izzítsuk be az emut, tehénkedjünk az Action Replay menüjében az F7 -re (fastload), és írjuk be az alábbi parancsot:

POKE 53280,13

006-poke.jpg

Az enter leütése után valami csoda történik, és a kék keret világoszöldre ...

A teljes képernyős szerkesztő és egy kis BASIC
A teljes képernyős szerkesztő és egy kis BASIC

Nem akarok túlzottan belemenni ebbe a részbe, de mégis hasznos lehet azoknak, akik még sosem láttak 64-est.

Bekapcsolás után a következő menüt látjuk, amennyiben a VICE megjegyezte a cartridge fileunkat:

004-boot.jpg

Itt F3-at nyomva a normál mezei C64 módba kerülünk, amit nem szeretnénk, mert nem véletlenül szenvedtük bele azt a fránya Action Replayt. Aki rátapad az F7-re, az eljuthat a felpimpelt C64 mennyországba. Én most F3-mal haladok tovább, csak az egyszerűség ...

Telepítsünk, installáljunk!
Telepítsünk, installáljunk!

Mivel már valószínűleg mindenki unja a rizsázást, meg a hülye elméletet, csapjunk a közepébe, és rakjuk össze a kis "development" környezetünket.

Jelenleg a windowsosoknak kedvezünk, a linux userek úgy sejtem, hogy megoldják maguktól is a telepítést a lentiek alapján.

Mivel valószínűleg keveseknek van otthon igazi, működő Commodore 64-e, na meg az eredeti vason való fejlesztés mai szemmel nézve eléggé brutális, ezért tisztább, szárazabb, és ...

Néhány szó a processzorról
Néhány szó a processzorról

Nem célom mélységeiben belemenni a mikroprocesszorok evolúciójába, sem pedig belső működésébe, de néhány dolog azért jó ha az elején elhangzik, mert a későbbiekben még nagyon hasznos lesz. Pár alapfogalom, ami jelenleg csak hablatynak tűnik, de nagyban segíti majd a későbbiek megértését.

És minden assemblyhez kell némi hardver ismeret is, mivel ugye, ahogy az előzőekben elhangzott, ez egy low level cucc, és erősen hardverközeli dolog. Szóval előbb-utóbb ...

Mi az az assembly
Mi az az assembly

Első lépésként lehet érdemes lenne tisztázni, valójában mi is a programozás.

A Wikipédia szócikk nem ad túl sok támpontot nekünk, mivel:

Számítógép-programozás (vagy egyszerűen programozás) egy vagy több absztrakt algoritmus megvalósítását jelenti egy bizonyos programozási nyelven. A programozásban megtaláljuk a művészet, a tudomány, a matematika és a mérnöki tudomány elemeit.

Hát köszi a semmit internet! 

Az én, egyszerű, ...

Miért pont assembly, és kinek jó ez?
Miért pont assembly, és kinek jó ez?

Én még azon generáció egyik szerencsés tagja vagyok (értsd: boomer), akik megélhették a 80-as, 90-es években a magyarországi számítástechnika kibontakozását és (fel)virágzását.  Így visszatekintve azokra az időkre, bizony sokminden megmosolyogtató már, de gyerekek voltunk még, és bizony ahogy a mondás tartja, egy újszülöttnek minden új.

Valóban hihetetlen élmény volt számunkra a sok színes-szagos masina, hiszen akkoriban rengetegféle ...

C64 assembly alapok

Friss topikok

  • Heretic83: Sziasztok! Tudnátok ajánlani olyan tudástárt, ahonnan lehet tanulni bővebben az assembly programoz... (2023.07.13. 19:15) Mi az az assembly
  • tájbor1001110: Válaszolva a saját kérdésemre: Az End+o -val lehet 5 szín séma között váltogatni. (2022.09.20. 21:14) Turbo Assembler
  • tájbor1001110: Ne haragudj, aludtam rá egyet és észrevettem hogy a "*=$1000" direktívából hiányzik a '$'. (((: Bo... (2022.09.16. 08:56) Képernyőtörlés

Címkék

süti beállítások módosítása