π
<-

News 2024
June (4)
May (4)
April (2)

News 2023
August (2)
July (3)
June (3)
May (7)
April (2)
March (3)

News 2022
August (3)
July (1)
June (4)
May (1)
April (6)
March (4)
January (12)

News 2021
August (8)
July (28)
June (20)
May (19)
April (25)
March (15)

News 2020
August (16)
July (13)
June (17)
May (38)
April (21)
March (17)

News 2019
August (10)
July (3)
June (4)
May (11)
April (8)
March (18)
January (14)

News 2018
August (5)
July (1)
June (9)
May (10)
April (2)
March (14)
January (12)

News 2017
August (10)
July (14)
June (14)
May (11)
April (9)
March (12)
January (11)

News 2016
October (10)
August (8)
July (4)
June (8)
May (14)
April (9)
March (13)
January (11)

News 2015
October (15)
August (11)
July (4)
June (7)
May (12)
April (6)
March (11)

News 2014
August (2)
July (4)
June (2)
May (5)
April (4)
March (5)

News 2013
August (6)
July (6)
June (8)
May (14)
April (24)
March (16)
January (10)

News 2012
October (11)
August (6)
July (7)
June (8)
May (16)
April (16)
March (6)

News 2011
August (4)
July (4)
June (11)
May (5)
April (2)
March (6)

News 2010
July (1)
June (1)
May (2)
April (1)

News 2009
August (2)
April (1)

Concours d'optimisation sur z80.

New postby nikitouzz » 02 Aug 2012, 23:01

Comme je me suis dit que pendant les vacances, il n'y avait rien de special, je me suis permis de lance un petit concours sur Espace-TI ici

J’arrête de recevoir les optimisations lundi 6/08/2012 a 00h00, envoyez-moi vos codes le dimanche car le lundi ça sera trop tard, je les corrige le matin même et à 6-7 heure les resultat seront là :)

Il s'agit d'un concours d’optimisation, j'y ai inclus deux codes l'un en Axe et l'autre en TI-basic, le but étant de réduire leur taille sans que leur fonctionnement ne change, pour le premier tour.

(eh non il n'y a rien à gagner par contre j'aurais bien offert une nspire_cx cas mais c’était un peu cher ^^ )



Pour participer, envoyez-moi vos réponses en MP ou a cette adresse : sacha.stef@hotmail.fr
attention !!! il faut participer dans une seule catégorie, pas les deux !!!!

Axe : c'est un moteur de jeu donc le screen est plus bas.

Code: Select all
:[FF818181818181FF]→pic0
:[FFC3A59999A5C3FF]→pic1
:[0000000000000000]→pic9
:0→S
:1→A
:2→B
:ClrDraw
:Repeat getKey(15)
:Pt-Change(A*8,B*8,Pic0)
:DispGraph
:Pt-Change(A*8,B*8,Pic0)
:Pause 100
:If getKey(1) and (B≠7) and (pxl-Test(A*8,B+1*8)=0)
:B+1→B
:S++
:pause 250
:End
:If getKey(2) and (A≠1) and (pxl-Test(A-1*8,B*8)=0)
:A-1→A
:S++
:pause 250
:End
:If getKey(3) and (A≠11) and (pxl-Test(A+1*8,B*8)=0)
:A+1→A
:S+1→S
:pause 250
:End
:If getKey(4) and (B≠1) and (pxl-Test(A*8,B-1*8)=0)
:B-1→B
:S+1→S
:pause 250
:End
:If getKey(3) and (pxl-Test(A+1*8,B*8)=1) and (pxl-Test(A+2*8,B*8)=0) and (A≠10) and (pxl-Test(A+1*8+1,B*8+2)=0)
:Pt-Off(A+1*8,B*8,Pic9)
:Pt-Off(A+2*8,B*8,Pic1)
:A+1→A
:S+1→S
:pause 250
:End
:If getKey(2) and (pxl-Test(A-1*8,B*8)=1) and (pxl-Test(A-2*8,B*8)=0) and (A≠2) and (pxl-Test(A-1*8+1,B*8+2)=0)
:Pt-Off(A-1*8,B*8,Pic9)
:Pt-Off(A-2*8,B*8,Pic1)
:A-1→A
:S+1→S
:pause 250
:End
:If getKey(1) and (pxl-Test(A*8,B+1*8)=1) and (pxl-Test(A*8,B+2*8)=0) and (B≠6) and (pxl-Test(A*8+1,B+1*8+2)=0)
:Pt-Off(A*8,B+1*8,Pic9)
:Pt-Off(A*8,B+2*8,Pic1)
:B+1→B
:S+1→S
:pause 250
:End
:If getKey(4) and (pxl-Test(A*8,B-1*8)=1) and (pxl-Test(A*8,B-2*8)=0) and (B≠2) and (pxl-Test(A*8+1,B-1*8+2)=0)
:Pt-Off(A*8,B-1*8,Pic9)
:Pt-Off(A*8,B-2*8,Pic1)
:B-1→B
:S+1→S
:pause 250
:End
:End


