home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / software / testi / corsoasm / sorgenti9 / lezione15i.s < prev    next >
Text File  |  1995-05-02  |  15KB  |  393 lines

  1.  
  2. ; Lezione15i.s    - Visualiziamo la prima pic in 640x480 32Khz VGA non lace.
  3. ;          Se non avete un monitor adatto vedete solo dei disturbi.
  4.  
  5.     SECTION    AgaRulez,CODE
  6.  
  7. ;    Include    "DaWorkBench.s"    ; togliere il ; prima di salvare con "WO"
  8.  
  9. *****************************************************************************
  10.     include    "startup2.s"    ; Salva Copperlist Etc.
  11. *****************************************************************************
  12.  
  13.         ;5432109876543210
  14. DMASET    EQU    %1000001110000000    ; copper, bitplane DMA
  15.  
  16. WaitDisk    EQU    30    ; 50-150 al salvataggio (secondo i casi)
  17.  
  18. START:
  19.  
  20. ;    Puntiamo la pic AGA
  21.  
  22.     MOVE.L    #PICTURE,d0
  23.     LEA    BPLPOINTERS,A1
  24.     MOVEQ    #8-1,D7        ; num. bitplanes
  25. POINTB:
  26.     move.w    d0,6(a1)
  27.     swap    d0
  28.     move.w    d0,2(a1)
  29.     swap    d0
  30.     addi.l    #80*100,d0    ; Lunghezza di un bitplane
  31.     addq.w    #8,a1
  32.     dbra    d7,POINTB        ;Rifai D1 volte (D1=num of bitplanes)
  33.  
  34.     move.l    #$2c07fffe,d1    ; Prima linea YY wait: $2c
  35.     moveq    #$00,d5        ; Colore start
  36.     move.w    #99-1,d7    ; Numero linee: 99
  37.     bsr.w    FaiAGACopB    ; Fai una sfumatura BLU
  38.  
  39.     bsr.s    MettiColori
  40.  
  41.     MOVE.W    #DMASET,$96(a5)        ; DMACON - abilita bitplane, copper
  42.     move.l    #CopList,$80(a5)    ; Puntiamo la nostra COP
  43.     move.w    d0,$88(a5)        ; Facciamo partire la COP
  44.     move.w    #0,$1fc(a5)        ; Fmode azzerato, burst normale
  45.     move.w    #$c00,$106(a5)        ; BPLCON3 resettato
  46.     move.w    #$11,$10c(a5)        ; BPLCON4 resettato
  47.  
  48.          ;5432109876543210
  49.     MOVE.W    #%0001101110001000,$1DC(A5) ; BEACON0 - lista dei bit settati:
  50.  
  51.             ; 3 - BLANKEN - COMPOSITE BLANK OUT TO CSY PIN
  52.             ; 7 - VARBEAMEN - VARIABLE BEAM COUNTER COMP. ENABLED
  53.             ;     Abilita i comparatori variabili di beam per
  54.             ;     operare nel contatore orizzontare principale,
  55.             ;     e disabilita lo stop hardware del display in
  56.             ;     orizzontale e in verticale.
  57.             ; 8 - VARHSYEN - VARIABLE HORIZONTAL SYNC ENABLED
  58.             ;     Attiva i registri HSSTRT/HSSTOP (var. HSY)
  59.             ; 9 - VARVSYEN - VARIABLE VERTICAL SYNC ENABLED
  60.             ;     Attiva i registri VSSTRT/VSSTOP (var. VSY)
  61.             ; 11- LOLDIS - DISABLE LONGLINE/SHORTLINE TOGGLE
  62.             ;     Disabilita lo scambio tra linee lunghe/corte.
  63.             ; 12- VARVBEN - VARIABLE VERTICAL BLANK ENABLED
  64.             ;     Attiva i registri VBSTRT/VBSTOP, e disabilita la
  65.             ;     "fine" hardware della finestra video.
  66.  
  67.     MOVE.W    #113,$1C0(a5)    ; HTOTAL - HIGHEST NUMBER COUNT, HORIZ LINE
  68.                 ; Color clock massimo per linea orizzontale:
  69.                 ; Il VGA ha 114 colorclocks per scan line!
  70.                 ; Il valore va da 0 a 255: 113 va bene!
  71.  
  72.     MOVE.W    #%1000,$1C4(a5)    ; HBSTRT - HORIZONTAL LINE POS FOR HBLANK START
  73.                 ; I bit 0-7 contengono le posizioni di start
  74.                 ; e di stop del blanking orizzontale in
  75.                 ; incrementi di 280ns. I bit 8-10 servono per
  76.                 ; un posizionamento a 35ns (1/4 di pixel).
  77.                 ; In questo caso abbiamo settato 2240ns.
  78.  
  79.     MOVE.W    #14,$1DE(a5)    ; HORIZONTAL SYNC START - Numero di color
  80.                 ; clocks per il Sync-start.
  81.  
  82.     MOVE.W    #28,$1C2(a5)    ; HORIZONTAL LINE POSITION FOR HSYNC STOP
  83.                 ; Num. di color-clocks per Sync-stop.
  84.  
  85.     MOVE.W    #30,$1C6(a5)    ; HORIZONTAL LINE POSITION FOR HBLANK STOP
  86.                 ; Linea orizzontale di stop Horiz BLANK
  87.  
  88.     MOVE.W    #70,$1E2(a5)    ; HCENTER - POS. ORIZZ. di VSYNCH in interlace
  89.                 ; nel caso di beam counters variabili.
  90.  
  91.     MOVE.W    #524,$1C8(a5)    ; VTOTAL - HIGHEST NUMBERED VERTICAL LINE
  92.                 ; Massima linea verticale numerata, ossia
  93.                 ; la linea alla quale resettare il contatore
  94.                 ; diposizione verticale.
  95.                 ; Sappiamo che il modo VGA ha 525 linee.
  96.  
  97.     MOVE.W    #0,$1CC(a5)    ; VBSTRT - VERTICAL LINE FOR VBLANK START
  98.     MOVE.W    #3,$1E0(a5)    ; VERTICAL SYNC START
  99.  
  100.     MOVE.W    #5,$1CA(a5)    ; VERTICAL LINE POSITION FOR VSYNC STOP
  101.     MOVE.W    #29,$1CE(a5)    ; VBSTOP - VERTICAL LINE FOR VBLANK STOP
  102.  
  103.     MOVE.W    #%0000110000100001,$106(a5)    ; 0 - external blank enable
  104.                         ; 5 - BORDER BLANK
  105.                         ; 10-11 AGA dual playfiled fix
  106. LOOP:
  107.     BTST    #6,$BFE001
  108.     BNE.S    LOOP
  109.     RTS
  110.  
  111. ******************************************************************************
  112.  
  113. MettiColori:
  114.     LEA    LogoPal(PC),A0        ; indirizzo della color palette 
  115.     LEA    COLP0+2,A1        ; Indirizzo del primo registro
  116.                     ; settato per i nibble ALTI
  117.     LEA    COLP0B+2,A2        ; Indirizzo del primo registro
  118.                     ; settato per i nibble BASSI
  119.     MOVEQ    #8-1,d7            ; 8 banchi da 32 registri ciascuno
  120. ConvertiPaletteBank:
  121.     moveq    #0,d0
  122.     moveq    #0,d2
  123.     moveq    #0,d3
  124.     moveq    #32-1,d6    ; 32 registri colore per banco
  125.  
  126. DaLongARegistri:    ; loop che trasforma i colori $00RrGgBb.l nelle 2
  127.             ; word $0RGB, $0rgb adatte ai registri copper.
  128.  
  129. ; Conversione dei nibble bassi da $00RgGgBb (long) al colore aga $0rgb (word)
  130.  
  131.     MOVE.B    1(A0),(a2)    ; Byte alto del colore $00Rr0000 copiato
  132.                 ; nel registro cop per nibble bassi
  133.     ANDI.B    #%00001111,(a2) ; Seleziona solo il nibble BASSO ($0r)
  134.     move.b    2(a0),d2    ; Prendi il byte $0000Gg00 dal colore a 24bit
  135.     lsl.b    #4,d2        ; Sposta a sinistra di 4 bit il nibble basso
  136.                 ; del GREEN, "trasformandolo" in nibble alto
  137.                 ; di del byte basso di D2 ($g0)
  138.     move.b    3(a0),d3    ; Prendi il byte $000000Bb dal colore a 24bit
  139.     ANDI.B    #%00001111,d3    ; Seleziona solo il nibble BASSO ($0b)
  140.     or.b    d2,d3        ; "FONDI" i nibble bassi di green e blu...
  141.     move.b    d3,1(a2)    ; Formando il byte basso finale $gb da mettere
  142.                 ; nel registro colore, dopo il byte $0r, per
  143.                 ; formare la word $0rgb dei nibble bassi
  144.  
  145. ; Conversione dei nibble alti da $00RgGgBb (long) al colore aga $0RGB (word)
  146.  
  147.     MOVE.B    1(A0),d0    ; Byte alto del colore $00Rr0000 in d0
  148.     ANDI.B    #%11110000,d0    ; Seleziona solo il nibble ALTO ($R0)
  149.     lsr.b    #4,d0        ; Shifta a destra di 4 bit il nibble, in modo
  150.                 ; che diventi il nibble basso del byte ($0R)
  151.     move.b    d0,(a1)        ; Copia il byte alto $0R nel color register
  152.     move.b    2(a0),d2    ; Prendi il byte $0000Gg00 dal colore a 24bit
  153.     ANDI.B    #%11110000,d2    ; Seleziona solo il nibble ALTO ($G0)
  154.     move.b    3(a0),d3    ; Prendi il byte $000000Bb dal colore a 24 bit
  155.     ANDI.B    #%11110000,d3    ; Seleziona solo il nibble ALTO ($B0)
  156.     lsr.b    #4,d3        ; Shiftalo di 4 bit a destra trasformandolo in
  157.                 ; nibble basso del byte basso di d3 ($0B)
  158.     ori.b    d2,d3        ; Fondi i nibble alti di green e blu ($G0+$0B)
  159.     move.b    d3,1(a1)    ; Formando il byte basso finale $GB da mettere
  160.                 ; nel registro colore, dopo il byte $0R, per
  161.                 ; formare la word $0RGB dei nibble alti.
  162.  
  163.     addq.w    #4,a0        ; Saltiamo al prossimo colore .l della palette
  164.                 ; attaccata in fondo alla pic
  165.     addq.w    #4,a1        ; Saltiamo al prossimo registro colore per i
  166.                 ; nibble ALTI in Copperlist
  167.     addq.w    #4,a2        ; Saltiamo al prossimo registro colore per i
  168.                 ; nibble BASSI in Copperlist
  169.  
  170.     dbra    d6,DaLongARegistri
  171.  
  172.     add.w    #(128+8),a1    ; salta i registri colore + il dc.w $106,xxx
  173.                 ; dei nibble ALTI
  174.     add.w    #(128+8),a2    ; salta i registri colore + il dc.w $106,xxx
  175.                 ; dei nibble BASSI
  176.  
  177.     dbra    d7,ConvertiPaletteBank    ; Converte un banco da 32 colori per
  178.     rts                ; loop. 8 loop per i 256 colori.
  179.  
  180. ; Palette salvata in binario con il PicCon (opzioni: save as binary, non cop)
  181.  
  182. LogoPal:
  183.     incbin    "Pic640x100x256.pal"
  184.  
  185. ;*****************************************************************************
  186. ; Routine che crea sfumature aga BLU:
  187. ;
  188. ; d1 = Prima linea da aspettare (Wait, ad es: $2c07fffe per linea Y=$2c)
  189. ; d5 = inizio tonalita' ($00-$ff)
  190. ; d7 = Numero linee da fare
  191. ;*****************************************************************************
  192.  
  193. FaiAgaCopB:
  194.     lea    AgaCopEff1,a0
  195.     move.l    #$01060c00,d4    ; BplCon3 - nibble alti
  196.     move.l    #$01060e00,d3    ; BplCon3 - nibble bassi
  197.     move.w    #$180,d2    ; Registro Color0
  198. FaiAGALoopB:
  199.     move.l    d1,(a0)+    ; Metti il wait YYXXFFFE
  200.     add.l    #$01000000,d1    ; Fai waitare una linea sotto per la prossima
  201.     move.l    d4,(a0)+    ; BplCon3 - selez. nibble alti
  202.     move.w    d2,(a0)+    ; Registro Color0
  203.     addq.b    #1,d5        ; "Illumina" leggermente il colore $Gg
  204.     move.w    d5,d6        ; Copialo in d6
  205.     and.w    #%11110000,d6    ; Selez. solo il nibble ALTO
  206.     lsr.w    #4,d6        ; Alla posizione giusta, ossia al BLU $xxB)
  207.     move.w    d6,(a0)+    ; Valore del Color0 (nib alti)
  208.     move.l    d3,(a0)+    ; BplCon3 - selez. nibble bassi
  209.     move.w    d2,(a0)+    ; Registro Color0
  210.     move.w    d5,d6        ; Colore $xx in d6
  211.     and.w    #%00001111,d6    ; Selez. solo i nibble bassi - posizione $xxB
  212.     move.w    d6,(a0)+    ; Metti il colore in copperlist (nibble bassi)
  213.     dbra    d7,FaiAGALoopB
  214.     rts
  215.  
  216. ;*****************************************************************************
  217. ;*                COPPERLIST                     *
  218. ;*****************************************************************************
  219.  
  220.     CNOP    0,8    ; Allineo a 64 bit
  221.  
  222.     section    coppera,data_C
  223.  
  224. COPLIST:
  225.     dc.w    $8E,$1c45    ; diwstrt VGA
  226.     dc.w    $90,$ffe5    ; diwstop VGA
  227.     dc.w    $92,$0018    ; ddfstrt VGA
  228.     dc.w    $94,$0068    ; ddfstop VGA
  229.     dc.w    $1e4,$100
  230.     dc.w    $102,0        ; BplCon1
  231.     dc.w    $104,0        ; BplCon2
  232.     dc.w    $108,-8        ; modulo (-8 per burst 64 bit)
  233.     dc.w    $10A,-8        ; -8
  234.  
  235.  
  236.             ; 5432109876543210
  237.     dc.w    $100,%0000001001010001    ; 8 bitplane SHIRES 640x480 VGA.
  238.  
  239.     dc.w    $1fc,$8003    ; sprite scan doubling???
  240.  
  241. BPLPOINTERS:
  242.     dc.w $e0,0,$e2,0    ; primo     bitplane
  243.     dc.w $e4,0,$e6,0    ; secondo       "
  244.     dc.w $e8,0,$ea,0    ; terzo           "
  245.     dc.w $ec,0,$ee,0    ; quarto       "
  246.     dc.w $f0,0,$f2,0    ; quinto       "
  247.     dc.w $f4,0,$f6,0    ; sesto           "
  248.     dc.w $f8,0,$fA,0    ; settimo       "
  249.     dc.w $fC,0,$fE,0    ; ottavo       "
  250.  
  251. ; In questo caso la palette viene aggiornata da una routine, per cui basta
  252. ; lasciare azzerati i valori dei registri.
  253.  
  254.     DC.W    $106,$c00    ; SELEZIONA PALETTE 0 (0-31), NIBBLE ALTI
  255. COLP0:
  256.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  257.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  258.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  259.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  260.  
  261.     DC.W    $106,$e00    ; SELEZIONA PALETTE 0 (0-31), NIBBLE BASSI
  262. COLP0B:
  263.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  264.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  265.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  266.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  267.  
  268.     DC.W    $106,$2C00    ; SELEZIONA PALETTE 1 (32-63), NIBBLE ALTI
  269.  
  270.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  271.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  272.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  273.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  274.  
  275.     DC.W    $106,$2E00    ; SELEZIONA PALETTE 1 (32-63), NIBBLE BASSI
  276.  
  277.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  278.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  279.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  280.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  281.  
  282.     DC.W    $106,$4C00    ; SELEZIONA PALETTE 2 (64-95), NIBBLE ALTI
  283.  
  284.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  285.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  286.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  287.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  288.  
  289.     DC.W    $106,$4E00    ; SELEZIONA PALETTE 2 (64-95), NIBBLE BASSI
  290.  
  291.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  292.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  293.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  294.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  295.  
  296.     DC.W    $106,$6C00    ; SELEZIONA PALETTE 3 (96-127), NIBBLE ALTI
  297.  
  298.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  299.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  300.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  301.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  302.  
  303.     DC.W    $106,$6E00    ; SELEZIONA PALETTE 3 (96-127), NIBBLE BASSI
  304.  
  305.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  306.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  307.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  308.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  309.  
  310.     DC.W    $106,$8C00    ; SELEZIONA PALETTE 4 (128-159), NIBBLE ALTI
  311.  
  312.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  313.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  314.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  315.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  316.  
  317.     DC.W    $106,$8E00    ; SELEZIONA PALETTE 4 (128-159), NIBBLE BASSI
  318.  
  319.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  320.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  321.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  322.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  323.  
  324.     DC.W    $106,$AC00    ; SELEZIONA PALETTE 5 (160-191), NIBBLE ALTI
  325.  
  326.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  327.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  328.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  329.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  330.  
  331.     DC.W    $106,$AE00    ; SELEZIONA PALETTE 5 (160-191), NIBBLE BASSI
  332.  
  333.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  334.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  335.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  336.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  337.  
  338.     DC.W    $106,$CC00    ; SELEZIONA PALETTE 6 (192-223), NIBBLE ALTI
  339.  
  340.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  341.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  342.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  343.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  344.  
  345.     DC.W    $106,$CE00    ; SELEZIONA PALETTE 6 (192-223), NIBBLE BASSI
  346.  
  347.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  348.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  349.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  350.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  351.  
  352.     DC.W    $106,$EC00    ; SELEZIONA PALETTE 7 (224-255), NIBBLE ALTI
  353.  
  354.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  355.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  356.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  357.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  358.  
  359.     DC.W    $106,$EE00    ; SELEZIONA PALETTE 7 (224-255), NIBBLE BASSI
  360.  
  361.     DC.W    $180,0,$182,0,$184,0,$186,0,$188,0,$18A,0,$18C,0,$18E,0
  362.     DC.W    $190,0,$192,0,$194,0,$196,0,$198,0,$19A,0,$19C,0,$19E,0
  363.     DC.W    $1A0,0,$1A2,0,$1A4,0,$1A6,0,$1A8,0,$1AA,0,$1AC,0,$1AE,0
  364.     DC.W    $1B0,0,$1B2,0,$1B4,0,$1B6,0,$1B8,0,$1BA,0,$1BC,0,$1BE,0
  365.  
  366.     dc.w    $106,%0000110000100001        ; 0 - external blank enable
  367.                         ; 5 - BORDER BLANK
  368.                         ; 10-11 AGA dual playfiled fix
  369.  
  370. AgaCopEff1:
  371.     dcb.l    99*5        ; Ossia: 99 linee * 5 long:
  372.                 ; 1 per il wait,
  373.                 ; 1 per il bplcon3
  374.                 ; 1 per color0 (nib alti)
  375.                 ; 1 per il bplcon3
  376.                 ; 1 per color0 (nib bassi)
  377.     dc.w    $9007,$fffe    ; aspetta la fine del logo
  378.     dc.w    $100,$201    ; zero bitplanes
  379.  
  380.     dc.w    $FFFF,$FFFE    ; Fine della copperlist
  381.  
  382. ;******************************************************************************
  383.  
  384. ; Figura RAW ad 8 bitplanes, cioe' a 256 colori
  385.  
  386.     CNOP    0,8    ; allineo a 64 bit
  387.  
  388. PICTURE:
  389.     INCBIN    "Pic640x100x256.RAW"    ; (C) by Cristiano "KREEX" Evangelisti
  390.  
  391.     end
  392.  
  393.