1

Bonjour a tous, et oui pour beaucoup d'entre vous le soleil est de la partie et ces deux rigolos de Folco et GT postent leur premier tuto, ca c'est bien malin !!

Voici le lien pour télécharger la première partie du premier tuto :

http://www.jagware.org/~c.v.s.d.//Tuto%2068000/TUTO6811.S

Le tuto se présente sous la forme d'un source directement assemble sous Devpac et je pense Assemble aussi, voire surement d'autres assembleurs qui sait.


Soyez indulgent avec nous, car comme on dit 'chez nous' : we do what we can wink

Enfin bon, on commence 'enfin' la chose. Folco m'a fait la remarque les accents passent pas, car le tuto a été écrit sur un Atari et donc le transfert passe un peu mal pour les accents, la seconde partie les accents finiront directement a la corbeille. Comme cela ca sera plus clair pour ceux qui tournent sur PC ( la honte wink )

Surtout n'hésitez pas a posez des questions, des améliorations, tant que cela sera constructif on le prendra avec le sourire pour le reste, allez sur un forum Amiga pour les plaintes wink


GT Et Folco calin

Tuto 1 : http://www.jagware.org/~c.v.s.d.//Tuto%2068000/TUTO6811.S
Tuto 2 : http://www.jagware.org/~c.v.s.d.//Tuto%2068000/TUTO6802.S
Tuto 2 : http://www.jagware.org/~c.v.s.d.//Tuto%2068000/TUTO6803.S
Tuto 2 : http://www.jagware.org/~c.v.s.d.//Tuto%2068000/TUTO6804.S

Edit : Insertion lien tuto 2, tuto 3, tuto 4
Edit : modification tuto 4 (Suite a coquille (Merci a Nalfus))
avatar
Accrochez vous ca va être Cerebral !!

2

