Autorisation : Membre
Nb de messages : 149
Inscrit le : Sam 28 Nov 2009, 16:09
Posté le : Sam 10 Déc 2011, 21:26
Salut à tous !
/!\ Ceci est un programme en ASSEMBLEUR. Si vous n'avez pas le câble ou pas d'émulateur, passez votre chemin, pas la peine de me demander un code en basic.
Voici... CUBEFIELD !
En assembleur total et absolu (Eh ouais j'utilise pas de convertisseur moi xd).
Petit conseil : normalement il n'y a aucune raison que ça plante mortellement et que ça reset la RAM de votre TI, mais je vous conseille tout de même de sauvegarder vos programmes importants sur votre ordinateur avant de tester celui là (on ne sait jamais)
Petit screenshot :
Le jeu tourne à peu près à 60 FPS (sans déconner ^^)
touches :
[gauche],[droite] : se mouvoir
[annul] : quitter à tout moment
[mode] : mettre en pause / reprendre lorsque le jeu est en pause
[2nde] : sortir du jeu lorsque l'on a perdu (important) / sortir de la pause
But du jeu :
Eviter les cubes.
A noter qu'il existe un High score (non nominatif)
Pour les curieux, voici le code en assembleur (note : les fonctions telles que Putsprite n'existent pas en assembleur, je les ai codés moi même à coup de define)
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Dim 11 Déc 2011, 10:59
Citer
(note : les fonctions telles que Putsprite n'existent pas en assembleur, je les ai codés moi même à coup de define)
Amusant ... je ne vois pourtant qu'un seul define.
ET au vu des quelques rudiments que j'ai en assembleur, je n'en ai vu qu'un, et je croyais que c'était une autre instruction, du genre ... je sais plus quoi, mais pas un define
Par ailleurs une autre question si je veux recopier ça (la question n'est pas où, ça je sais xD), il faut que je saute les lignes et que je marque tout au caratère près même la ligne avec le pixel test et tous les points virgule ?
Sinon, belle réussite coco, vraiment
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Moi perso ça me sert beaucoup (après je crois que je suis un des rares programmeurs en ASM ici :p)
Sinon snap je serais totalement incapable de t'apprendre l'assembleur, en fait j'ai appris plus ou moins tout seul avec des trucs sur internette. Mais souvent on ne trouve que des bribes de code, comme 'exemple d'utilisation de ionputsprite, mais avec de l'entraînement ça finit par rentrer.
En fait on apprend pas mal en regardant le code de programmes en assembleur déjà faits (par exemple j'ai énormément appris de Falldown). En tout cas si vous voulez vous y mettre bon courage, il en faut ^^
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Dim 11 Déc 2011, 16:22
Est ce que c'est possible d'avoir un équivalent en hexadécimal? J'ai pas le cable
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 149
Inscrit le : Sam 28 Nov 2009, 16:09
Posté le : Dim 11 Déc 2011, 16:24
Si tu es prêt à recopier 1000 petits caractères sans aucune erreur autorisée (sinon mémoire cleaered), tu peux toujours tenter de l'ouvrir avec un éditeur hexadécimal et le recopier.
Personnellement, je pense que c'est une mauvais idée :p
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Dim 11 Déc 2011, 16:29
euh ouais. O_o sinon tu peux me donner un exemple d'editeur?
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 149
Inscrit le : Sam 28 Nov 2009, 16:09
Posté le : Dim 11 Déc 2011, 16:40
D'éditeur pour écrire en assembleur ?
Ben... Bloc-notes !
Ce programme est largement suffisant.
Personnellement j'utilise Notepad++ qui est une version améliorée de Bloc-notes, que je trouve plus pratique.
Après pour compiler et tout ça, il existe des programmes spéciaux.
Si vous voulez avoir des petites notions, allez voir sur : http://www.siteduzero.com/tutoriel-3-57-apprendre-l-asm-z80-pour-ti.html
Bon c'est pour Ti 83 +, et il faut utiliser un émulateur (sauf si vous avez une Ti 83+, mais si vous débutez en assembleur je vous conseille vivement d'utiliser un émulateur). Mais vous avez tous els outils de compilation, dont ceux pour ti 83, si vous êtes un peu débrouillards
Autorisation : Membre
Nb de messages : 369
Inscrit le : Dim 13 Fév 2011, 14:17
Posté le : Lun 12 Déc 2011, 21:04
Petite question pour -coco- (oui je sais je suis très énervant )
Dans un tuto pour z80 le mec dit sa
Citer : mec qui dit sa
Logiquement, ils peuvent donc contenir des valeurs de %00000000 à %11111111, c'est-à-dire entre 0 et 255. Votre programme ne sera pas compilé en cas de dépassement.
Mais le truc que j'ai pas compris c'est comment on reconnait les valeur. Comment on peut savoir que %11111111 c'est 255?
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 12 Déc 2011, 21:46
C'est le language binaire.
1001 base 2 = 2^3+2^0 = 9
1011 base 2 = 2^3+2^1+2^0 = 11
11111111 base 2 = 2^8-1 = 255
Le 2^8-1 c'est pour éviter 2^7+2^6+...+2^0
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 12 Déc 2011, 22:06
C'est indispensable pour manipuler des languages de bas niveau comme l'assembleur. Ne serait-ce que pour comprendre ce que fait ton compilateur.
Je te rappelles que toute l'électronique se sert du language binaire.
Une TI en assembleur c'est comme un microcontrôleur : tu as des périphériques et des adresses mémoire numérotées en hexadécimal voire en binaire.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 13 Déc 2011, 12:26
Le h signifie hexadécimal et b binaire.
C8 hexa = 12*16+8 = 200
11001000 bin = 128+64+8 = 200
Si tu as du mal avec les calculs ou si tu n'as jamais eu de cours, utilise la calculatrice windows en mode programmeur pour convertir toutes les bases 2,8,10,16.
( ou bien utilise ta TI avec mon programme de convertion )
----
ION est écrit en assembleur classique. Il permet de lire des programmes écris dans un language différent et surtout compilés autrement qu'en hexadécimal habituel.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
téléchargez ion ici (utilisez les progs en 83p !!). les 3 programmes indispensables sont ION, IONZ et ZMINFO. le reste c'est des modules facultatifs.(n'utilsez pas celui apellé "minuscules", c'est pour les 83+ ! erreur de rangement de ma part !
une fois les progs dans votre TI, éxécutez ION. ça écrit "ION Installed" et deux programmes A et thêtaION se créent.
Vous pouvez supprimmer ION et IONZ pour gagner de la place, mais conservez les deux autres (ou alors supprimez A et faites un nouveau prog du nom de votre choix en écrivant:
:Envoi(9prgm@ION
:EffEcr
envoyez ensuite vos progs en ASM, et quand vous éxécutez A, il apparait une liste de vos programmes en ASM.Quittez ION en faisant [2nd][mode].
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Mer 14 Déc 2011, 13:59
Quand on a compris c'est simple sur le principe ne t'en fais pas
Toi tu comptes en base 10, base décimale, avec des nombres variant de 0 à 10.
Le binaire est en base 2, avec des 0 et des 1.
Le nombre 00110101 sera donc égal à (en partant de la droite) :
1*2^1 + 0*2² + 1*2^3 + 0*2^4 + 1*2^5 + 1*2^6 + 0*2^7 + 0*2^8
Soit : 1 + 0 + 8 + 0 + 32 + 64 + 0 + 0
= 105
Voila !
Le calcul en hexa reprend les mêmes bases, sauf qu'avec des 1 et des 0, on a 0123456789ABCDEF, avec A=10,B=11, etc jusqu'à F=15.
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO