GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

[ASM - 68000 - Z80] - MEGADRIVE

+5
Stef
majikeyric
vingazole
dub
tetsuro
9 participants

Page 3 sur 3 Précédent  1, 2, 3

Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Ven 15 Jan 2016 - 23:00

Je confirme ... Et je ne fais que débuter.
Le tout est de ne pas se laisser enfermer et apprivoiser l'outil.
On a la chance de pouvoir utiliser d'autres technos et les faire coexister sur MD, chose impossible avant alors il ne faut pas se gener.
A chacun sa manière de faire, trouve la tienne et garde la motivation, c'est ça le plus dur. Wink

Invité
Invité


Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par tetsuro Ven 15 Jan 2016 - 23:13

Merci pour vos encouragements, je suis en train d'apprendre mais ce n'est pas que le langage ASM me fasse peur, mon problème c'est surtout que je ne trouves pas de cours ou tutos très adéquates, il y a les tutos Ataris ST très vieux, ou Amiga, ou d'autres microprocesseurs mais c'est difficile de trouver des bons cours en ASM 68000 pur, y'en a surement en anglais, mais cette langue est mon point faible, je ne suis pas non plus un zéro en anglais, mais de là à suivre des tutos complexes je ne suis pas à l'aise, je vais devoir faire deux fois plus d'efforts, et forcément en français c'est limité, vous avez appris comment l'ASM vous ?
tetsuro
tetsuro
Patient contaminé

Masculin Nombre de messages : 593
Age : 46
Localisation : Carcassonne
Date d'inscription : 27/12/2015

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Ven 15 Jan 2016 - 23:38

Ce site m'a énormément aidé :

http://bigevilcorporation.co.uk/2012/02/28/sega-megadrive-1-getting-started/

Après, c'est a toi de faire tes recherches et essais.
C'est pas bien compliqué mais c'est très chronophage ... 
Bon courage. Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par tetsuro Ven 15 Jan 2016 - 23:45

Oui j'ai commencé ce site mais avec mon niveau d'anglais ça prend du temps, ça rend les choses encore plus ardues.
Tu utilises aussi le logiciel dont il parle, asm68k ? Il ne donne pas le lien et j'ai confondu avec SNASM68K qui n'est pas compatible 64bits, pourtant dans ses exemple il y a bien écris SN 68k version 2.53...

Vetea a écrit:Après, c'est a toi de faire tes recherches et essais. C'est pas bien compliqué mais c'est très chronophage ...
Je veux bien, mais quand on ne sait pas ce qu'on doit rechercher... study
Que ce soit chronophage ne me dérange pas, on a des fois tellement perdu de temps inutilement dans nos vies, à rien faire, à regarder des films, à s'ennuyer, que je ne considère pas ce types d'apprentissages ou de recherches comme une perte de temps, ça rempli plutôt la vie d'une passion et d'un but.
tetsuro
tetsuro
Patient contaminé

Masculin Nombre de messages : 593
Age : 46
Localisation : Carcassonne
Date d'inscription : 27/12/2015

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Ven 15 Jan 2016 - 23:59

Oui j'utilise Asm68k qui est dans le package de Bex.
En fait je code en asm avec Bex et son éditeur de commande.
Mais on peut aussi coder sans avec Notepad+ !
Il faut juste le configurer pour le 68k, pas bien compliqué.
Franchement, j'ai aussi bien galérer au début, mais j'avais eu la chance d'avoir bidouiller en Asm Z80 sur mon cpc dans les années 80' .
Et j'aime m'en sortir par moi même aussi. 
Il faut faire des efforts et apprivoiser la barrière de la langue, etc ... Bref, chercher tout ce qu'il faut pour trouver l'outil qui te conviendra.
Moi, c'est Bex et accessoirement Notepad+ pour changer.
L'avantage de Bex, c'est du tout en un, idéal pour débuter sans te prendre la tète.
Mais pareil, tout est en anglais et la Doc' mal fichu, faut faire avec ...
C'est pas du tout cuit, mais le jeu en vaut la chandelle ! 
Bon courage !
avatar
Invité
Invité


Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par tetsuro Sam 16 Jan 2016 - 0:32

