TomZ Le 21/04/2002 à 16:12 lol pourquoi kan on édite on peut choisir l'icone comme un topic ?
[glow]test glow dans smiley[/glow]

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
Ximoon Le 21/04/2002 à 20:05Edité par Ximoon le 21/04/2002 à 20:07 [glow]test smiley dans glow[/glow]

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
;include "userlib.h" ; bibliothèques de fonctions utilisées par le programme
;include "DoorsOs.h"
include "graphlib.h"
include "tios.h" ; pour ti92
include "flib.h" ; pout ti92
xdef _main ; indispensable
xdef _comment ; pour afficher un commentaire
;xdef _ti92plus
xdef _ti92
;xdef _ti89
_main: ; le programme commence ici
jsr graphlib@0005 ; graphlib::clr_scr - efface l'écran
move.w #1,-(a7) ; empile la taille de la police ici taille moyenne e 6*8 pixels
jsr tios@0012 ; tios::FontSetSys - choisit la taille des aractères
addq #2,a7 ; restaure la pile de 2
lea liste,a6 ; on charge l'adresse de la liste dans a6
prc:
moveq #40-1,d7 ; il y a 40 caractères sur une ligne affichés ici de la droite vers la gauche
;moveq #26-1,d7 ; pour ti89
prc1:
move.b 0(a6,d7),d1 ; on enregistre le contenu de la d7ème valeur dans d1
cmp.w #32,d1 ; y avait-il un caractère à la ligne précédente?
bne nvide1 ; oui goto nvide1
moveq #20-1,d0 ; non alors une chance sur 20 pour en mettre un
jsr flib::random
;jsr userlib::random ; flib::random - retourne un entier pseudo-aléatoire
tst.w d0 ; si random donne 0 alors on en met un, pour cela on va au label car1
bne ncar1 ; sinon on va à ncar1
car1:
st d0 ; on défini l'intervalle, ici [0,255]
jsr flib::random
;jsr userlib::random ; flib::random - retourne un entier pseudo-aléatoire
move.w d0,d5
car3:
move.w d7,d2 ; on effectue la boucle avec d7 alors il ne faut pas trop le modifier
mulu.w #6,d2 ; les caractères ont 6 pixels de large
move.l #$000000FF,-(a7) ; là, c'est optimisé...
move.l #$000400FF,-(a7) ; couleur 4=noir sur blanc
clr.w -(a7) ; y première ligne donc 0
move.w d2,-(a7) ; x
move.w d5,-(a7) ; code du caractère
jsr tios@0011 ; DrawCharXY
lea 14(a7),a7 ; restaure la pile de 2+2+2+2+2+2+2=14
move.b d5,0(a6,d7) ; on enregistre d5 dans la d7ème valeur de la liste
ncar1:
dbra d7,prc1 ; caractère suivant
clr d0 ; x tout à gauche donc 0
clr d1 ; y première ligne donc 0
moveq #20,d2 ; largeur en octets
moveq #100,d3 ; hauteur en pixels
jsr graphlib@0009 ; scrtomem - copie tout l'écran sauf la dernère ligne de caractères
moveq #8,d1 ; y deuxième ligne donc 8=hauteur d'un caractère avec cette taille de police
jsr graphlib@000A ; memtoscr - recopie l'écran copié plus haut à partir de la deuxième ligne
move.w #$E000,d0 ; ralentit un peu en effectuant rien du tout $E000 fois
wait:
dbra d0,wait ; effectue la boucle $E000=57344 fois
btst #1,$60001A ; test le bit de [on] et quitte si [on] est appuyé
bne prc ; sinon goto prc
rts ; quitte le programme
nvide1: ; il y a un caractère alors une chance sur 10 pour qu'il n'y en ait plus
moveq #10-1,d0 ; intervalle: [0,9]
jsr flib::random
;jsr userlib::random ; flib::random - retourne un entier pseudo-aléatoire
tst.w d0 ; si random donne 0 alors on enlève le caractère - voir plus bas
bne car1 ; sinon on continue d'en mettre au label car1
moveq #32,d5 ; d5 contient le code du caractère à entrer dans la liste si $20 alors aucun
bra car3 ; va à car3 pour afficher la caractère et entrer la valeur dans la liste
_comment dc.b "Ximoon's Matrix Viewer 1.4",0 ; ledit commentaire
bss ; on gagne un peu de place avec un bss
liste ds.b 40 ; liste de 40 éléments dans laquelle sont stockés les codes des caractères
;liste ds.b 26 ; sur ti89
end

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.
rtete
Define p_dectxt(s_lgn,s_cpt)=Prgm
Local l_tmp,s_lgn,l_dim,l_txt,l_cur,l_cnt,l_mid
dim(s_lgn)»l_dim
{}»l_txt
1»l_cur
while l_curœl_dim
int(s_cpt/(3.5))»l_cnt
mid(s_lgn,l_cur,l_cnt)»l_mid
vertel("txt_wdth",l_mid,"/","exe_retr","x_xtern1")
If x_xtern1[1]>s_cpt Then
while x_xtern1[1]>s_cpt
left(l_mid,dim(l_mid)-int((x_xtern1[1]-s_cpt)/(3.5))-1)»l_mid
vertel("txt_wdth",l_mid,"/","exe_retr","x_xtern1")
Endwhile
dim(l_mid)»l_cnt
EndIf
inString(l_mid,"¨")»l_tmp
If l_tmp>0 Then
l_tmp-1»l_cnt
Else
mid(s_lgn,l_cur+l_cnt,1)»l_tmp
while l_tmp" " and l_tmp""
l_cnt-1»l_cnt
If l_cnt>0 Then
mid(s_lgn,l_cur+l_cnt,1)»l_tmp
Else
""»l_tmp
EndIf
Endwhile
EndIf
mid(s_lgn,l_cur,l_cnt)»l_txt[dim(l_txt)+1]
l_cur+l_cnt+1»l_cur
Endwhile
l_txt»x_xtern1
EndPrgm

Que cache le pays des Dieux ? -
Forum Ghibli -
Forum LittéraireLa fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.