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 a~similé, 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 tool:
» rubi19DATE: 2019-03-12
DL: 50 fois
TYPE: text
SIZE: 5Ko

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 » Rubidouille A100% n°25: Scroll Hard
» Coding » Rubidouille A100% n°22: 1400 couleurs en mode 2
» Coding » Rubidouille A100% n°18: L'Overscan
» Coding » Rubidouille A100% n°20: Scroll en vague
» Coding » Rubidouille A100% n°23 : Le dompteur de clavier

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/cache
Page créée en 319 millisecondes et consultée 1174 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.