Tu aurais le lien officiel de ce ASM68k seul en téléchargement ? Je ne le trouves pas sur le net, bizarre... Je tape mais je tombe surtout sur easy68k.
J'ai téléchargé et tester BasiEgaXorz, j'ai tapé un code simple en ASM et il n'arrive pas à l'exécuter alors qu'il fonctionne sur easy68k :
Code:
   ORG $1000
   START:
   
   move.l   #$12345678,d0
   move.w   #$AAAA,d0
   move.b   #$BB,d0
   
   SIMHALT
   
   END START
tetsuro
tetsuro
Patient contaminé

Masculin Nombre de messages : 593
Age : 46
Localisation : Carcassonne
Date d'inscription : 27/12/2015

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par dub Sam 16 Jan 2016 - 9:56

tetsuro a écrit:Tu aurais le lien officiel de ce ASM68k seul en téléchargement ? Je ne le trouves pas sur le net, bizarre... Je tape mais je tombe surtout sur easy68k.

Pour BigEvil, je comprend que tu puisses avoir des soucis en anglais. Dans ce cas, utilise un translateur de page web : http://www.systranet.com/turl/?systrangui=http://www.systran.fr%3B/snetcom/web&systranbanner=1&systranuid=aHR0cC1iaWdldmlsY29ycG9yYXRpb24uY28udWsvMjAxMi8wMi8yOC9zZWdhLW1lZ2Fkcml2ZS0xLWdldHRpbmctc3RhcnRlZC8vZW5fZnI=


Tu auras certainement des erreurs de syntax, mais c'est utile pour le japonais par exemple Mr. Green


Pour le tuto 1, il explique pour le compilateur. Le paragraphe "Testing the Assembler" écrit bien la syntax du compilateur asm68k.


Tu trouveras pas directement un fichier exécutable de asm68k. Y a que le source à compiler suivant ta version d'OS. Dans le tuto, il indique plusieurs liens pour wndows, celui la marche mais j'ai pas testé la compilation : http://info.sonicretro.org/File:ASM68k.7z


Dans le tuto 1 et 2, il parle des headers et des opérandes de bases du 68000. C'est surtout instructif. Si tu veux compiler, regarde le 3ème tuto (comme je te le disais dans un précèdent post). Si tu arrives à changer la couleur de fond. Bingo

Regarde déjà si tu peux compiler sans erreur le premier test qu'il écrit :
Code:
Loop:
   move.l #0xF, d0 ; Move 15 into register d0
   move.l d0, d1   ; Move contents of register d0 into d1
   jmp Loop        ; Jump back up to 'Loop'
dub
dub
Patient contaminé

Masculin Nombre de messages : 476
Age : 54
Localisation : France
Date d'inscription : 27/08/2008

http://www.pixelretro.com

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par dub Sam 16 Jan 2016 - 10:02

tetsuro a écrit:J'ai téléchargé et tester BasiEgaXorz, j'ai tapé un code simple en ASM et il n'arrive pas à l'exécuter alors qu'il fonctionne sur easy68k :
Code:
   ORG $1000
   START:
   
   move.l   #$12345678,d0
   move.w   #$AAAA,d0
   move.b   #$BB,d0
   
   SIMHALT
   
   END START
Je sais pas pour easy68k, jamais testé mais son code marchera pas directement.
Déjà je pense pas que le SIMHALT ou END START passe.

Quand tu dis il arrive pas à l'exécuter, tu veux dire qu'il bloque à la compilation ou qu'il ne fait rien sur MD. Parce que là avec les move, il faudrait que tu regardes un debuggeur pour connaître la valeur de d0

Après tu as aussi le formatage, il faut un espace entre le début de ligne et le code dans la boucle :
START:
     move.l #$DD,d0
dub
dub
Patient contaminé

Masculin Nombre de messages : 476
Age : 54
Localisation : France
Date d'inscription : 27/08/2008

http://www.pixelretro.com

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par dub Sam 16 Jan 2016 - 10:44

J'ai parcouru la doc de bex et pour ajouter de l'asm il y a la syntax
Code:
 Asm "move.l   #$12345678,d0"
 Asm "move.w   #$AAAA,d0"
 Asm "move.b   #$BB,d0"
Et ça compil, en mettant bien un espace devant pour le formatage.
dub
dub
Patient contaminé

Masculin Nombre de messages : 476
Age : 54
Localisation : France
Date d'inscription : 27/08/2008

