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: 343
TYPE: text
SiZE: 5Ko
NOTE:

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

★ 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°26: Rubi Fluide
» Coding » Rubidouille A100% n°19: Scrolling en diagonale
» Coding » Rubidouille A100% n°25: Scroll Hard
» Coding » Rubidouille A100% n°18: L'Overscan
» Coding » Rubidouille A100% n°20: Scroll en vague
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 373 millisecondes et consultée 3027 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.