Cracktro en ASM [Programmez]
12 sujets de 1 à 12 (sur un total de 12)
-
Le magazine Programmez de juillet/août a 5 pages consacrées à la programmation d’une cracktro Amiga en assembleur (un cube tracé au Blitter). Ces 5 pages sont une première partie. La suite dans les prochains numéros.
Il s’agit de l’étude cette cracktro :
https://www.youtube.com//watch?v=UQ6R32HAp4Y
Cette série de tutoriels est écrite par Denis Duplan, présenté comme « sociologue et développeur à ses heures ».
D’autres tutoriels d’assembleur Amiga sont présents sur son site :
Le code source de l’article de Programmez est téléchargeable à cette adresse :
http://www.stashofcode.fr/code/coder-une-cracktro-sur-amiga-1/cracktro.zip
Prédateur Chess | Amiga 500 + ACA500 | Amiga 1200 + ACA1233
Ah super ça! Je vais aller jeter un oeil, car j’adore les cracktros. A l’époque, que ce soit sur St ou Amiga, je lançais souvent les jeux juste pour voir et surtout écouter la musique des cracktros.
Ça me manque beaucoup aujourd’hui, car n’y en a pas sur whdload. Sur Falcon, ce n’est pas mieux, car j’utilise des versions patchées pour la compatibilité. Et là encore, les cracktros ont été virées.
Je n’y connais rien en asm, mais je vais regarder ça avec un grand intérêt ! Un énorme merci !
Amiga 1200+aca 1233n@40Mhz / Atari Falcon 030+CT60e@95Mhz/Atari STE 4Mo.
Merci de partager l’info 😀
Je suis en plein retour vers l’ASM68K, ça tombe donc super bien ! Ce site contient pas mal d’infos intéressante … J’aime beaucoup la protection contre les « lamers » dans le scrolltext 😀
A500 Rev6, A501, Wicher 500i, Indivision ECS, Gotek
Entre Nivelles et La Louvière ...Message supprimé à la demande de son auteur
@gibs_ c’est le principe du move quick. Ca prend un octet signé et l’envoie en 32bits sur le registre destination. L’intruction tient sur 16bits seulement et s’execute en 2 cycles si je me souviens bien [nb: timing 68000]. Bref petite et rapide cette forme de move est préférée au movel.l #-1,d1 qui est à la fois plus lent et plus long (6 octets).
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)@jul: 10000000 = -128 et pas -127. De même 10000001=-127 et pas -126. Tu as écrit le complément à 1 (et pas à 2) sauf pour le -1 final 😉
Donc reprenons:
00000000 = 0
00000001 = 1
00000010 = 2
00000011 = 3
00000100 = 4
…
01111111 = 127
10000000 = -128
10000001 = -127
…
111111100 = -4
111111101 = -3
11111110 = -2
11111111 = -1
Et là c’est bon. On constate même que le décalage à gauche (cad ajouter un 0 à droite) marche aussi pour les valeurs négatives (comparer 1, 2 et 4 puis -1, – 2 et -4).
En complément à 2 l’opposé d’une valeur v se calcule en faisant not(v)+1. Le not(v) inverse tous les bits. C’est le complément à 1. Et comme on ajoute 1 en plus, on appelle ca le complément à 2 (moyen mnémotechnique: cxomplément à 2 = complement à 1 + 1).
Au fait pourquoi not(v)+1? C’est facile à retrouver. Comme dit plus haut not(v) a tous les bits inversés par rapport à v, donc v+not(v) = 1111….1 (que des 1). Or en binaire signé 1111111 vaut la valeur -1 (calculer 00000001+111111111 en binaire pour comprendre pourquoi ca donne 00000000).
Résumons v+not(v)=111…1=-1. Si on réarrange le tout on retrouve -v=not(v)+1. CQFD.
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)
12 sujets de 1 à 12 (sur un total de 12)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Cracktro en ASM [Programmez]