&&
------------------------------------------------------------------------------
                DE ASSEMBLER-KOMMANDO'S IN DE PRAKTIJK DEEL 2
------------------------------------------------------------------------------

; ***** De nieuwe Copperlijst. Hierop kom ik later nog terug.
; ***** Het assembler-kommando "dc.w" betekent zoveel als : ik
; ***** reserveer hier ruimte voor een woord (2 bytes). Dat
; ***** woord (of woorden) staat er achter
NewCopper:
        dc.w    $0180,$0000             ; Zet karakterkleur
        dc.w    $0182,$000a             ; Zet achtergrondkleur
        dc.w    $008e,$2f81             ; Links-boven coordinaat
        dc.w    $0090,$f3c1             ; Rechts-onder coordinaat
        dc.w    $0092,$0038             ; DataFetch Start
        dc.w    $0094,$00d0             ; DataFetch Stop
        dc.w    $0108,$0004             ; Modulo voor de grafiek
        dc.w    $010a,$0004
        dc.w    $0102,$0000             ; Bitplane-register 1
        dc.w    $0104,$0000             ; BitPlane-register 2
        dc.w    $0100,$1200             ; BitPlane-register 0
        dc.w    $00e0,$0005             ; Pointer naar start BitPlane
        dc.w    $00e2,$0000
WaitAb: blk.w   56,0                    ; 56 Woorden voor de kleuren
        dc.w    $ffff,$fffe             ; Einde van de Copperlijst
&&
; ***** Hier komen de verschillende geheugenplaatsen voor
; ***** pointers en teksten. Het assembler-kommando "even" zorgt
; ***** er voor dat alle routines op even adressen beginnen. Dit
; ***** is in een 16-bit-computer noodzakelijk
even

ScrollMsg:                             ; De te scrollen tekst
        dc.b " Welkom bij dit demo uit AmiGazette nummer 06. U ziet"
        dc.b " hier een demo van het stukje over Assembler.        "
        dc.b " Druk op de linker-muis-knop om deze tekst te stoppen"
        dc.b " en terug te gaan naar de WorkBench.                 "
Einde:
;
even
GFXBase:        dc.l    0               ; Pointer naar de graphics.Library
BitMap:         blk.w   4,0             ; BitMapstruktuur
Plane1:         blk.l   10,0
RastPort:       blk.l   1,0             ; RastPortstruktuur
R_BitMap:       blk.l   26,0
OldCopper:      dc.l    0               ; opslag oude Copper
gfxName:        dc.b    "graphics.library",0
even
diskfontname:   dc.b    "diskfont.library",0
even
FontName:       dc.b    "Topaz.font",0
even
&&
; ***** We gebruiken hiet Topaz 11 van de Workbench
TextAttr:       dc.l    fontname        ; Adres van de Font-naam
                dc.w    11              ; Hoogte in puntjes
                dc.w    0               ; Vlaggen
FontlBase:      dc.l    0               ; Adres van de DiskFont.Library
FontBase:       dc.w    0               ; Adres van de karakterzet
Rows:           dc.w    0               ; Aantal gescrollde punten
C_Ptr:          dc.l    0               ; Pointer in de tekst

; ***** Nu komen de kleuren. Het format is 0 R G B.
ColTab: dc.w    $0ff0,$0cf0,$09f0,$06f0,$03f0,$00f0
        dc.w    $00f3,$00f6,$00f9,$00fc,$00ff,$00cf
        dc.w    $009f,$006f,$003f,$000f,$030f,$060f
        dc.w    $090f,$0c0f,$0f0f,$0f0c,$0f09,$0f06
        dc.w    $0f03,$0f00,$0f30,$0f60,$0f90,$0fc0
&&
Dit was het programma. Een heel stuk. U kunt zelf wat veranderingen proberen
aan te brengen. Hier wat opdrachten :

1. Verander de karakterzet. Kijk wat deze maximaal van hoogte en breedte mag
   hebben.

2. Verander de plaats van de scroll op het scherm.

3. Verander de routine zo dat er slechts 1 kleur in de scroll is. Of maak een
   eigen, ander, patroon van kleuren.

Het programma staat op de diskette in de sub-directory ASSEMBLER onder de naam
ScrolTekst.
Het heeft van diskette de karakterset TOPAZ 11 en de DiskFont.library nodig.

Het programma kunt u starten door vanuit de CLI het volgende in te tikken :

Assembler/ScrollTekst








- EINDE ----------------------------------------------------------------------
&&
