AMIGA REVIEW online
  Uvodná stránka     Software     Hry     Obaly     Download     Kniha návštev     Amiga na PC     Amiga Forever  

Chodníčkem blíž, cestičkou spíš

Jan Petkov

Od dob starých dobrých osmibitů snad nebyla žádací jiná platforma v takové oblibě u programátorů v assembleru jako naše Amiga. Nebylo to ovšem zapříčiněno pouze intuitivním programováním procesorů MC680x0, ale také jejich pomalostí. Mále-li úmyslu konkurovat intelovským paticím žhaveným na stovkách MHz, nezbývá než šlápnout chudákovi Motorolce trochu na krk. A výsledek se brzy dostaví - Guru Meditation se stane naším důvěrným společníkem. Aby těch červených okýnek a blikajících ledek bylo co nejméně, připravil jsem si pro vás několik doporučení a rad od samotných vývojářů starého dobrého Commodoru, budiž, jim platforma lehká.

Používejte funkce operačního systému všude kde je to možné. Když už to jinak nejde, tak použijte znovu operační systém a teprve pak uznáte-li to za vhodné, přistupujte přímo k hardwaru Amigy.
Neskákejte do ROMky. Přesněji řečeno - nenechte svůj soft skákat do ROMky. Nevěřte žádnému programu, který podniká nekalé výpady na území $F80000 až $FFFFFF. Toto rozmezí je rezervováno pro paměť ROM, která se mění rychleji než názory politiků. Taky vám nikdo nezaručí, že tam ROMka opravdu bude. Pro komunikaci s ROMkou máte k dispozici knihovny, devices a resourees.
Nesnažte se modifikovat nebo spoléhat na kteroukoli privátní strukturu systému, narazíte. Toto varování zahrnuje i copper-listy, memory-listy a báze knihoven.
Jen šílenec ve svěrací kazajce a nezkušený coder může spoléhat na některou z pevných adres, strukturu nebo paměť. S každou novou verzí systému se všechno radikálně, dynamiky a neuvěřitelně mění. Jediná jistota v sypkých píscích pouště ADOSu je adresa $4, kde sídlí ukazatel na bázi „exec.library“. Ale ani za to bych Amigu do ohně nedal.
Pamatujte na to, že všechna data vyžadující DMA musí sedět v CHIP paměti (týká se grafických dat, samplů, trackdisk buferu a copperlistů!). Pro ty méně zkušené programátory v assembleru připomínám direktivu „SECTION“, která vám dovolí rozhodit části programu do různých typů pamětí (např.: „SECTION MůjProgram, CODE_C“ přesměruje následující kód do CHIP-RAMky).
Neexperimentujte se zákaznickými chip registry (od adresy $DFF000)! Občas vám může některá z adres sloužit za generátor náhodných čísel, příště však bude dobrá jen pro generování náhodného GURU meditation. Pokud není daná adresa někde publikovaná, zanechte ji svému osudu jako buchtičku v tanečních. Nejsou-li některé bity v registrech využity, nulujte je při zápisu a ignorujte při čtení.
Netlačte data za aktuální konečnou adresu zákaznických chip registrů, je jen otázkou času, kdy se právě na tom místě objeví něco nového a pro vaše mírumilovní data velmi nepřátelského.
Každý ze zákaznických chip registrů je utčen buď pro čtení nebo pro zápis, nezapisujte do registrů pro čtení a nečtěte registry pro zápis. Nehrajte si s nimi jako kočka s myší.
Ani koutkem oka nešilhejte do nedefinovaných oblastí paměti, mohli by se vám zjevit velmi nepěkné věci.
Při volání funkcí systému jsou obnoveny všechny registry kromě D0-D1/A0-A1. V D0 je navrácen výsledek pro test úspěšnosti funkce (v A6 je báze knihovny).
Hardware Amigy si nerozumí s instrukcí TAS, bude jen dohře když ji vypustíte ze slovníku spisovných instrukcí. TAS je možno nahradit instrukcemi BSET echo BCLR.
Na strobovací adresy (např. COPIJMP) nepouštějte CLR! U staré dobré 68000 má instrukce čtecí a nulovací cyklus, u novější řady procesorů jen nulovací. Kromě toho je MOVE přeci jenom rychlejší.
Ve svých programech nepoužívejte instrukce, které jsou na daném procesoru privilegované (jako je „MOVE SR,<ca>“), místo nich zneužijte systém („GetCC()“). Při adresaci předpokládejte vždy plnou 32 bitovou adresu.
Až bude váš program napsaný a náhodou bude chodit, nezapomeňte jej otestovat na co nejvíce konfiguracích, však vás ten optimismus přejde...

Vytlačiť článok


© ATLANTIDA Publishing Všechna práva vyhrazena.
Žádna část nesmí být reprodukována nebo jinak šířena bez písemného svolení vydavatele.



Amiga na Vašem PC rychle, snadno a zdarma!


none

AMIGA REVIEW

57 ( 11-12 / 2000 )
56 ( 9-10 / 2000 )
55 ( 7-8 / 2000 )
54 ( 5-6 / 2000 )
53 ( 3-4 / 2000 )
52 ( 1-2 / 2000 )
 
51 ( 12 / 1999 )
50 ( 11 / 1999 )
49 ( 10 / 1999 )
48 ( 9 / 1999 )
46-47 ( 7-8 / 1999 )
45 ( 6 / 1999 )
44 ( 5 / 1999 )
43 ( 4 / 1999 )
42 ( 3 / 1999 )
41 ( 2 / 1999 )
40 ( 1 / 1999 )
 
39 ( 12 / 1998 )
38 ( 11 / 1998 )
37 ( 10 / 1998 )
36 ( 9 / 1998 )
35 ( x / 1998 )
34 ( x / 1998 )
33 ( 1-2 / 1998 )
 
32 ( 11-12 / 1997 )
31 ( 9-10 / 1997 )
30 ( 7-8 / 1997 )
29 ( 6 / 1997 )
28 ( 5 / 1997 )
27 ( 4 / 1997 )
26 ( 3 / 1997 )
25 ( 2 / 1997 )
24 ( 1 / 1997 )
 
23 ( 12 / 1996 )
22 ( 11 / 1996 )
21 ( 10 / 1996 )
20 ( 9 / 1996 )
18-19 ( 7-8 / 1996 )
17 ( 6 / 1996 )
16 ( 5 / 1996 )
15 ( 4 / 1996 )
14 ( 3 / 1996 )
13 ( 2 / 1996 )
12 ( 1 / 1996 )
 
11 ( 12 / 1995 )
10 ( 11 / 1995 )
9 ( 10 / 1995 )
8 ( 9 / 1995 )
7 ( 7 / 1995 )
6 ( 5 / 1995 )

ATLANTIDA NEWS

5 ( 3 / 1995 )
4 ( 1 / 1995 )
 
3 ( 11 / 1994 )
2 ( 9 / 1994 )
1 ( 7 / 1994 )
0 ( 5 / 1994 )