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'œil 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 déplacement
  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: &emspDEFB &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: 361
TYPE: text
SiZE: 5Ko
NOTE:

» RUBIRASTERSDATE: 2014-02-24
DL: 439
TYPE: text
SiZE: 3Ko
NOTE:

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » Rubidouille A100% n°23 : Le dompteur de clavier
» Coding » Rubidouille A100% n°20: Scroll en vague
» Coding » Rubidouille A100% n°25: Scroll Hard
» Coding » Rubidouille A100% n°22: 1400 couleurs en mode 2
» Coding » Rubidouille A100% n°19: Scrolling en diagonale
» Coding » A100%: Les RUBI bidouilles
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop/c
Page créée en 266 millisecondes et consultée 3077 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.