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

» RUBIRASTERSDATE: 2014-02-24
DL: 296
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°18: L'Overscan
» Coding » Rubidouille A100% n°26: Rubi Fluide
» Coding » Rubidouille A100% n°22: 1400 couleurs en mode 2
» Coding » Rubidouille A100% n°20: Scroll en vague
» Coding » Rubidouille A100% n°23 : Le dompteur de clavier
» Coding » Rubidouille A100% n°25: Scroll Hard
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.7-desktop/c
Page créée en 250 millisecondes et consultée 2508 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.