Index du Forum
IDENTIFICATION SERVEUR : 51.83.10.225 - CLIENT : 34.204.168.209

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Desassembleur 6502
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> EMULATION
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
flaith



Inscrit le: 30 Aoû 2007
Messages: 192
Localisation: $300:20 58 FC 60 N 300G => Vietnam

MessagePosté le: Ven 09 Nov 2012, 16:31    Sujet du message: Desassembleur 6502 Répondre en citant

Hello à vous tous

j'ai commencé à programmer un petit utilitaire permettant le desassemblage d'un fichier binaire.
J'ajoute que c'est sous Windows (bientôt sous MacOS et Linux)

C'est en ligne de commande pour l'instant

Les fichiers que j'utilise pour mes tests sont générés par CiderPress.

Exemple de la ligne de commande :
Citation:
d6502 INTRIN.OBJ#060D00 -a $0d00

Indique de désassembler le fichier INTRI.OBJ#060D00 à partir de l'adresse $0D00
Il va générer automatiquement le fichier source sous cette forme :
Citation:
[Apple 6502/65c02 Disassembler]

Disassembling file INTRIN.OBJ#060D00,A$0D00,L$126E
Generating output file 'INTRIN.S' in 0.13 Second(s)


Et un extrait du fichier source :
Code:
*********************************
**                             **
**      D6502 Disassembler     **
**     Ver.0.35-091112/1614    **
**        (c)2012 FLAITH       **
**                             **
** Generated code : 11/09/2012 **
**             at : 16:15      **
**                             **
*********************************
**
** File : INTRIN.OBJ#060D00
**
*********************************

* Equates
TXTWIN-TOP      EQU   $22            ;Text window top-edge (0-23)
HCURSORPOS      EQU   $24            ;Horizontal cursor-position (0-39)
VCURSORPOS      EQU   $25            ;Vertical cursor-position (0-23)
PROMPTCHAR      EQU   $33            ;Prompt-character
RUN-FLAG        EQU   $D6            ;RUN Flag (POKE 214,255 sets Applesoft run-only.)
HI-LINE-ERROR   EQU   $DA            ;High Line# of ONERR Error
LO-LINE-ERROR   EQU   $DB            ;Low Line# of ONERR Error
SPKR            EQU   $C030          ;toggle speaker diaphragm
PAGE1           EQU   $C054          ;select text/graphics page1
PAGE2           EQU   $C055          ;select text/graphics page2
WAIT            EQU   $FCA8          ;Delay
GETKEY          EQU   $FD0C          ;GET KEY from KEYBOARD (Destroys A & Y-REG) WAIT For KEY PRESS.
PRINTCR         EQU   $FD8E          ;PRINT CARRIAGE Return (Destroys ACCUMULATOR & Y-REG)
COUT            EQU   $FDED          ;OUTPUT CHARACTER IN ACCUMULATOR. (Destroys A & Y-REG COUNT)

* Program starting at $0D00/3328
                ORG   $0D00

                LDY   #$00
                LDA   $D2
                INC   $D2
                BNE   Loc_0D0A
                INC   $D3

Loc_0D0A        INC   $D2
                BNE   Loc_0D20
                INC   $D3
                JMP   Loc_0D20

Loc_0D13        PLA   
                PLA   
                RTS   

                NOP   
                NOP   
                NOP   
                PLA   
                PLA   
                PLA   
                PLA   
                RTS

...

                LDX   #$FF
                TXS   
                JMP   ($034A)

Loc_0D7B        PHP   
                BEQ   Loc_0D85
                JSR   COUT           ;OUTPUT CHARACTER IN ACCUMULATOR. (Destroys A & Y-REG COUNT)
                INY   
                JMP   $0879

Loc_0D85        CMP   #$B3
                BNE   Loc_0D94

Loc_0D89        LDA   $D2
                STA   Loc_0D7B,Y
                INY   
                CPY   #$0A
                BNE   Loc_0D89
                RTS   


Loc_0D94        CMP   #$D7
                BEQ   Loc_0D9B
                JMP   Loc_0DA1

Loc_0D9B        LDA   #$C4
                JSR   WAIT           ;Delay

