Vous n'êtes pas identifié.
tiens! je suis d'accord ac X-th!
je l'ai trouvé très bien expliqué!
mais il manque de sources à mon gout!
tu devrais diversifier! ajoute les sources de duobab!
ce sont les plus instructives pr un débutant à mon goût!!
sinon très beau travail: règle juste les pitites erreurs comme l'a dit KTr, le bonsoir ki devient bonjour!
voila!
c sur !
moi g apris ac les sources de scorch !!!!
ms il ne sert a rien de mettre des sources a tout va, vaux mieux mettre un type de sources, genre jeu arcade, je pense a platinum ou Space invader !!!
Hors ligne
Ah j'ai pô encore tout lu...
Mais pour l'instant je trouve qu'il est vraiment bien fait, bon bouleau...
C un truc comme ca qu'il m'aurait fallu quand j'ai commencé a apprendre le C ( tout seul, comme un con, sans jamais venir sur le forum pour demander de l'aide...ah lala :cry: ) !
Hors ligne
Bravo casioworld excellent travail!! :bravo:
faudra juste voir un peu pour l'orthographe, mais sinon c'est génial
je crois que c'est exactement de ca que tout programmeur débutant a besoin avant de se mettre au boulot )
Hors ligne
ouai moi aussi j'aurai bien aimé avoir ca quand j'ai commencé !
pour l'orthographe, bah ... j'essaierai de corriger des fautes.
Hors ligne
merci casiomax mais c'est pas la peine. je e débrouillerai.
sinon à venir:
lire et modifier l'heure (en fait c'est enfantin comme truc)
rebooter sa graph100 et l'éteindre a partir d'un prog.
Hors ligne
Bon ben avec ce ke je T envoyé tu va y arriver ...
Hors ligne
come je l'ai dis plus ' c'est enfantin ' cela veut dire que j'y arrive très bien mais avec des routines ( soit made in me) soit de casio2.h
Désolé mais ce que tu m'a envoyé, tout est en bordel quand je l'ouvre. Mais c'est pas grave, je ne mettrai pas ta routine mais celle de casio2.h.
Hors ligne
Pourquoi tu mets pas casio2b.h ?
Au fait quelle est la version la plus complète des deux? :?:
Hors ligne
parceque casio2h y a des truc qui bugguent ma casio !!!
moi j'ai fait une compile des meilleures fonctions à mon gout ! et curieusement bcp viennent de 2072 !
Hors ligne
come je l'ai dis plus ' c'est enfantin ' cela veut dire que j'y arrive très bien mais avec des routines ( soit made in me) soit de casio2.h
Désolé mais ce que tu m'a envoyé, tout est en bordel quand je l'ouvre. Mais c'est pas grave, je ne mettrai pas ta routine mais celle de casio2.h.
??? Pkoi en bordel ??
Hors ligne
attends casioworld ?
kes ki fait plznter ta caltos?
et tu n'a pas la denire version ou y'a des ft pour regler et avoir la date
et je prefererais que laisse mon include en integrité, cad en entier.
De plus, je l'ai fait pour qu'il n'entre pas en litige avec d'autres libs
Hors ligne
les fonctions pixels avec les instruction spéciale nec font plantre ma graph100. j'ai eu le prob avec systemfakke et quand j'ai remplacé les fonctions par celle de 2072... magique tout fonction très bien.
et non je n'ai pas la dernière version avec les fonctions pour regler la date , ca m'interesserait bcp !
pour la prochaine je mettrais la librairie complete mais je ne conseillerai pas d'utiliser les fonctions pixels qui y sont mais celles de 2072.
Hors ligne
donc si tu pouvais me l'envoyé !!!
Hors ligne
En fait dans TOUCHE j'utilise les fonctions avec instructions special NECV30 (ça va qd même plus vite). Vérifie bien que le segment vidéo se trouve dans le segment es.
Hors ligne
ouais je sais pas trop je vais vérifier.
Hors ligne
je viens de telecharger le tuto: chapeau, il est tres bien fait 8O
(et en plus y ma donné la motiv, des que j'aurais TC3 je m'y met!)
Hors ligne
pour casioworld:
asm mov ax,0x1a20;asm mov es,ax
et les fonx pix/pix marcheront certainement!
Hors ligne
je vais essayer ca tout de suite !
Hors ligne
ben je vais changer les routines pour des rpoutines plus rapides et plus puissantes sans ces instructions comme ça tt le smonde sera content !
Note ces routines seront sur la base de la routines du mode D3 de whyp, juste un peu modifiée, donc aussi rapide qu'avac ces instructions spécifiques
Hors ligne
tiens voila les super routines!
//Routines C3 et D3 void setpix_c3(int x,int y,int page){ //Routine allumage pixel //Mode : Collumn C3 //Position X=0 : Droite //Position Y=0 : Bas //Modifie : CX,BX,SI,ES //Cycles : 40 asm{ mov cx,page //numero de page //4 shl cx,6 //multiplication par 64 //2 add cx,0x1a20 //ajout de la page 0 //2 mov es,cx //on le met dans es //2 mov si,y //On copie y //4 mov cx,x //On copie x //4 mov bx,cx //On en fait une copie //2 and cx,7 //Reste de division par 8 dans cl //2 shr bx,3 //on divise par 8 //3 shl bx,6 //On multiplie par 64 //2 add si,bx //On ajoute le tout a si //1 mov ch,1 //On met le state //2 shl ch,cl //on le deplace selon cl //3 or es:[si],ch}}; //On l'applique a l'octet //7 void invpix_c3(int x,int y,int page){ //Routine inversion pixel //Mode : Collumn C3 //Position X=0 : Droite //Position Y=0 : Bas //Modifie : CX,BX,SI,ES //Cycles : 40 asm{ mov cx,page //numero de page //4 shl cx,6 //multiplication par 64 //2 add cx,0x1a20 //ajout de la page 0 //2 mov es,cx //on le met dans es //2 mov si,y //On copie y //4 mov cx,x //On copie x //4 mov bx,cx //On en fait une copie //2 and cx,7 //Reste de division par 8 dans cl //2 shr bx,3 //on divise par 8 //3 shl bx,6 //On multiplie par 64 //2 add si,bx //On ajoute le tout a si //1 mov ch,1 //On met le state //2 shl ch,cl //on le deplace selon cl //3 xor es:[si],ch}}; //On l'applique a l'octet //7 void delpix_c3(int x,int y,int page){ //Routine suppression pixel //Mode : Collumn C3 //Position X=0 : Droite //Position Y=0 : Bas //Modifie : CX,BX,SI,ES //Cycles : 46 asm{ mov cx,page //numero de page //4 shl cx,6 //multiplication par 64 //2 add cx,0x1a20 //ajout de la page 0 //2 mov es,cx //on le met dans es //2 mov si,y //On copie y //4 mov cx,x //On copie x //4 mov bx,cx //On en fait une copie //2 and cx,7 //Reste de division par 8 dans cl //2 shr bx,3 //on divise par 8 //3 shl bx,6 //On multiplie par 64 //2 add si,bx //On ajoute le tout a si //1 mov ch,es:[si] //On prends l'octet //4 mov bl,0x01 //On met 1 //2 shl bl,cl //On le deplace //3 and bl,ch //On prends le bit si il existe //2 xor es:[si],bl}}; //On l'applique a l'octet //7 void setpix_d3(int x,int y,int page){ //Routine affichage pixel //Mode : Inline D3 //Position X=0 : Droite //Position Y=0 : Bas //Modifie : CX,BX,SI,ES //Cycles : 40 asm{ mov cx,page //numero de page //4 shl cx,6 //multiplication par 64 //2 add cx,0x1a20 //ajout de la page 0 //2 mov es,cx //on le met dans es //2 mov si,y //On copie y //4 mov bx,x //On copie x //4 shl si,4 //multiplie par 16 //2 mov cx,bx //on copie bl //2 shr bx,3 //On divise par 8 //3 and cx,7 //Reste de la division //2 add si,bx //On ajoute a si //1 mov ch,1 //On met 1 //2 shl ch,cl //on le deplace selon cl //3 or es:[si],ch}}; //On l'applique a l'octet //7 void invpix_d3(int x,int y,int page){ //Routine inversion pixel //Mode : Inline D3 //Position X=0 : Droite //Position Y=0 : Bas //Modifie : CX,BX,SI,ES //Cycles : 40 asm{ mov cx,page //numero de page //4 shl cx,6 //multiplication par 64 //2 add cx,0x1a20 //ajout de la page 0 //2 mov es,cx //on le met dans es //2 mov si,y //On copie y //4 mov bx,x //On copie x //4 shl si,4 //multiplie par 16 //2 mov cx,bx //on copie bl //2 shr bx,3 //On divise par 8 //3 and cx,7 //Reste de la division //2 add si,bx //On ajoute a si //1 mov ch,1 //On met 1 //2 shl ch,cl //on le deplace selon cl //3 xor es:[si],ch}}; //On l'applique a l'octet //7 void delpix_d3(int x,int y,int page){ //Routine suppression pixel //Mode : Inline D3 //Position X=0 : Droite //Position Y=0 : Bas //Modifie : CX,BX,SI,ES //Cycles : 46 asm{ mov cx,page //numero de page //4 shl cx,6 //multiplication par 64 //2 add cx,0x1a20 //ajout de la page 0 //2 mov es,cx //on le met dans es //2 mov si,y //On copie y //4 mov bx,x //On copie x //4 shl si,4 //multiplie par 16 //2 mov cx,bx //on copie bl //2 shr bx,3 //On divise par 8 //3 and cx,7 //Reste de la division //2 add si,bx //On ajoute a si //1 mov ch,es:[si] //On prends l'octet //4 mov bl,0x01 //On met 1 //2 shl bl,cl //On le deplace //3 and bl,ch //On prends le bit si il existe //2 xor es:[si],bl}}; //On l'applique a l'octet //7
voila
Hors ligne
ne change rien SuperNA, ce sont les fonctions de whyp auxquelles il manquait les deux lignes de casiomax mais les tiennes semble fonctionner.
Hors ligne
en tout cas, ces 6 routines sont les plus abouties de toutes, prends les si tu veiut
mais je les met des que ej peut dans casio2.h et je lme sort en version finale
patience, dici mercredi ou dimanche vous aurez casio2.h !
Hors ligne
j'attend, et est ce qu'il y aura des fonctions pour la date ???
Hors ligne
oui il y en aura, mais les voici en avant première lol:
//Retourne 1:Heure 2:Minute 2:Secondes par Niff unsigned char get_time(unsigned char what){ if(what!=1&&what!=2&&what!=3) return 0; asm { xor ax,ax mov dx,0x0020 mov al,what sub dx,ax in al,dx }; return _AL; } //Regle what:1=Heures 2=Minutes time:temps entre 0 et 59 (les secondes se mettent a 0) unsigned char set_time(unsigned char what,unsigned char time){ if(what!=1&&what!=2) return 0; if(time>59||time<0) return 0; asm{ xor ax,ax mov dx,0x0020 mov al,what sub dx,ax mov al,time out dx,al hlt mov al,0x03 sub al,what out 0x1D,al }; return 1; } //Retourne la date //what:0=[Jours] 1=[Mois] 2=[annee] 3=[n°jour] //jours:0=[si de la caltos] sinon=[jours ecoules depuis le 1/1/2000] //n°jour:0=Lundi -> 6=Dimanche unsigned short get_date(unsigned char what, unsigned short jours){ unsigned char mois[12]={31,28,31,30,31,30,31,31,30,31,30,31}; unsigned char nyear=0,byear=0,month=0,day=0; if(jours==0){ asm in ax,0x20;jours=_AX;} day=jours%7+5;if(day>6) day-=7; if(what==3) return day; if(jours>=366){ byear=(((jours-366)/365)/4)+1; nyear=jours/365;} if(what==2) return (2000+nyear); if(nyear%4==0) mois[1]=29; jours-=(nyear*365)+byear; debct: if(jours>=mois[month]){ jours-=mois[month]; month++; goto debct; } if(what==1) return (month+1); return (jours+1); } //Regle la date //year:[2000;2158] month:[1;12] days:[0;31] //Retourne le nombre de jours depuis 1/1/2000 unsigned short set_date(short year,char month,char days){ unsigned char mois[12]={31,28,31,30,31,30,31,31,30,31,30,31}; unsigned char byear=0; unsigned short total; year-=2000;month--;days--; byear=(year-1)/4; if(year>0) byear++; total=(year*365)+byear; if(year%4==0) mois[1]=29; for(byear=0;byear<month;byear++) total+=mois[byear]; if(days>mois[month]) total+=mois[month]; else total+=days; _AX=total; asm out 0x20,ax; return total;}
dsl j'avais trop trop trop la flemme de les éclaircir la c'est le fouillis et c'est bien ce ke je reproche à superna: ses sources sont affreusement grosses et "touffues" lol
Hors ligne