un peu d'aide : Image

TI-basic : c'est un petit jeu tout simple qui est bien lourd pour sa simplicitee

Code: Select all
:Lbl 0:0→∟AD(1)
:Menu("JEUX","jouer",8,"quitter",9)
:Lbl 8
:ClrHome
:200→D
:Output(4,6,"00000")
:Output(5,6,"0  0")
:Output(6,6,"0  0")
:Output(7,6,"0  0")
:Output(8,6,"00000")
:Lbl 1
:∟AD+1→∟AD
:randInt(1,9)→A
:Repeat D=0
:D-1→D
:Output(1,1,"    ")
:Output(1,1,D)
:Output(2,1,∟AD(1))
:Output(6,8,A)
:0→B
:getKey→B
:B+A→C
:If C=93 or C=95 or C=97 or C=86 or C=88 or C=90 or C=79 or C=81 or C=83
:Goto 1
:End
:ClrHome
:Output(3,5,"SCORE:)
:Output(4,6,∟AD(1))
:If ∟AD(1)>∟AC(1)
:∟AD(1)→∟AC(1)
:Pause
:Goto 0
:Lbl 9
:ClrHome
:Output(4,6,"sacha")
:Output(1,1"")


pas besoin de screen pour celui la ;-)



voila voila ( phrase que je ne supporte pas entendre ^^ ) il faut m’optimiser tout ça pour le lundi 6/08 et envoyez-moi vos réponses dans une seule catégorie :)
Last edited by nikitouzz on 05 Aug 2012, 12:01, edited 2 times in total.
Link to topic: Concours d'optimisation sur z80. (Comments: 5)

Résultat du premier tour du concours d'optimisation.

New postby nikitouzz » 06 Aug 2012, 00:31

Voici les resultat du petit concours d'optimisation que j'ai lancé il y a une semaine :)

En Axe le premier est Runer112 sur les 5 participant :) Il reporte haut la main avec un code optimiser a 436 octets, en reprenant fidèlement mon code de départ dans ses moindre détaille :) je tiens a le felicitee pour son code qui est pour moi parfait :)

il va donc en finale :)

Code de depart :
Code: Select all
:ClrHome
:[FF818181818181FF]→pic0
:[FFC3A59999A5C3FF]→pic1
:[0000000000000000]→pic9
:0→S
:1→A
:2→B
:ClrDraw
:Repeat getKey(15)
:Pt-Change(A*8,B*8,Pic0)
:DispGraph
:Pt-Change(A*8,B*8,Pic0)
:Pause 100
:If getKey(1) and (B≠7) and (pxl-Test(A*8,B+1*8)=0)
:B+1→B
:S++
:pause 250
:End
:If getKey(2) and (A≠1) and (pxl-Test(A-1*8,B*8)=0)
:A-1→A
:S++
:pause 250
:End
:If getKey(3) and (A≠11) and (pxl-Test(A+1*8,B*8)=0)
:A+1→A
:S+1→S
:pause 250
:End
:If getKey(4) and (B≠1) and (pxl-Test(A*8,B-1*8)=0)
:B-1→B
:S+1→S
:pause 250
:End
:If getKey(3) and (pxl-Test(A+1*8,B*8)=1) and (pxl-Test(A+2*8,B*8)=0) and (A≠10) and (pxl-Test(A+1*8+1,B*8+2)=0)
:Pt-Off(A+1*8,B*8,Pic9)
:Pt-Off(A+2*8,B*8,Pic1)
:A+1→A
:S+1→S
:pause 250
:End
:If getKey(2) and (pxl-Test(A-1*8,B*8)=1) and (pxl-Test(A-2*8,B*8)=0) and (A≠2) and (pxl-Test(A-1*8+1,B*8+2)=0)
:Pt-Off(A-1*8,B*8,Pic9)
:Pt-Off(A-2*8,B*8,Pic1)
:A-1→A
:S+1→S
:pause 250
:End
:If getKey(1) and (pxl-Test(A*8,B+1*8)=1) and (pxl-Test(A*8,B+2*8)=0) and (B≠6) and (pxl-Test(A*8+1,B+1*8+2)=0)
:Pt-Off(A*8,B+1*8,Pic9)
:Pt-Off(A*8,B+2*8,Pic1)
:B+1→B
:S+1→S
:pause 250
:End
:If getKey(4) and (pxl-Test(A*8,B-1*8)=1) and (pxl-Test(A*8,B-2*8)=0) and (B≠2) and (pxl-Test(A*8+1,B-1*8+2)=0)
:Pt-Off(A*8,B-1*8,Pic9)
:Pt-Off(A*8,B-2*8,Pic1)
:B-1→B
:S+1→S
:pause 250
:End
:End


