Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » Je suis vraiment désolé de créer un topic que pour ça mais... (51 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Jfg Ecrit le: Dimanche 16 avril 2006 à 02:45 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Je cherches à afficher des charactères propre à la TI et j'ai 2 questions:

C'est quoi la commande TIbasic pour obtenir le code ASCII d'un char ?
Comment fait t-on pour insérer un charactère dans une string en C quand on a sa valeur ?

Kill Mario
    
./Post n°1   Marquer comme non lu.
LionelA Ecrit le: Dimanche 16 avril 2006 à 09:09 Déconnecté(e)    Voir le profil de LionelA Envoyer un email à LionelA Visiter le site WEB de LionelA Envoyer un message privé à LionelA  


1) ord('A') par exemple
2) printf("\x41")
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/
    
./Post n°2   Marquer comme non lu.
Jfg Ecrit le: Dimanche 16 avril 2006 à 11:55 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


merci
Kill Mario
    
./Post n°3   Marquer comme non lu.
Jfg Ecrit le: Mercredi 3 mai 2006 à 23:48 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


ord("le charactère flèche du bas") renvoit 20, mais "\x20" ne marche pas.
Des idées pourquoi ?

edit: ahem... en fait il faut écrire la valeur du caractère en hexa dans "\x"... #triso#

-Edité le Mercredi 3 mai 2006 à 23:54 par Jfg-
Kill Mario
    
./Post n°4   Marquer comme non lu.
Jfg Ecrit le: Samedi 6 mai 2006 à 13:47 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


a t-on le droit d'écrire du code dans la RAM et de l'exécuter ?
Kill Mario
    
./Post n°5   Marquer comme non lu.
Sasume Ecrit le: Samedi 6 mai 2006 à 14:48 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Oui.
Cela dit, il y a des protections. Attends Kevin, il connaît les détails.
    
./Post n°6   Marquer comme non lu.
Pollux Ecrit le: Samedi 6 mai 2006 à 17:36 Déconnecté(e)    Voir le profil de Pollux Envoyer un email à Pollux Envoyer un message privé à Pollux  

Le plus simple est de loin de réserver de la place dans ton programme pour ton bout de code, comme ça tu n'as rien à déprotéger :) (et si ton programme est compressé, ça ne prend pas de place en archive en plus)

Sinon il faut soit exiger HWxPatch, soit faire des transitions coûteuses entre l'espace d'exécution de ton programme initial et l'espace d'exécution de ton bout de code, et ce à chaque fois que tu veux faire un jsr ou un rts de l'un vers l'autre... (comme le fait le système de DLL je crois ?)
    
./Post n°7   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 6 mai 2006 à 22:21 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Sasume :
Oui.
Cela dit, il y a des protections.

Donc non. :)
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°8   Marquer comme non lu.
Kevin Kofler Ecrit le: Samedi 6 mai 2006 à 22:29 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Pollux :
Sinon il faut soit exiger HWxPatch, soit faire des transitions coûteuses entre l'espace d'exécution de ton programme initial et l'espace d'exécution de ton bout de code, et ce à chaque fois que tu veux faire un jsr ou un rts de l'un vers l'autre... (comme le fait le système de DLL je crois ?)

Non, le système de DLLs de TIGCCLIB demande HW3Patch sur HW >=3.

La méthode des transitions, c'était ce que je faisais dans TitaniK. Il y avait en plus un hack spécial pour les interruptions: vu que 0x5000-0x5fff est toujours déprotégé, et vu que le bas de l'écran en 0x57b8-0x5aff (en fait 0x57ae-0x5aff vu qu'on peut aussi prendre les 10 derniers octets de la dernière ligne avec, mais j'ai commencé en 0x57b8 pour simplifier la vie aux logiciels) n'est pas utilisé sur TI-89 et TI-89 Titanium, je me suis servi de cette zone pour y mettre les interruptions (genre l'interruption de gris), pour ne pas devoir déprotéger à chaque fois. Déprotéger à chaque fois pour les interruptions plantait la machine, ça n'exécutait plus que des interruptions! (Le code de déprotection est trop lent.) C'est à cause de ce problème-là que je n'utilise pas cette méthode dans les DLLs _nostub, ça casserait la compatibilité source (et en plus ce hack ne fonctionnera pas si TI sort une V200 HW3 ou HW4, sauf si on accepte du gribouilli sur les 28 lignes de bas).
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°9   Marquer comme non lu.
Jfg Ecrit le: Dimanche 7 mai 2006 à 08:15 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


