Je ne vous cache pas qu'il m'arrive parfois d'être empreint d'une certaine nostalgie : les années CPC !
Vous savez cet ordinateur familial 8bit (doté d'un... Z80!) qui a débarqué en France dès l'automne 1984 ? Au départ disponible en clavier...QWERTY !
(c'était le cas du mien, tout droit venu d'Angleterre!) et décliné en version "lecteur de cassette" (CPC464) ou lecteur de disquette (CPC 664) puis, quelques mois plus tard en version disquette et 128Ko de ram (CPC6128) et pour le moniteur : en version monochrome (vert!) ou couleur .
Bref, je vais en venir au vif du sujet : je veux vous parler de l'effet graphique appelé rasters ou rasterbars
(un bel exemple ici : https://www.youtube.com/watch?v=Oc20_swFSMc )
Et je me suis dit qu'étant donné l'utilisation de palette de couleur (en mode 8bpp, 4bpp, 2bpp, 1bpp) sur la TI83 Premium CE, c'était possible de programmer des rasters sur la TI83Premium CE !!
En fait , faire un raster c'est modifier plusieurs fois tout ou partie de la palette de couleur, et ce de façon si rapide que tout doit être fait le temps d'une synchronisation verticale.
Dans mon programme, je bascule en mode 8bpp, puis fais un fond noir, puis je trace 2 grosses ligne verticales , puis je modifie en temp réel juste l'endroit de la palette qui contenait cette couleur noir. Voilà le principe !
Je me suis mis à l'ouvrage ...et j'ai bien galéré car je ne sais pas (encore?) comment se caler sur la synchro verticale du pl111 (contrôleur LCD).
Mais bon! Il y a quand même du résultat !
Voici un petit screenshot :

et voici le code source:
(faîtes pas attention aux mini-routines de temporisation, j'ai eu tellement de mal à caler l'effet! héhé)
- Code: Select all
.nolist
#include "ti84pce.inc"
.list
.org userMem-2
.db tExtTok,tAsm84CeCmp
.assume ADL=1
di
ld hl,$e40000
ld de,$d40000
ld bc,153600
ldir
ld ix,$d40000
ld de,320
ld b,240
pot: ld (ix+40),250
ld (ix+41),250
ld (ix+42),250
ld (ix+43),250
ld (ix+120),200
ld (ix+121),200
ld (ix+122),200
ld (ix+123),200
add ix,de
djnz pot
ld a,$27
ld ($e30018),a
ld hl,$e30200
ld b,200
l00p:
ld de,0
cont: ld (hl),de
xor a
ld c,25
biig: ld a,105
tempo: dec a
jr nz,tempo
dec c
jr nz,biig
nop
nop
nop
nop
inc d ; remplacer par "inc c" pour avoir un dégradé de bleu !
dec e
jr nz,cont
ld a,222
wtp: dec a
jr nz,wtp
djnz l00p
ld a,$2d
ld ($e30018),a
ret
J'ai tenté de faire une capture video, en passant par CEmu : impossible, en fait!
Je vous conseille donc d'assembler et lancer ce code chez vous !
(ou d'en télécharger le fichier 8xp : https://tiplanet.org/forum/archives_voir.php?id=466338 )