Code d'arrivée :
Code: Select all
:0->^^oDEBUG
:[FF818181818181]->Pic0
:[FFC3A59999A5C3FF]->Pic1
:L1+706->Pic9
:ClrDraw(L1)
:ClrDraw
:2*96+1+L6->P->r2
:(Pic0)Draw()
:...If ^^oDEBUG
:4*96+4+L6->r2
:(Pic1)Draw()
:...
:While 1
:DispGraph
:Pause 100
:4
:While 1
:End!If Select(,TryMv())-1
:3
:While 1
:End!If Select(,TryPs())-1
:4TryPs()
:EndIf getKey(15)
:Lbl KOfs
:[60FF01A0]->GDB0
:Return sign{r1-1+GDB0}
:Lbl CanMv
:ReturnIf +P->r2 and |EDF-|E9381*3plotdot|E0820
:Return {r2}
:Lbl TryMv
:Return!If getKey(->r1)
:Lbl Mv
:ReturnIf KOfs()CanMv()
:r2->P
:S++
:Pause 250
:Pic0
:Lbl DrwMv
:Draw()
:-96->r2
:Pic9
:Lbl Draw
:For(8)
:Select(,{}->{r2}+12->r2)+1
:End
:Lbl SKOfs
:r2-KOfs()
:Return
:Lbl TryPs
:Return!If getKey(->r1)
:ReturnIf KOfs()*2CanMv()
:ReturnIf {SKOfs()+12} xor |EC3
:(Pic1)DrwMv()
:Goto Mv


Code le plus optimisé :
Code: Select all
:0->^^oDEBUG
:[FF818181818181]->Pic0
:[FFC3A59999A5C3FF]->Pic1
:L1+706->Pic9
:ClrDraw(L1)
:ClrDraw
:2*96+1+L6->P->r2
:(Pic0)Draw()
:...If ^^oDEBUG
:4*96+4+L6->r2
:(Pic1)Draw()
:...
:While 1
:DispGraph
:Pause 100
:4
:While 1
:End!If Select(,TryMv())-1
:3
:While 1
:End!If Select(,TryPs())-1
:4TryPs()
:EndIf getKey(15)
:Lbl KOfs
:[60FF01A0]->GDB0
:Return sign{r1-1+GDB0}
:Lbl CanMv
:ReturnIf +P->r2 and |EDF-|E9381*3plotdot|E0820
:Return {r2}
:Lbl TryMv
:Return!If getKey(->r1)
:Lbl Mv
:ReturnIf KOfs()CanMv()
:r2->P
:S++
:Pause 250
:Pic0
:Lbl DrwMv
:Draw()
:-96->r2
:Pic9
:Lbl Draw
:For(8)
:Select(,{}->{r2}+12->r2)+1
:End
:Lbl SKOfs
:r2-KOfs()
:Return
:Lbl TryPs
:Return!If getKey(->r1)
:ReturnIf KOfs()*2CanMv()
:ReturnIf {SKOfs()+12} xor |EC3
:(Pic1)DrwMv()
:Goto Mv