http://www.pixelretro.com

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Sam 16 Jan 2016 - 12:06

Ou tout simplement :

De cette manière, tu peux taper des lignes de codes en pur ASM sous bex.
Mais à l'exécution, forcément, tu n'y verras pas grande chose ... Wink
Code:
 asm
 move.l #$12345678,d0
 move.w #$AAAA,d0
 move.b #$BB,d0
 end asm
avatar
Invité
Invité


Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par tetsuro Dim 17 Jan 2016 - 15:29

Merci pour votre aide !

Finalement j'utilise easy68k pour débuter l'apprentissage de l'ASM seul d'abord. Je ferais en parallèle le tuto de bigEvil, Vetea le code que tu m'a donné ne fonctionne pas sous Bex, en tous cas le code seul, il me dit que la constante doit être définie.

D'ailleurs je reviens sur l'ASM, j'ai une question, je suis le tuto du Feroce Lapin, qui est obsolète et ciblé Atari ST, mais qui est très pédagogique, j'ai donc testé son code suivant :
Code:
    move.l  #$12345678,d0
    move.w  #$AAAA,d1
    move.l  d0,-(SP)
    move.w  d1,-(SP)
    move.l  #0,d0
    move.w  #0,d1
    move.w  d1,(SP)+
    move.l  d0,-(SP)

J'ai un problème avec les deux dernières lignes, elles sont censées (pour lui), récupérer les valeurs de d0 et d1 stockés dans la pile, hors quand je passe en débug mes registres d0 et d1 restent à 00000000.
J'ai finalement réussi à récupérer les valeurs de d0 et d1 en remplaçant les deux dernières lignes en suivant ce tuto et là ça fonctionne :
Code:
   move.l  #$12345678,d0
    move.w  #$AAAA,d1
    move.l  d0,-(SP)
    move.w  d1,-(SP)
    move.l  #0,d0
    move.w  #0,d1
    move.w  (SP)+,d1
    move.l  (SP)+,d0

J’essaie de comprendre, vu que je suis débutant, si il s'est trompé, si c'est une manière de faire que je ne comprend pas, si c'est spécifique à Atari ST, mais je ne pense pas car jusque là j'en suis à son 6ème cours et tout ces codes ont tous toujours été reconnus par esay68k. Je voulais savoir ce que vous en pensiez car il y a une différence, dans le premier cas on a un -(SP) et dans le deuxième cas on a deux (SP)+

PS: Petite question toute bête, mais par convention je vois les codes ASM toujours écrit en majuscules, mais le code fonctionne en minuscules, je trouves ça très désagréable de tout taper en majuscule, quels seraient les avantages que je ne sais pas voir ?


Dernière édition par tetsuro le Dim 17 Jan 2016 - 20:55, édité 1 fois
tetsuro
tetsuro
Patient contaminé

Masculin Nombre de messages : 593
Age : 46
Localisation : Carcassonne
Date d'inscription : 27/12/2015

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par vingazole Dim 17 Jan 2016 - 20:51

Je ne suis pas spécialiste du 68000, mais à mon humble avis il s'agit juste d'une "double erreur" dans le tuto : l'ordre source/destination est inversé dans les deux dernières lignes, et la postincrémentation est remplacée par une préincrémentation dans la dernière ligne (on ne fait qu'écrire d1.word  à l'adresse pointée par SP, puis d0.long à SP+2, d0 et d1 restant donc à 0  What the fuck ?!? ).

La version que tu donnes me paraît correcte :
Code:

    move.l  #$12345678,d0     ; d0.long = $12345678

    move.w  #$AAAA,d1         ; d1.word = $AAAA

    move.l  d0,-(SP)          ; SP = SP - 4  (prédécrémentation pour un .long),
                              ; puis écrit d0.long à la nouvelle adresse SP

    move.w  d1,-(SP)          ; SP = SP - 2  (prédécrémentation pour un .word),
                              ; puis écrit d1.word à la nouvelle adresse SP

    move.l  #0,d0             ; d0.word = $0000

    move.w  #0,d1             ; d1.long = $00000000

    move.w  (SP)+,d1          ; lit d1.word à l'adresse SP,
                              ; puis SP = SP + 2 (postincrémentation pour un .word)

    move.l  (SP)+,d0          ; lit dO.long à l'adresse SP,
                              ; puis SP = SP + 4 (postincrémentation pour un .long)