(j'ai mis le topic en annonce wink)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

3

vince (./2) :
(j'ai mis le topic en annonce wink)


Merci smile

Pour cela rappelle moi que je te donne un paquet de dragibus a la prochaine partie wink

GT Plein de bonbons Haribo !!!
avatar
Accrochez vous ca va être Cerebral !!

4

Merci à GT Turbo et Folco...

Vais m'essayer sur un Real Atari boing
Ccarl

5

cool
jchn

6

Merci pour cette première étape. Etant informaticien, ça ne me choque pas qu'on parle de long, de word, de byte (octet) sans donner concrètement d'exemple, mais pour ceux qui débutent totalement, pas sûr que ce soit bien clair. Peut-être qu'un petit rappel sur le binaire et aurait été nécessaire (même si on trouve facilement sur le web évidemment).
Mais merci en tout cas !
Atari 520 STE - 4 Mo - HxC/Floppy - CosmosEx
Atari Falcon 030 - 14 Mo - CF intégrée et disque interne IDE 40 Go - CT60 à 90 MHz 256 Mo - SuperVidel - Svethlana / Sous FreeMint/MyAES
Amiga 500/600+Vampire v2/1200+Blizzard 1260-PPC/2000 - Amstrad CPC - Sharp X68000

7

huggyone76 (./6) :
Merci pour cette première étape. Etant informaticien, ça ne me choque pas qu'on parle de long, de word, de byte (octet) sans donner concrètement d'exemple, mais pour ceux qui débutent totalement, pas sûr que ce soit bien clair. Peut-être qu'un petit rappel sur le binaire et aurait été nécessaire (même si on trouve facilement sur le web évidemment).
Mais merci en tout cas !


Merci pour l'information smile On expliquera plus clairement cela bientot, mais on voulait juste donné une vision globale de la syntaxe 68000, si effectivement d'autres personnes considèrent qu'une explication de suite soit necessaire on la fera de suite.

La seconde partie sera un peu 'lourde' mais après vous pourrez afficher du texte et deja commencé a utiliser certaines fonctions de l'Atari !!

Folco et GT groupe
avatar
Accrochez vous ca va être Cerebral !!

8

La version avec les accents et les couleurs qui vont bien :; Ce tuto est a distribué, envoyez, copiez ; il est libre de tout droit, juste créditez ; les auteurs, merci ; Tuto 1 première partie ; Bienvenue a la première partie du 68000 ; par F(olco) et G(Tturbo :) ) ; Bonjour a tous et bienvenu sur le premier tuto ; pour faire de vous un pro du 68000 :) ; D'abord balayez toutes vos idées concernant ; le fait que cela ne concerne que des génies, ; je suis mécanicien auto et j'ai appris l'asm ; 68000 tout seul, a l'époque il y avait pas internet ; juste un paquet de livre remplis de bugs, ce ; qui était super pratique quand on est débutant..... ; L'asm 68000 est surement le meilleur asm pour ; apprendre ce superbe langage, syntaxe propre, ; lisible, clair, logique. ; Tout le monde peux apprendre l'asm, par contre ; ce qui ont fait du 'high level langage' (C, Java, etc...) ; avant, risque de pleurer, car il faut tout faire ; a la main, l'assembleur c'est de l'artisanat pure. ; ; C'est de la puissance pure mais au détriment de nuits ; très courtes, d'arrachages de cheveux. ; ; Vous trouverez un paquet de pages sur internet ; concernant l'asm 68000, mais on va attaquer cela ; autrement, car lire un paquet de données ultra techniques ; sans exemple et tout d'un coup c'est 'infecte'. ; Donc on part sur quelques détails structurels d'un ; programme et après direct les deux pieds dans le ; plat. ; Un prog 68000 a trois parties distinctes, baptisé Section on a : ; la Section text qui est le programme lui meme, ; donc la liste d'instructions. ; la Section data : données initialisés, comme en ; basic a=4 sera donc déclaré en data ; la Section Bss : données non initialisés, ; toute variable qui n'a pas besoin d'avoir ; de valeur spécifique est dans cette partie. ; Exemple : c=0, d=0 ; Petit exemple rassemblant tout cela : SECTION TEXT ; Déclaration de notre section move.l #4,A ; La variable A=4 add.w #2,C ; on add 2 a la variable C ; *************************************** ; pour l'instant ne faites comme si il avait rien ici ; entre les deux rangées d'astérisques move.w #7,-(a7) trap #1 addq.w #2,a7 clr.w -(a7) trap #1 ; Mais ca sera pour plus tard ; *************************************** SECTION Data C: dc.w 4 SECTION Bss A: ds.l 1 END ; Donc, quelque explications, vous voyez clairement les 3 ; sections. Beaucoup d'assembleurs, se passent des déclarations ; de ces sections, mais pour des raisons pratiques, gardez les ; vous comprendrez quand votre programme fera plus de 1000 lignes. ; Donc notre première ligne de code on place la valeur 4 dans A. ; C'est le role du 'move', il copie la premiere valeur dans la seconde. ; le .l indique la taille de la valeur a copier, le .L (signifie long) ; on a trois valeurs possibles : ; b (byte soit l'octet en francais, 256 valeurs possibles) ; w (word soit un mot : 65536 valeurs) ; l (long soit un long : 2^32 valeurs) ; J'ai pris ici le long pour le move pour démo, vu la valeur 4 ; les 3 tailles seraint passés : move.b #4,A, move.w #4,A ; ensuite on a donc un add, qui comme son nom l'indique ; add itionne la première valeur sur la seconde, qui est donc ; notre variable C. Qui est donc initialisé a 4 si vous regardez en ; section Data et vaut donc maintenant 6 !!! ; On va mettre un oeil dans les section data et text. ; en data on a C qui est donc déclaré par dc.w 4 ; le .w signifie word comme pour le move, donc on a un C déclaré ; sur un mot et initialisé a 4. ; Pour pouvez déclarez d'autres variables avec d'autres tailles : ; Tortue_ninja: dc.l 84 ; Templeton_mange_des_pieuvres : dc.b 3 ; En section data les vars seront toujours déclarés par ; nom_var dc.taille valeur ; Va pour la section bss, on a un A déclaré en long (.l) avec un 1 ; ensuite, vu que les variables en BSS ne sont pas initialisés ; ce n'est pas une valeur mais le nombre de long (dans ce cas) ; qu'on veux se reserver : ; Youpi: ds.w 16 ; Permet d'avoir une variable longue de 16 mots (w=word) on va ; pas s'étendre la dessus pour l'instant, mais cela aura une utilité. ; Si vous assemblez ce source (Alt-A) pour ceux qui sont sous Devpac ; et vous le lancez ensuite (Alt-x), vous aurez juste une attente ; d'une touche ce qui est normal, vu qu'il y a aucune sortie quelconque. ; La partie entre astérisques pour l'instant pas expliqué ; est l'attente d'une touche et le quit. ; La seconde partie sera beaucoup plus sympa car vous pourrez ; voir les choses :) ; ; Folco et GT Turbo
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