En Basic le gagnant est Linkaro qui remporte le concours avec un score moyen car aucun des 6 participants n'a su me faire un code fonctionnel a 100%.

Il va donc en finale :)

Code de depart :
Code: Select all
:Lbl 0:0→∟AD(1)
:Menu("JEUX","jouer",8,"quitter",9)
:Lbl 8
:ClrHome
:200→D
:Output(4,6,"00000")
:Output(5,6,"0  0")
:Output(6,6,"0  0")
:Output(7,6,"0  0")
:Output(8,6,"00000")
:Lbl 1
:∟AD+1→∟AD
:randInt(1,9)→A
:Repeat D=0
:D-1→D
:Output(1,1,"    ")
:Output(1,1,D)
:Output(2,1,∟AD(1))
:Output(6,8,A)
:0→B
:getKey→B
:B+A→C
:If C=93 or C=95 or C=97 or C=86 or C=88 or C=90 or C=79 or C=81 or C=83
:Goto 1
:End
:ClrHome
:Output(3,5,"SCORE:)
:Output(4,6,∟AD(1))
:If ∟AD(1)>∟AC(1)
:∟AD(1)→∟AC(1)
:Pause
:Goto 0
:Lbl 9


Code d'arrivée :
Code: Select all
DelVar SClrHome
randInt(1,9→A
For(D,200,1,¯1
Output(2,2,"  "
Output(2,1,D
Output(3,1,S
Output(1,1,A
getKey→B
{92,93,94,82,83,84,72,73,74
If B=Ans(A
Then
S+1→S
randInt(1,9→A
End
End
ClrHome
max(S,∟AC(1→∟AC(1
Disp "SCORE:
S


Code le plus optimisé : ( ici c'est le mien )
Code: Select all
:0->S
:900->C
"Menu("","",1,"",2
:Lbl 1
:randint(1,9->F
:while C
:output(2,3,F
:output(5,1,C
:output(4,1,S
:C-1->C
:{92,93,94,82,83,84,72,73,74
:If getkey=Ans(F
:then
:S+1->S
:randint(1,9->F
:end
:end
:Lbl 2
:output(1,1,""
:output(4,6,"SACHA"



Pour la finale :

Le but est de me programmer un snake, en basic pour linkaro et en Axe pour runer112 le plus simple et le plus optimisé possible.
Le code qui techniquement sera supérieur à l'autre sera vainqueur (ne vous inquiétez pas je vais compter l’écart de puissance entre le basic et l'axe).

La finale commence dés aujourd'hui et finis le 16/08/2012 a 12 heures pile. :)

Bonne chance a vous runer112 et linkaro :)


edit by Laurae : majuscules manquantes et erreurs d'orthographe corrigés

1ère phase du dumping de la TI-81 V2.00

New postby critor » 10 Aug 2012, 19:22

Dans une news précédente, nous vous découvrions une version apparemment très rare de la TI-81, la V2.00.
771


Par la suite, grâce à un généreux prêt d'un des membres les plus réputés de la communauté TI-z80 anglophone, nous avions pu vous réaliser un test matériel de cette calculatrice.



TI-Planet a toujours oeuvré pour la sauvegarde du patrimoine historique des calculatrices graphiques en voie de disparition.

Nous avons déjà de nombreux sauvetages réalisés, qui incluent entre autres des photos externes et internes, mais surtout le "dumping" (numérisation) du contenu de la ROM avant que le dernier exemplaire au monde n'ait cessé de fonctionner:


Petite particularité de la TI-81, elle ne dispose pas de prise de communication mini-Jack.

Les TI-81 V2 ont bien l'emplacement pour la prises mini-Jack en interne puisqu'utilisant une carte mère de TI-82, mais les composants nécessaires ne sont pas soudés.
Image


Le dumping s'effectue donc d'une façon fort originale, en exécutant un programme assembleur saisi à la main via une faille, et en filmant le contenu de la ROM qui défile à l'écran.

Découvrez enfin la méthode en image:
1230




Mon nouveau film "TI-81 V2.00" est désormais bouclé, et je vous dis à très bientôt pour la phase OCR! :#top#:



Lien:
Méthode de dumping TI-81
Link to topic: 1ère phase du dumping de la TI-81 V2.00 (Comments: 3)

TI-84: après l'infrarouge, le bluetooth !

New postby critor » 15 Aug 2012, 21:26

WiFi et Bluetooth sont deux technologies de communication sans-fil.

Leurs possibilités sont loin d'être exclusives, mais on peut simplifier de la façon suivante:
  • le Wifi sert plutôt à faire communiquer des ordinateurs via un réseau, remplaçant ainsi le câble Ethernet
  • le Bluetooth se concentre plutôt sur la communication avec des périphériques, remplaçant ainsi le câble USB



Sur plusieurs calculatrices HP, on dispose d'origine de capacités de communication sans fil via une paire de diodes infrarouge.

C'est le cas notamment sur les HP-50G:
Image


Mais c'est bien loin d'être une nouveauté, puisque c'était déjà une possibilité offerte sur les HP-48S de 1991! :#top#:

Couplée avec deux programmes assembleur d'enregistrement/émission de signaux, il était même possible de copier les codes de la télécommande télé infrarouge pour faire des farces à Papa et Maman le soir, comme des changements de chaînes ou extinctions 'fantôme'! :#langue#:



Chez Texas Instruments, pas de diode infrarouge dans les calculatrices.
Toutefois, on trouve nombre de pages qui expliquent comment se fabriquer un émetteur-recepteur infrarouge à brancher sur le port mini-Jack des TI-z80.

Ces montages ont eu hélas assez peu de succès et d'intérêt pour diverses raisons:
  • nécessité d'acheter du matériel électronique en magasin spécialisé
  • besoin de soudures
  • peu d'intérêt si on n'équipe pas au moins deux calculatrices
  • il vaut mieux que les deux calculatrices soient équipées de montages similaires, de part l'absence de norme
  • les calculatrices équipées doivent être placées face à face pour la communication, à seulement quelques centimètres d'écart, et sans aucun obstacle opaque entre les deux


Et bien ces deux derniers points sont en phase de voler en éclat avec une nouvelle approche, celle de nemo sur hackniac.com!

Car là c'est du sérieux: ce n'est pas de l'infrarouge mais du bluetooth! :o:
Oui, désormais même si un mur de béton peut sépare vos calculatrices, le signal passe quand même! :#top#:

De plus, le Bluetooth est une norme! Deux émetteurs/récepteurs différents doivent pouvoir communiquer entre eux! :bj:

Image


Comme pour l'infrarouge par contre, l'extension vient se brancher sur la prise mini-Jack: il n'y a pas encore de gestion de l'USB.



Félicitons nemo pour cet exploit, en espérant que son projet aura le succès qu'il mérite, c'est-à-dire au moins plus que l'infrarouge!




Source:
http://www.hackniac.com/blog/?p=1139
Link to topic: TI-84: après l'infrarouge, le bluetooth ! (Comments: 1)

Ecran tactile sur z80 ?

New postby nikitouzz » 19 Aug 2012, 23:00

-----La vidéo ci-dessous date de 2010 : si la news a déjà été faite, prévenez-moi rapidement-----

J'ai remarqué que quelqu'un a demandé sur TI-Planet si cette vidéo était un fake :



Après le visionnage de la vidéo, je suis resté perplexe... fake ou pas fake, vu le réalisme de la vidéo et ce qu'en dit l'auteur tout porte à croire que ce n'est pas un fake.

Cela voudrait dire beaucoup de choses car l’implémentation d'un écran tactile sur z80 serait une grande avancée en termes de technologie z80 : sauf erreur de ma part, c'est la première fois que quelqu'un réussit un tel exploit (sauf si c'est truqué, bien sûr)

On peut remarquer sur la vidéo la brillance anormale de l’écran de la calculatrice. Cela peut être dû à la mise en place du matériel nécessaire à l'implémentation de l’écran "tactile" (puisque au final ce n'est pas vraiment l’écran qui est tactile). On remarque aussi (sauf erreur de ma part) l'utilisation d'une carte Arduino, ce qui expliquerait le "tactile" de l’écran. On peut donc supposer que tout cela est codé en ASM.

Excusez-moi si cette vidéo est un fake pour avoir fait une news inutile.
Link to topic: Ecran tactile sur z80 ? (Comments: 4)

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
473 utilisateurs:
>459 invités
>5 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)