CODINGCHRONIQUE A100% DE RUBI ★ THE RUBIRASTER ★

Rubidouille A100% n°24: The RubirasterCoding Chronique A100% De Rubi

Il fut un temps où tout le monde nous bassinait avec les démo. Et je te balance des Rasters qui passent derrière le logo que voici, et t'entends la zic que j'ai pompée dans Pénétrator, et...

Pour les musiques, on ne peut rien pour vous, les logos non plus. Par contre, les Rasters... Vous savez, ces rouleaux de printemps qui fleurissent à tout va dans les démo et qui constituent la tuyauterie de ces dernières aux côtés des scrollings ? Pour les quelques ignares qui pensent encore qu'on fait les Rasters avec des sprites, je n'ai à dire que deux mots: ce sont des changements de couleurs sous interruption (zut, ça en fait 8).

Imaginez, votre fond est de la couleur 0, le logo est de couleur 1. Au moment précis où le balais passe au-dessus de l'écran, je change la couleur de l'encre 0 et la mets, disons à 26 (blanc). Quelques lignes plus bas, je remets cette encre à 0 (pourquoi pas ). Et va ainsi le monde. Sans faire aucune modif. dans la structure de l'écran et sans changer son contenu, je viens de faire apparaître une bande blanche en haut de l'écran. Je me repose deux secondes, et un peu plus tard je remets ça. Avec une petite différence, car je change l'encre 0 en 26 ; un peu plus tard que la fois passée, ce qui fera descendre mon rouleau.

Ainsi, on aura l'animation en va et vient d'un tube qui s'affiche sur tout ce qui est de la couleur du fond (n'y voyez surtout pas de mauvaises pensées de ma part).

POUR UN NOTE DE PLUS

Voilà le résultat d'une telle opération vue par l'oeil pétillant de notre cher Rubi. Il ne vous reste plus qu'à modifier ce programme pour changer d'autres encres (la 1 par exemple) pour donner l'impression que le Raster passe également sur la couleur 1. Ce qui, bien amené, peut donner l'impression d'un rouleu qui tourne autour d'un logo ou d'autres choses, si vous le préférez. Le tout n'étant qu'une question de tempo. Ah ! le tempo, quelle chianterie !

Then Big Rouleau Raster
 

;       RUBI_DOUILLE (c) 1990
;
;          Version WinAPE

        ORG &A000
;----------------------------------
;- Creation de la table de Tempos -
;----------------------------------
        DI
        LD BC,40               ; ; 40 Couleurs
        LD HL,8               ;  ; Tout ceci est tres complique
        XOR A                  ; ; et Pas tres interessent
        LD (QWE+1),A           ; ; a commenter
        INC A                  ; ; je boude na
        LD (QWE_1+1),A
        LD IX,TABLE
BOUC_1: LD (IX+0),L
        LD (IX+1),H
QWE:    LD A,0
        INC A
        LD (QWE+1),A
        CP 4
        JR NZ,QWE_1
        XOR A
        LD (QWE+1),A
        LD A,(QWE+1)
        INC A
        LD (QWE_1+1),A
QWE_1:  LD A,1
        LD (IX+2),A
        LD DE,9
        ADD HL,DE
        INC IX
        INC IX
        INC IX
        DEC BC
        LD A,B
        OR C
        JR NZ, BOUC_1
        LD (IX+0),0
        LD (IX+1) ,0
;
;----------------------------
;- Configure nos Interrupts -
;----------------------------
;
        LD HL,(&38)     ; C'est classique
        LD (INTER) ,HL
        LD HL,&C9FB     ; EI RET en &38
        LD (&38) ,HL
;
;------------------
;- Inltlallsation -
;------------------
;
        LD HL ,TABLE    ; La table des tempos au debut
        LD (ATABLE),HL
        LD A,&23        ; On commence de haut en bas
        LD (INC1),A     ; En placant des INC HL
        LD (INC2),A
        LD (INC3),A
        EI
;
;---------------------
;- Boucle principale -
;---------------------
;
BOUCLE:
        LD B,&F5        ;Attendre synchro
SYNC:   IN A,(C)
        RRA
        JR NC,SYNC
        HALT
;
;--------------------------------------------
;- Determine le plan, la posItion et le sens
;--------------------------------------------
;
        CALL SENS
        HALT
;
;--------------------
;- Envoie du Raster -
;--------------------
;
        CALL COULEUR    ; 1 er
        HALT
        CALL COULEUR    ; 2 eme
        HALT
        CALL COULEUR    ; 3 eme
        HALT
        CALL COULEUR    ; 4 eme
;
;-------------------------
;- Test la touche ESPACE -
;-------------------------
;
        LD BC,&F40E
        OUT (C),C
        LD BC,&F6C0
        OUT (C),C
        LD BC,&F792
        OUT (C), C
        LD BC,&F645
        OUT (C) ,C
        LD B,&F4
        IN A, (C)
        LD BC,&F782
        OUT (C) ,C
        LD BC,&F609
        OUT (C),C
        RLA
        JP C,BOUCLE     ; Si pas de touche on continu
;
;---------------------------------------
;- Restitution de la configuration CPC -
;---------------------------------------
;
        LD HL, (INTER)
        LD (&38) , HL
        EI
        RET
;
;-------------------
;- SOUS-PROGRAMMES -
;-------------------
;
COULEUR: LD B,3         ;; petite tempo
SYNC1:   DJNZ SYNC1
;
;--------------------------------------
;- Tempo fixant la posItion du Raster -
;--------------------------------------
;
TEMPO:   LD DE,1
SYNC2:   DEC DE
         ;LD A,D
         ;OR E
         ;JR NZ,SYNC2
TEMPO1:  LD B,1
SYNC3:   DJNZ SYNC3
         ;LD HL,M1
COLOR:                ;  ; envoie des couleurs
         ;LD A, (HL)
         ;CP &FF
         ;JR NZ,COLOR1
         ;LD BC,&7F01
         ;OUT (C), C
         ;LD A,&4B
         ;OUT (C),A
         ;RET
COLOR1:
         ;LD BC,&7F10
         ;LD DE,&100
         ;OUT (C), E
         ;OUT (C), A
         ;OUT (C), C
         ;OUT (C), A
PEN:     OUT (C), D     ; Du pen 1 ou pas?
         ;OUT (C), A
         ;LD B,5
COLOR2:  DJNZ COLOR2
         ;NOP
         ;INC HL
         ;JR COLOR
SENS:    LD HL, (ATABLE)
INC1:    INC HL               ;  ; De haut en bas INC HL
INC2:    INC HL               ;  ; De bas en haut DEC HL
INC3:    INC HL
         ;PUSH HL
         ;LD E, (HL)
         ;INC HL
         ;LD D, (HL)
         ;INC HL
         ;LD B, (HL)
         ;POP HL
         ;LD A,D
         ;OR E
         ;JR NZ,SENS_1
         ;LD A, (INC1)          ; Inverse le sens de deplacement
         ;XOR 8
         ;LD (INC1),A
         ;LD (INC2),A
         ;LD (INC3),A
         ;LD A,(PEN+1)           ;; Decide de l'affichage du PEN
;
         ;XOR 8
         ;LD (PEN+1) ,A
         ;JR SENS
SENS_1:  LD (ATABLE),HL         ;; Envoie des parametres la position
         ;LD (TEMPO+1),DE
         ;LD A,B
         ;LD (TEMPO1+1),A
         ;RET
;
INTER    DEFW 0
ATABLE   DEFW TABLE
;
U0       EQU 11+64             ; ; Definition du Raster
U1       EQU 19+64
U2       EQU 23+64
U3       EQU 21+64
M1:      DEFB &54
         ;DEFB U3,U2,U1
         ;DEFB U1,U0,U1,U1
         ;DEFB U2,U3
         ;DEFB &54
         ;DEFB &FF
         ;DEFB 0
         ;DEFW 0
TABLE:                        ;  ; Prevoir 40 octets


RUBI, ACPC  n°24 Mars 1990, p60-61

★ ANNÉE: 1989
★ AUTEUR: RUBI

Page précédente : Rubidouille A100% n°23 : Le dompteur de clavier
★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tools:
» rubi24DATE: 2019-03-12
DL: 54 fois
TYPE: text
SIZE: 6Ko

» RUBIRASTERSDATE: 2014-02-24
DL: 101 fois
TYPE: text
SIZE: 3Ko

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » A100%: Les RUBI bidouilles
» Coding » Rubidouille A100% n°18: L'Overscan
» Coding » Rubidouille A100% n°22: 1400 couleurs en mode 2
» Coding » Rubidouille A100% n°23 : Le dompteur de clavier
» Coding » Rubidouille A100% n°26: Rubi Fluide
» Coding » Rubidouille A100% n°20: Scroll en vague

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop
Page créée en 024 millisecondes et consultée 1470 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.