9

Ça c'est du code commenté ! Toutes tes sources sont comme ça GT ? wink

10

Oh que non... grin
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

11

Mes sources sont 'auto documentés' wink


GT Documentés smile
avatar
Accrochez vous ca va être Cerebral !!

12

Bon le second arrive, tonton Folco fait une relecture et ensuite on publie. Ce second morceau sera un peu plus dur, mais si ca passe, vous pourrez deja faire quelques trucs un peu plus vivant.


GT En relecture livre
avatar
Accrochez vous ca va être Cerebral !!

13

Merci fou
Ccarl

14

Jusque là, ça va.
avatar
ATARI Belgique toujours actif

http://gfa-basic.forumactif.com/

15

(c'est pour ce week-end, promis ! grin)

16

Merci Monsieur.
avatar
ATARI Belgique toujours actif

http://gfa-basic.forumactif.com/

17

Allez on ressort Devpac smile

Voila la partie 2, Folco étant trop occupé, c'est HuggyOne qui a bien voulu relire la chose, merci a lui :

http://www.jagware.org/~c.v.s.d.//Tuto%2068000/TUTO6802.S

Postez TOUTES les questions que vous avez, car si vous vous la posez, c'est que quelqu'un d'autre se la pose aussi smile


GT groupe HuggyOne
avatar
Accrochez vous ca va être Cerebral !!

18

Je poste ! Je poste !!!
Bon, j'ai bien compris qu'il fallait réinitialiser le stack pointer (enfin a7 quoi !). Mais schématiquement, ça fait quoi sur a7 ? Tu pourrais nous faire un petit exemple avec des 0 et des 1 tonton GT ? Ca remet tout à 0 ? J'ai du mal avec le "add" à voir ce que ça fait...
Ah oui et autre chose dont je t'avais parlé par mail, mais autant le faire partager. J'ai tenté de faire un appel à setcolor (fonction XBIOS comme tu conseilles dans le tuto de faire mumuse avec). Sauf que... je ne sais pas quelles valeurs mettre pour avoir un changement à l'écran. Ca assemble, ça se lance, mais je n'ai aucun changement à l'écran. grin Juste un 'ti exemple pour comprendre ou je comprendrais plus tard ? tongue
En tout cas, merci pour le tuto, je suis accroc... Et du coup, comme toute personne accroc, j'ai hâte à la suite... ! wink
Atari 520 STE - 4 Mo - HxC/Floppy - CosmosEx
Atari Falcon 030 - 14 Mo - CF intégrée et disque interne IDE 40 Go - CT60 à 90 MHz 256 Mo - SuperVidel - Svethlana / Sous FreeMint/MyAES
Amiga 500/600+Vampire v2/1200+Blizzard 1260-PPC/2000 - Amstrad CPC - Sharp X68000

19

Je vais détailler la chose, mais je pense que réussir a faire quelques trucs en ayant passé la 'lourde théorie', cela faciliterait l'apprentissage.

Ce soir je poste un Setcolor et on pourra voir ce qui pourrait 'déconner' chez toi.
avatar
Accrochez vous ca va être Cerebral !!

20

Ok. Mais c'est sûrement tout bête genre par la bonne couleur de modifiée ou un truc du genre, c'était un test "au pif" parce que je voulais prendre quelque chose de visible. Profite, mon CT60/SV fait chauffer Doom en ce moment... tongue
Atari 520 STE - 4 Mo - HxC/Floppy - CosmosEx
Atari Falcon 030 - 14 Mo - CF intégrée et disque interne IDE 40 Go - CT60 à 90 MHz 256 Mo - SuperVidel - Svethlana / Sous FreeMint/MyAES
Amiga 500/600+Vampire v2/1200+Blizzard 1260-PPC/2000 - Amstrad CPC - Sharp X68000

21

bon allez hop de tete :
move.w #$444,-(a7) ; on va essayer un gris move.w #0,-(a7) ; dans la couleur 0 de la palette, donc le fond blanc doit passer au gris move.w #7,-(a7) trap #14 addq.w #6,a7 move.w #7,-(a7) trap #1 addq.w #2,a7 move.w #0,-(a7) trap #1

Ecrire de l'asm 68000 sur un clavier PC c'est un peu comme faire du houla hop avec un cercle carré tongue

Donc si je me suis pas planté, ces quelques lignes doivent passer la couleur de fond blanc en gris (Avec le grand risque de rendre beaucoup de chose illiisible d'ailleurs :d )

attendre une touche et quittez proprement.
avatar
Accrochez vous ca va être Cerebral !!

22

T'as oublié un # devant ton 14 wink
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

23

Corrigé merci Zero smile

Sinon bonjour les bombinettes !!!
avatar
Accrochez vous ca va être Cerebral !!

24

Au passage, tu peux utiliser les balises [code=asm] ... [/code] pour avoir une police non proportionnelle et la coloration syntaxique, je l'ai rajoutée dans ton post smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

25

Et sinon ca sert a quoi que Zero se decarcasse !!!

Voila Zero vous rend même les choses dures plus jolies (Elle sont toujours aussi dure mais plus jolies !!!)

Ca c'est du travail d'équipe !!


GT groupe
avatar
Accrochez vous ca va être Cerebral !!

26

GT Turbo (./21) :
[...]
attendre une touche et quittez proprement.


proprement, c'est vite dit, l'écran est toujours sale grin

27

Heu fait pas le malin !!! wink


GT rotfl
avatar
Accrochez vous ca va être Cerebral !!

28

Alors là, pour moi c'est échec sur toute la ligne !
Autant le "tuto" passe bien (affichage du texte), autant le setcolor... non ! Ca ne change rien du tout à l'écran. Rien. Que dalle. Nada.
Le fait que je le fasse sur mon Falcon/CT60/SuperVidel y serait-il pour quelque chose ? Ca me semble bizarre pour un truc aussi "basique", mais bon, je préfère demander à "ceusses" qui savent. grin
Au pire, je testerai demain sur mon STE plus conventionnel...
Atari 520 STE - 4 Mo - HxC/Floppy - CosmosEx
Atari Falcon 030 - 14 Mo - CF intégrée et disque interne IDE 40 Go - CT60 à 90 MHz 256 Mo - SuperVidel - Svethlana / Sous FreeMint/MyAES
Amiga 500/600+Vampire v2/1200+Blizzard 1260-PPC/2000 - Amstrad CPC - Sharp X68000

29

tu est sous TOS ?

J'essaierai sur mon Flocon 60 demain, mais sous TOS cela devrait fonctionner.

GT Pas en gris grin
avatar
Accrochez vous ca va être Cerebral !!

30

Merci pour le tuto, toujours sympa à lire.

Les concepts de pile et de pointeur de pile semblent compliqués mais une fois qu'on a bien compris le truc ça roule tout seule.
Dans le tuto le Féroce Lapin, il comparait la mémoire à un tube, très long et très fin :
Un programme, c'est donc pour le 68000 une suite de lectures du
contenu du tube. Il va y trouver des chiffres qu'il va interpréter
comme des ordres (revoir le cours 2). Grâce à ces ordres, nous al-
lons lui dire par exemple de continuer la lecture à un autre en-
droit de ce tube, de revenir en arrière, de prélever le contenu du
tube et d'aller le déposer autre part (toujours dans ce même tube
bien sûr) etc.


Pour moi ce sont des révisions et j'ai hâte de lire les prochains smile
avatar
Site perso : http://strider.untergrund.net/
Atari STF / STe / Mega STE / Falcon030 / Falcon CT60