&&------------------------------------------------------------------------------
WERKEN MET DE AMIGA HARDWARE-REGISTERS                                 DEEL 04
------------------------------------------------------------------------------

COPPERKOMMANDO : SKIP

Het derde kommando van de Copper is het SKIP-kommando. SKIP slaat het volgende
kommando over, maar alleen als de beeldschermregel al bereikt is.
SKIP heeft de zelfde syntax als WAIT, alleen wordt nu i.p.v. -2 de waarde -1
gegeven als 2e woord.
SKIP kan ook gebruik maken van een masker, net zoals WAIT.
Een voorbeeld :

   ;
   ; LISTING 5
   ;

   ORG  $40000
   LOAD $40000

   x:
   MOVE    #$4000,$DFF09A     ; Interrupts uitzetten
   MOVE.L  #cop,$DFF080       ; COPADR1
   MOVE.L  #label1,$DFF084    ; Adres voor COPJMP2

&&   waitmouse:
   BTST    #6,$BFE001         ; Test op muisknop
   BNE.S   waitmouse
   LEA     GFXNaam(pc),A1
   MOVEQ   #0,D0
   MOVE.L  #4,A6              ; Offset EXEC-library
   JSR     -552(A6)           ; OpenLibrary
   MOVE.L  38(A0),$DFF080
   MOVE.L  A0,A1
   JSR     -414(A6)           ; CloseLibrary
   RTS

   GFXNaam:
   DC.B    "graphics.library",0
   EVEN

   cop:
   DC.W  $180,$F00
   DC.W  $600F,-2        ; WAIT $60,$0F

   label1:
   DC.W  $180,$F00
   DC.W  $180,$FFF
   DC.W  $180,$FFF
   DC.W  $800F,-1        ; SKIP vanaf X>$80 en Y>$0F
   DC.W  $8A,0           ; JMP label1 (COPJMP2)
   DC.W  $180,$000       ; Eerste kommando na SKIP
&&   DC.W  $FFFF,-2

Deze Copperlist maakt het scherm als eerste zwart. Vanaf regel $60 wordt een
rood-wit-patroon gemaakt. Dit patroon wordt gestopt als regel $80 wordt be-
reikt. De achtergrond wordt weer zwart.

Nog kort als einde van dit stukje wat kommando's van de Seka- assembler :

a     Assembleer de source. Wordt er geen LOAD gebruikt aan het
      begin dan zet de assembler de routine in het vrije
      geheugen.
j x   Start het programma bij label x of adres $x.
w     Schrijf de source naar diskette.
r     Lees de source van diskette.
wi    Schrijf data naar de diskette.
ri    Lees data van de diskette.
n a   Disassembleer vanaf adres a.
m a   Memorydump vanaf adres a.
!     Verlaten van de assembler.

Wil je van het programma een uitvoerbare versie vanuit de CLI maken dan moet
je de ORG- en LOAD-regels uit het programma halen. Assembleer de routine en
schrijf deze weg met het Seka-kommando wo. Een nadeel is dat het programma nu
ook in FAST-geheugen kan komen te staan als u een geheugenuitbreiding bezit.
Dat mag echter niet daar de Copper dat geheugen niet kan adresseren. Gebruik
eventueel NOFASTMEM voor u het nieuwe programma start.
&&DE VOORBEELDPROGRAMMA'S :

De voorbeeldprogramma's uit deze tekst staan op deze diskette in de sub-direc-
tory HARDWARE-CURSUS.
Van de voorbeelden 1/2/4/5 staan ook de uitvoerbare versies op de diskette.
Van voorbeeld 3 is dat niet mogelijk omdat daar een adres-methode wordt ge-
bruikt die niet met relatief-adresseren te gebruiken is.

Heeft u een geheugenuitbreiding zet deze dan eerst even uit via het MEMKILL-
programma dat u vindt in de hoofd-directory.

Bij de voorbeelden 4 en 5 kan het gebeuren dat u de computer moet resetten om
verder te kunnen gaan. Dat ligt dan aan de versie van de kickstart in uw
computer. Dit is helaas niet te veranderen.

**********************  MEER IN DEEL 5 VAN DEZE CURSUS  **********************

**********  MAAR DIE STAAT PAS OP AMIGAZETTE 02, HET OKTOBERNUMMER  **********

------------------------------------------------------------------------------
&&
