CODINGCHRONIQUE A100% DE RUBI ★ Rubidouille font l'andouille ★

Rubidouille A100% n°19: Scrolling en diagonaleCoding Chronique A100% De Rubi
Y en avait vraiment marre de voir les Malibus, Logon et les autres faire des scrollings dans tous les sens, alors qu'on en était resté à nos bêtes scrollings horizontaux. Voilà-t-y pas que le grand Rubi de tous les temps se fâche et nous donne sa version des choses.

Vous avez devant vos yeux un petit bijou sorti des mains agiles de notre maître à tous, le grand Rubi. Et que fait ce bijou? Je vous le demande ma petite dame! Eh bien, il affiche un scrolling en D-I-A-G-O-N-A-L-E, et en ayant toujours la main sous Basic.

Si ça, ce n'est pas des Rubidouilles comme on les aime, appelez-moi proute. Vous avez le source (pour les grosse têtes) et le chargeur Basic. Le scrolling s'active par un CALL &9000 et se désactive par un CALL &9003. Le texte commence en &9129 et se finit par un zéro. Ne vous affolez surtout pas si le Basic ne répond pas au quart de tour, et encore moins s'il ne répond pas du tout. Dans ce cas, Activez le scrolling et réactivez-le après que l'instruction rebelle aura été exécute.

CE N'EST PAS TOUT

Le maître Rubi nous promet, le mois prochain, des scrollings en vague et en cercle. Une fois le principe assimilé, vous serez capable de faire n'importe quel scrolling (chiche. celui qui en fait un en noeud pap...).

Scrolard de porc

; Source compatible avec l'assembleur de WinAPE
;

ORG &9000
T_CARAC equ &7000
T_TABLE equ &7800
;
; Prendre les fontes des caracteres
;
JP QON ; scrolling active
JP QOFF ; scrolling desactive
QON: XOR A
CALL &BBA5
CALL &B906
PUSH AF
LD DE,T_CARAC
LD BC,8*256
LDIR
POP AF
CALL &B90C
;
NB EQU 15
LI EQU 110
; Calcul d'une pente
CALL PENTE
LD HL,NOM ; Le message au debut svp
LD (OFNOM),HL
;
; On recconfigure les interuptions du CPC
;
D_INT: DI
LD HL, (&39)
INC HL
LD (QINT) ,HL
LD (HL),&C3
LD DE, INT
INC HL
LD (HL),E
INC HL
LD (HL),D
INC HL
LD (D_INT3+1) ,HL
LD DE,&33
ADD HL,DE
LD (D_INT2+1),HL
RET
;
PENTE: LD HL,&0C000+12
LD B,LI
PENTE0: CALL RBC26
DJNZ PENTE0
LD B,8
LD IX,T_TABLE
PENTE1: PUSH HL
LD C,NB
PENTE2: LD (IX+0),L
LD (IX+1),H
INC IX
INC IX
INC HL
CALL RBC26
DEC C
JR NZ,PENTE2
POP HL
CALL RBC26
DJNZ PENTE1
LD HL,NB-1*2+T_TABLE
LD A,(HL)
INC HL
LD H,(HL)
LD L,A
LD (OFSET),HL
RET
;
INT: PUSH AF
PUSH BC
PUSH HL
PUSH DE
LD BC,#7F8D
OUT (C),C
CALL INTA
POP DE
POP HL
POP BC
POP AF
EX AF,AF'
D_INT2: JP C,0
D_INT3: JP 0
;
INTA: LD B,&F5
IN A, (C)
RRA
JR C,INTE0
KL: LD A, 7
INC A
LD (KL+1),A
CP 1
JR Z,INTE1
CP 2
JR Z,INTE1
CP 3
JR Z,INTE1
CP 4
JR Z,INTE2
RET
;
INTE0: XOR A
LD (KL+1) ,A
LD HL,T_TABLE
JR SPRG1
INTE1: LD HL, (THL)
SPRG1: LD B,2
SPRG1_1: LD C,NB-1
LD E, (HL)
INC HL
LD D, (HL)
INC HL
SPRG1_2: PUSH HL
LD A, (HL)
INC HL
LD H, (HL)
LD L,A
LD A, (HL)
LD (DE), A
EX DE ,HL
POP HL
INC HL
INC HL
DEC C
JR NZ,SPRG1_2
DJNZ SPRG1_1
LD (THL) ,HL
RET
;
INTE2:
SPRG2: ; Envoie du caractere
LD HL, (OFNOM)
D A, (HL)
OR A
JR NZ,SPRG2_1
LD HL ,NOM
LD A, (HL)
SPRG2_1: LD C,A
LD A, (FLAG)
XOR &FF
LD (FLAG) ,A
CALL NZ,SPRG2_4
LD DE, (FLAG1)
LD HL, (OFSET)
LD B,8
SPRG2_2: LD A, (DE)
LD C,A
LD A, (FLAG)
OR A
LD A,&0F
JP Z,SPRG2_3
LD A,&F0
SPRG2_3: AND C
LD (HL) ,A
INC DE
CALL RBC26
DJNZ SPRG2_2
RET
;
SPRG2_4: INC HL
LD (OFNOM) ,HL
LD L,C
LD H,0
ADD HL ,HL
ADD HL ,HL
ADD HL ,HL
LD DE,T_CARAC
ADD HL ,DE
LD (FLAG1) ,HL
RET
;
QOFF: DI
LD HL, (QINT)
LD (HL), &08
INC HL
LD (HL), #38
INC HL
LD (HL),#33
RET
;
RBC26:
LD A,H
DD A,#08
LD H,A
AND #38
RET NZ
USH DE
LD DE,&C050
ADD HL ,DE
POP DE
RET
;
;
FLAG DEFB 0
FLAG1 DEFW 0
OFSET DEFW 0
OFNOM DEFW 0
THL DEFW 0
QINT DEFW 0
;
NOM DB "BONJOUR, A TOI DEFM ,LISEZ 100%"

DB 0

Scrolard de porc, ACPC n°19 , Octobre 1989, p89-91

★ ANNÉE: 1989
★ AUTEUR: RUBI

Page précédente : Rubidouille A100% n°18: L'Overscan
★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tools:
» rubi19DATE: 2019-03-12
DL: 248
TYPE: text
SiZE: 4Ko
NOTE:

» SCRWAVEDATE: 1970-01-01
DL: 36
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 » A100%: Les RUBI bidouilles
» Coding » Rubidouille A100% n°24: The Rubiraster
» Coding » Rubidouille A100% n°23 : Le dompteur de clavier
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
Page créée en 355 millisecondes et consultée 2083 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.