; ; Ondulation d'{cran pixel par pixel ; et raster en couleurs RVB CPC+ ; (en Mode 2 uniquement !!!) ; ; Par OffseT pour Quasar CPC 5 ; Org &3000 Limit &3eff Nolist Table Equ &3f00 Taille Equ 232 di ; Reconfiguration ld hl,(&38) ; des interruptions ld (inter),hl ; pour pouvoir ld hl,&c9fb ; synchroniser nos ld (&38),hl ; raster et notre ei ; ondulation ld bc,&7fb8 ; Connexion de la out (c),c ; page I/O ASIC ld hl,0 ; Encre 1 en noir ld (&6402),hl ; c'est plus clean ; ; Programme principal ; Prog ld b,&f5 ; On adresse le PPI Synchro in a,(c) ; pour se synchroniser rra ; avec la VBL jr nc,synchro ; Hop l@ ! ei ; On se pr{pare pour halt ; les rasters histoire halt ; de commencer en haut di ; de l'{cran et au d{but ds 30 ; d'une ligne ld hl,table ; On pointe sur la table ld b,taille ; des sinus et des couleurs Loop ld a,(hl) ; On lit les valeurs ld (&6804),a ; en on envoie la sauce inc hl ; A la une ! ld (&6400),a ; A la deux ! ld (&6420),a ; A la trois ! ds 44 ; Et hop l@, djnz loop ; c'est fini ! xor a ; On est arriv{ en bas de ld (&6804),a ; l'{cran, on remet tout ld (&6820),a ; bien comme il faut pour ld (&6800),a ; que \a soit plus joli et ld a,(table) ; on fait scroller la table ld hl,table+1 ; pour que l'ondulation et ld de,table ; les rasters ne restent pas ld bc,taille-1 ; statiques et parcourent ldir ; l'{cran de bas en haut ld (table+taille-1),a ; ; Test clavier ; Key ld bc,&f40e ; On adresse le PPI out (c),c ; pour lire la ligne ld bc,&f6c0 ; 5 du clavier qui out (c),c ; contient la barre xor a ; espace qui est la out (c),a ; touche exit de ce ld bc,&f792 ; programme. out (c),c ; ... ld bc,&f645 ; ... out (c),c ; ... ld b,&f4 ; ... in a,(c) ; C'est lent, tr}s lent ! ld bc,&f782 ; ... out (c),c ; ... ld bc,&f600 ; ... out (c),c ; ... rla ; Ouf ! Nous voil@ jp c,prog ; arriv{s... di ; Si espace alors on ld hl,(inter) ; s'en va, mais avant ld (&38),hl ; on nettoie tout en ld bc,&7fa0 ; repositionnant les out (c),c ; interruptions standard ei ; et en d{connectant la ret ; page I/O ASIC. ; ; Data ; Inter dw &0000  ; (en Mode 2 uniquement !!!) ; ; Par OffseT p