Loc_0DA0        RTS 


Je mettrais bientôt en ligne l’exécutable pour Windows et MacOSX
Wink
_________________
Je suis sur de "rien", mais ne je suis pas sur du "tout".
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
flaith



Inscrit le: 30 Aoû 2007
Messages: 192
Localisation: $300:20 58 FC 60 N 300G => Vietnam

MessagePosté le: Ven 09 Nov 2012, 20:43    Sujet du message: Répondre en citant

Versions pour test
Certaines options comme le type de génération ne fonctionnent pas encore (type de format) :

Version Windows : D6502 for Windows
Version MacOS : D6502 for MacOS
D6502 zipped for MacOS

Merci par avance pour vos tests et critiques Smile
_________________
Je suis sur de "rien", mais ne je suis pas sur du "tout".


Dernière édition par flaith le Sam 10 Nov 2012, 18:27; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jvernet



Inscrit le: 18 Aoû 2007
Messages: 722

MessagePosté le: Ven 09 Nov 2012, 22:30    Sujet du message: Répondre en citant

La version pour MacOsX ne marche pas (on récupère un fichier D6502 non exécutable, inexploitable ??
JV
_________________
,, et 
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
flaith



Inscrit le: 30 Aoû 2007
Messages: 192
Localisation: $300:20 58 FC 60 N 300G => Vietnam

MessagePosté le: Ven 09 Nov 2012, 22:40    Sujet du message: Répondre en citant

Il ne fonctionne qu'en ligne de commande, il faut le lancer dans un terminal :
Citation:
./D6502 -h

Je l'ai compilé dans une VM sous Mountain Lion Wink
_________________
Je suis sur de "rien", mais ne je suis pas sur du "tout".
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jvernet



Inscrit le: 18 Aoû 2007
Messages: 722

MessagePosté le: Sam 10 Nov 2012, 12:49    Sujet du message: Répondre en citant

Code:

[jeromevernet@mbpro Download]$ chmod +x ./D6502
[jeromevernet@mbpro Download]$ ./D6502 -h
-bash: ./D6502: Malformed Mach-o file
[jeromevernet@mbpro Download]$


Zippe le, STP, le FTP a du oublier des choses. Ou encore mieux, dans un .dmg.
_________________
,, et 
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 3046
Localisation: Le Chesnay, France

MessagePosté le: Sam 10 Nov 2012, 14:30    Sujet du message: Répondre en citant

Bonne idee mais utilise-les vrais equates Apple stp. je t'enverrai le truc,
Av
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
flaith



Inscrit le: 30 Aoû 2007
Messages: 192
Localisation: $300:20 58 FC 60 N 300G => Vietnam

MessagePosté le: Sam 10 Nov 2012, 17:18    Sujet du message: Répondre en citant

Ok Jérome, je refais cela et vais modifier le lien pour mettre le zip et le dmg
Antoine, c'est avec plaisir Smile
_________________
Je suis sur de "rien", mais ne je suis pas sur du "tout".
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
flaith



Inscrit le: 30 Aoû 2007
Messages: 192
Localisation: $300:20 58 FC 60 N 300G => Vietnam

MessagePosté le: Sam 10 Nov 2012, 18:28    Sujet du message: Répondre en citant

Le fichier a été renvoyé sur le ftp et un zip a été rajouté Wink (cf 2ème message)
Je sais pas comment faire un dmg Confused
_________________
Je suis sur de "rien", mais ne je suis pas sur du "tout".
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jvernet



Inscrit le: 18 Aoû 2007
Messages: 722

MessagePosté le: Dim 11 Nov 2012, 11:29    Sujet du message: Répondre en citant

Zipé, ça marche ! Merci !
_________________
,, et 
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
flaith



Inscrit le: 30 Aoû 2007
Messages: 192
Localisation: $300:20 58 FC 60 N 300G => Vietnam

MessagePosté le: Dim 11 Nov 2012, 12:51    Sujet du message: Répondre en citant

Super Very Happy
_________________
Je suis sur de "rien", mais ne je suis pas sur du "tout".
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
flaith



Inscrit le: 30 Aoû 2007
Messages: 192
Localisation: $300:20 58 FC 60 N 300G => Vietnam

MessagePosté le: Jeu 15 Nov 2012, 15:13    Sujet du message: Répondre en citant

Petite mise à jour, affichage des appels vers des adresses externes
Exemple:
Code:
*********************************
**                             **
**      D6502 Disassembler     **
**     Ver.0.37-151112/1503    **
**        (c)2012 FLAITH       **
**                             **
** Generated code : 11/15/2012 **
**             at : 15:03      **
**                             **
*********************************
**
** File : DISK1#063000
**
*********************************

* Internal Equates
SOFTEV          EQU   $03F2          ;vector for warm start
PWREDUP         EQU   $03F4          ;THIS MUST = EOR #$A5 OF SOFTEV+1

* External Equates
EXT_00F2        EQU   $00F2
EXT_03F3        EQU   $03F3
EXT_05F8        EQU   $05F8
EXT_0800        EQU   $0800
EXT_0BAC        EQU   $0BAC
EXT_0BBA        EQU   $0BBA

* Program starting at $3000/12288
                ORG   $3000

                LDA   EXT_05F8       ;$05F8
                STA   EXT_0BBA       ;$0BBA
                STA   EXT_0BAC       ;$0BAC
                LSR   
                LSR   
                LSR   
                LSR   
                ORA   #$C0
                STA   EXT_03F3       ;$03F3
                EOR   #$A5
                STA   PWREDUP        ;THIS MUST = EOR #$A5 OF SOFTEV+1
                LDA   #$00
                STA   SOFTEV         ;vector for warm start
                LDA   #$FF
                STA   $D6
                LDA   EXT_0800       ;$0800
                CMP   #$A2
                BNE   L_302A
                JMP   EXT_0800       ;$0800

L_302A          JMP   (EXT_00F2)     ;$00F2

Je mettrais en ligne les exe bientôt
_________________
Je suis sur de "rien", mais ne je suis pas sur du "tout".
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 3046
Localisation: Le Chesnay, France

MessagePosté le: Jeu 15 Nov 2012, 20:26    Sujet du message: Répondre en citant

bravo !

dernier point qui me serait utile : pouvoir determiner le prefixe des labels internes et externes plutot que d'avoir mes L_ et EXT_

es possible ?

toto
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
flaith



Inscrit le: 30 Aoû 2007
Messages: 192
Localisation: $300:20 58 FC 60 N 300G => Vietnam

MessagePosté le: Ven 16 Nov 2012, 9:53    Sujet du message: Répondre en citant

Hello et merci Smile

tu lis dans mes pensées, cela fait partie de ma "todo list" Wink
J'irais m'attaquer à une version GUI ensuite
_________________
Je suis sur de "rien", mais ne je suis pas sur du "tout".
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
jvernet



Inscrit le: 18 Aoû 2007
Messages: 722

MessagePosté le: Ven 16 Nov 2012, 13:49    Sujet du message: Répondre en citant

Il serait interessant de greffer ton dessassembleur dans ADFS.

C'est moi qui ait les sources (le développeur n'a plus rien fait dessus depuis 2007), je l'ai d'ailleurs recompilé cette semaine pour qu'il fonctionne sous 10.7.

C'est carement pas connu comme truc, mais c'est très efficace. Et un peu buggé, aussi. Y'a que moi qui doit l'utiliser...
_________________
,, et 
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
flaith



Inscrit le: 30 Aoû 2007
Messages: 192
Localisation: $300:20 58 FC 60 N 300G => Vietnam

MessagePosté le: Ven 16 Nov 2012, 23:00    Sujet du message: Répondre en citant

Héhé, c'est dans mes tablettes Wink
J'avais fait un petit programme permettant de lire et d'extraire des fichiers à partir d'un .DSK (A.D.I.R.), je vais l'améliorer et mettre le desassembleur.
Le but, ultime, étant d'avoir un package complet de lecture, écriture dans un DSK, desassembleur, assembleur, simulateur (pas émulateur), donc du boulot en perspective Smile
_________________
Je suis sur de "rien", mais ne je suis pas sur du "tout".
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> EMULATION Toutes les heures sont au format GMT + 1 Heure
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com