ok. Je vais utiliser la méthode de pollux (allocation de la mémoire dans le prgm)
-Edité le Dimanche 7 mai 2006 à 08:16 par Jfg-
Kill Mario
    
./Post n°10   Marquer comme non lu.
Sasume Ecrit le: Dimanche 7 mai 2006 à 10:05 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Vous pouvez détailler vos informations sur les protections ?
Personnellement je ne les connais toujours pas...
    
./Post n°11   Marquer comme non lu.
Kevin Kofler Ecrit le: Dimanche 7 mai 2006 à 19:38 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


La protection sur HW3 AMS 3 est simple à résumer: Tu as le droit d'exécuter du code dans les 64 KO qui appartiennent à ton programme et nulle part ailleurs. Avec AMS 2, c'était 8 ou 24 KO selon la version, le maximum, mais le HW2 qui allait avec permettait de la contourner en passant par le fameux espace fantôme. Donc en résumé, tu as le droit d'exécuter du code dans les 64 KO qui appartiennent à ton programme et nulle part ailleurs, et tu dois utiliser ExePack pour contourner la protection sur HW2 si ton programme dépasse les 8 KO.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°12   Marquer comme non lu.
Jfg Ecrit le: Dimanche 7 mai 2006 à 21:05 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Comment est-ce que l'AMS peut-il bloquer l'exécution de code? Une fois qu'un programme est lancé il ne dialogue plus qu'avec le hardware non ?
Kill Mario
    
./Post n°13   Marquer comme non lu.
Sasume Ecrit le: Dimanche 7 mai 2006 à 21:57 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Peut-être qu'AMS écrit sur des ports particuliers pour contrôler la protection anti-exécution.
Donc chaque version d'AMS pourrait écrire ce qu'elle voudrait (donc la protection pourrait évoluer en fonction de la version d'AMS), mais la protection resterait gérée par le matériel au fond.
    
./Post n°14   Marquer comme non lu.
Kevin Kofler Ecrit le: Dimanche 7 mai 2006 à 22:59 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Ce que décrit Sasume est exactement ce qui se passe. Et ces "ports particuliers" sont, eux, contrôlés par la protection qui protège aussi la FlashROM.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°15   Marquer comme non lu.
Jfg Ecrit le: Dimanche 7 mai 2006 à 23:34 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


Qu'est ce que tu veux dire par "contrôlés pas la protection qui protège la FlashROM" ?
Kill Mario
    
./Post n°16   Marquer comme non lu.
Kevin Kofler Ecrit le: Lundi 8 mai 2006 à 01:06 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Je veux dire ce que ça veut dire. #roll# Si la protection qui protège aussi la FlashROM est active, on ne peut pas modifier les réglages de la protection anti-exécution. Pour modifier les réglages, c'est une procédure à 3 étapes:
1. déprotéger les ports protégés (et la FlashROM, c'est la même protection),
2. écrire dans les ports protégés,
3. reprotéger les ports protégés (et la FlashROM, c'est la même protection).
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°17   Marquer comme non lu.
Jfg Ecrit le: Lundi 8 mai 2006 à 01:48 Déconnecté(e)    Voir le profil de Jfg Envoyer un email à Jfg Visiter le site WEB de Jfg Envoyer un message privé à Jfg  


mais comment on fait pour "déprotéger les ports protégés" ? En écrivant dans d'autres ports ?
Kill Mario
    
./Post n°18   Marquer comme non lu.
Kevin Kofler Ecrit le: Lundi 8 mai 2006 à 02:24 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


C'est la fameuse protection Flash, qu'en principe seul AMS peut déprotéger.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°19   Marquer comme non lu.
Sasume Ecrit le: Lundi 8 mai 2006 à 10:26 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Et à quoi sert cette protection FlashROM ?
    
  :: Index » Forum Ti68K » Programmation C » Je suis vraiment désolé de créer un topic que pour ça mais... (51 réponse(s))
Pages : 1/3     « [1] 2 3 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 42.53ms avec 18 requetes