PS: Je n'aime pas écrire l'ASM en majuscules non plus, je crois que c'est une "convention" de l'ancien temps (quand on n'avait pas le choix) Wink
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Dim 17 Jan 2016 - 21:09

PS: Je n'aime pas écrire l'ASM en majuscules non plus, je crois que c'est une "convention" de l'ancien temps (quand on n'avait pas le choix) [ASM - 68000 - Z80] - MEGADRIVE - Page 3 Icon_wink
Pareil, je trouve pas ça spécialement lisible .
avatar
Invité
Invité


Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par dub Lun 18 Jan 2016 - 8:46

TOUKO a écrit:
PS: Je n'aime pas écrire l'ASM en majuscules non plus, je crois que c'est une "convention" de l'ancien temps (quand on n'avait pas le choix) [ASM - 68000 - Z80] - MEGADRIVE - Page 3 Icon_wink
Pareil, je trouve pas ça spécialement lisible .

Perso, j'écris en majuscule les instructions (MOVE.l) et en minuscule les macro et label. Histoire de me relire plus rapidement. En même temps, c'est pas du code machine, c'est juste de l'assembleur alors autant en profiter.

J'ai testé le code de Vetea et ça compil bien chez moi. Ce dont je ne doutais pas Mr. Green
dub
dub
Patient contaminé

Masculin Nombre de messages : 476
Age : 54
Localisation : France
Date d'inscription : 27/08/2008

http://www.pixelretro.com

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Lun 18 Jan 2016 - 10:18

Après ce qui compte c'est que tu y gagne toi en lisibilité, perso je mise bcp sur l'indentation plus bien séparer les paramètres .
style:
lda [ mon_tab ] , X plutot que LDA [mon_tab],x
lda [ mon_tab + 1 ] , X plutot que LDA [mon_tab+1],x
avatar
Invité
Invité


Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Lun 18 Jan 2016 - 10:38

La ligne de code ASM dont je suis le plus fier ...


Code:
'///// Routine de forcage Scrolling Hscroll /////
ForcingScroll:
    asm   
    move.w #$8d2A,($C00004).l
    end asm
    return
avatar
Invité
Invité


Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Lun 18 Jan 2016 - 10:43

Et celle là, elle m'a valu nuit blanche, mal de crâne, etc ... Car j'avais un bug de scrolling sur ma Megadrive aléatoire et rien sur émulateur !

1/ Je cherche, je pense trouver, je code ..
2/ Je compile !
3/ Je transfère sur Everdrive ...
4/ Je branche sur ma Megadrive.
5/ Je joue et j'attends s'il n'y a plus de bug ...
6/ ... parfois pendant 20 min 30 min ... Ahhhhhhhh j'ai gagn ... Et merde, y a encore le bug !
7/ Retour ligne 1/ ...
8/ Plus de problème pendant 2h de jeu et constaté chez *Bip* !! Youpi !! Je vais pouvoir dormir normalement ! Very Happy

Ici, ça touchait un paramètre du VDP et de la manière dont on communique avec, chose trés obscure quand on cherche sur des sites spécialisés .. Il faut donc, trouver par soi même et avec un bon mode Debug ( comme avec GenS ), on finit par constater le bug, à le provoquer et donc, essayer de trouver comment le contrecarrer.

Donc, patience ... Cherche par toi même et ... souffre !! Very Happy
avatar
Invité
Invité


Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Lun 18 Jan 2016 - 10:46

Un autre excellent site qui me sert encore :
http://mrjester.hapisan.com/04_MC68/


Avec un google translate, ça peut aller si tu as des problèmes d'anglais ! Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par vingazole Lun 18 Jan 2016 - 14:24

C'est le site que tetsuro a cité (lien sur "ce tuto") et qui lui a permis de résoudre son problème :
tetsuro a écrit:J'ai finalement réussi à récupérer les valeurs de d0 et d1 en remplaçant les deux dernières lignes en suivant ce tuto et là ça fonctionne
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par tetsuro Lun 18 Jan 2016 - 16:25

Merci pour votre aide, vous êtes supers,

Je galère un peu forcément, car je viens du monde merveilleux des cours balisés, et en ASM c'est moins le cas et quand c'est le cas c'est souvent trop spécifique à une machine, par exemple je ne sais plus quoi faire du cours de Feroce Lapin car il parle des TRAPS, mais ceux-ci sont spécifiques AtariST qui appèlent GEMDOS etc, moi je bosse sur easy68k qui appelle d'autres TRAPS, alors comment savoir...Sinon des cours sur Amiga c'est la même. Même le site de MarkeyJester il dit bien qu'il ne sait pas si ses codes fonctionneront sur tel ou tel IDE type easy68k... J'ai voulu acheter des livres, mais là aussi il faut faire attention, des fois ils disent que ça tourne sur telle ou telle machine de l'époque, c'est obsolète.
C'est surtout ça qui me pose problème, je n'ai pas peur d'apprendre, mais avec le 68000 on part forcément un peu dans tout les sens car je ne sais même pas ce que c'est que d'apprendre du 68000 pur, vu que c'est subjectif à la machine sur laquelle il tourne... Quel a été votre parcours pour apprendre ? Mais j'ai bien compris que ce langage apparemment je vais devoir l'apprendre comme ça, lol, en piochant, en testant ici et là :)

En anglais je ne suis pas non plus zéro, mais lire en anglais me demandera des efforts de compréhension en surcouche à l'effort de compréhension sur l'ASM. Ça sera plus long, plus lourd, aller chercher des termes sur le dico etc, donc forcément en français je m’épargne ça, mais si j'ai pas le choix je lirais en anglais et ça fera perdre du temps mais monter mon level ^^

@Vetea, je n'ai pas peur de souffrir, je suis prêt, mais j'apprend encore, donc je pose des questions, je communique, mais je sais bien qu'un à niveau donné je serais bien obligé de galérer tout seul MDR
tetsuro
tetsuro
Patient contaminé

Masculin Nombre de messages : 593
Age : 46
Localisation : Carcassonne
Date d'inscription : 27/12/2015

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Hpman Lun 18 Jan 2016 - 19:36

Faut bien que les cours portent sur une bécane, sinon tu prends une liste des instructions genre http://wpage.unina.it/rcanonic/didattica/ce1/docs/68000.pdf et tu as tout ce qu'il faut...
avatar
Hpman
Patient contaminé

Masculin Nombre de messages : 671
Age : 46
Localisation : Lille
Date d'inscription : 22/08/2014

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par vingazole Lun 18 Jan 2016 - 19:55

Oui, à condition de déjà savoir comment on programme en assembleur "en général" ...
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par tetsuro Jeu 21 Jan 2016 - 14:23

Bonjour à tous,

Je continue ma traversée du désert ASM, lol, avec une autre question le temps d’épancher ma soif.

La notion de Superviseur et Utilisateur, si j'ai bien compris, le Superviseur c'est Motorola, et l'utilisateur c'est le constructeur par exemple Sega ou Atari ?
Car je tombe sur des cours où ils disent ça, mais d'autres qui ont l'air de nous dire que c'est nous les utilisateurs, car dans les cas des TRAPS de l'Atari ST (car je suis les cours du Feroce Lapin), on peut les appeler, du coup si moi aussi je suis l'utilisateur, alors y'a bien un truc que je n'ai pas compris Razz

PS: Merci Hpman pur ton lien il m'aide, mais c'est vrais que vingazole a raison, faut être calé un minimum...
tetsuro
tetsuro
Patient contaminé

Masculin Nombre de messages : 593
Age : 46
Localisation : Carcassonne
Date d'inscription : 27/12/2015

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par tfdi Jeu 21 Jan 2016 - 17:37

Pour faire simple, ce sont 2 modes de fonctionnement différents. Certaines "fonctions" ne sont accessibles qu'en mode Superviseur. Le mode par défaut est le mode "Utilisateur".

En clair, en mode Superviseur tu as accès à tout, alors qu'en mode utilisateur certaines choses te sont interdites.

C'est un concept un peu abstrait au départ, qui deviendra plus clair quand tu programmeras vraiment et que tu commenceras à avoir un peu d'expérience.


Par exemple une modif d'une variable système comme $484 (sur Atari ST) ne peut être effectuée qu'en mode Superviseur, si tu essayes en mode utilisateur, tu déclenches un erreur de bus, ce qui t'amène à un beau plantage :)
tfdi
tfdi
Patient contaminé

Masculin Nombre de messages : 546
Age : 51
Date d'inscription : 19/10/2010

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Hpman Ven 22 Jan 2016 - 14:41

C'est un modèle fait pour faciliter l'écriture d'OS. Superviseur = OS, user = application.

Concrètement sur MD je suppose que ça tourne comme sur neogeo, en mode superviseur et basta, la fonctionnalité n'ayant pas grand sens sur console.
Du coup on peut recycler le registre USP pour autre chose au besoin.
avatar
Hpman
Patient contaminé

Masculin Nombre de messages : 671
Age : 46
Localisation : Lille
Date d'inscription : 22/08/2014

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par vingazole Ven 22 Jan 2016 - 20:03

Hpman a écrit:Concrètement sur MD je suppose que ça tourne comme sur neogeo, en mode superviseur et basta, la fonctionnalité n'ayant pas grand sens sur console.
C'est ce que je pense aussi; de la même manière j'imagine que les TRAPs vers le BIOS ou l'OS n'ont guère de sens sur un programme de jeu Megadrive qui doit (je suppose) être "autosuffisant".
vingazole
vingazole
Infirmier

Masculin Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 05/01/2012

Revenir en haut Aller en bas

[ASM - 68000 - Z80] - MEGADRIVE - Page 3 Empty Re: [ASM - 68000 - Z80] - MEGADRIVE

Message par Invité Sam 23 Jan 2016 - 20:39

tetsuro a écrit:C'est surtout ça qui me pose problème, je n'ai pas peur d'apprendre, mais avec le 68000 on part forcément un peu dans tout les sens car je ne sais même pas ce que c'est que d'apprendre du 68000 pur, vu que c'est subjectif à la machine sur laquelle il tourne... Quel a été votre parcours pour apprendre ? Mais j'ai bien compris que ce langage apparemment je vais devoir l'apprendre comme ça, lol, en piochant, en testant ici et là :)

C'est tout a fait normal , il faut avoir en tête que un processeur ne fait que lire/écrire et faire des calculs grosso modo , mais je doute que tu veux apprendre l'assembleur que pour faire des 'simple calcul' et donc si il faut afficher un truc a l'écran ben la on arrive a des truc non portable sachant que chaque machine est différente.
D'ailleurs pour moi ça veut rien dire faire du 68000 'pur' , je vais prendre un exemple sur Neo Geo pour lire le joypad il faut lire un registre en mémoire :
Code:
move.b  $300000,d0

On est d'accord que sur MD l'adresse $300000 ne correspond a rien et donc tu ne lira pas le joystick Mr. Green
Enfin si ça correspond a :
$000000 $3FFFFF 4MiB Vector table, ROM Cartridge
Mais ce code reste valide sur une Mega Drive , j'ai jamais codé sur MD mais apparemment c'est dans les registre A1000X pour lire la manette.

Maintenant mon parcours hmm j'ai envie de dire certainement pas d'avoir débuté en assembleur , enfaite je déconseillerai de commencer par l'assembleur.
Certain te conseilleront même le C mais même la je conseille pas le C comme premier langage c'est un langage certes 'simple' mais qui donne trop de liberté alors que c'est un langage qui est tout a fait le contraire c'est un langage qui demande énormément de rigueur , après il est tout a fait possible de faire des truc en C , ce langage laisse la porte ouverte a un haut degré de bidouillage.
Je suis beaucoup plus rigoureux en C que en assembleur pour dire x)

Mais tu es libre , enfin plutôt prévenu que tu commence direct a qql chose de difficile  , pour ma part je suivrai le topic par curiosité et ton avancement m’intéresse , je voudrais vraiment savoir si commencé par l'asm c'est possible (enfin je parle avec un résultat concret derrière).

Mais il faut savoir que la tu n'apprend que le B.A.BA il te reste l'algo a apprendre qui est hum 70% d'un programme.
Et ensuite l’architecture de la MD mais ça va de je que j'ai pu voir c'est pas la plus compliqué des 16 bits (et il y a une large communauté ça peut aidé quand on débute).
Sinon comme assembleur 68000 pour ma part j'utilise vasm.
avatar
Invité
Invité


Revenir en haut Aller en bas

Page 3 sur 3 Précédent  1, 2, 3

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum