Logicielsmoto.com

Nous sommes le 19 Avr 2024, 03:54

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 13 messages ] 
Auteur Message
MessagePosté: 26 Juil 2010, 23:12 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
Bon,
J'ai récupéré des bouts de code source en .asm. J'aimerais les convertir en fichiers ascii normaux pour les décortiquer tranquillement (les imprimer sur pc par exemple). Je n'ai pas trouvé d'outil pour le faire. J'ai essayé d'imprimer avec DCTO8D (qui renvoie la sortie imprimante vers un fichier), mais j'obtiens un fichier encore moins lisible... J'ai raté un truc ?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 13:39 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
J'ai ça mais c'est une commande qui fonctionne sur Amiga. Au pire, sous UAE.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 16:00 
Hors ligne

Inscription: 06 Juin 2004, 08:23
Messages: 464
Vous codez encore sur la vraie machine ?

C'est plus simple de cross-assembler sur un PC et de tester avec l'emu, non ?

Fool


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 16:10 
Hors ligne

Inscription: 27 Juil 2010, 14:46
Messages: 38
C'est du code qu'il a récupérer qui est actuellement d'un thomson et qu'il veux récupérer sur PC justement.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 16:34 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Normalement, si on peut lire le code ASM avec la cartouche assembleur de Thomson, on doit pouvoir l'imprimer avec dcto8d ou dcmoto. Je ne connais pas bien la cartouche assembleur (je code directement en langage machine avec un éditeur hexadécimal :) ), mais les spécialistes doivent savoir l'utiliser. Le mode d'emploi est sur le site dcmoto à la page documentation : Manuel de l'Assembleur 6809 du TO7/70. La commande PRINT est décrite page 49.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 17:44 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
Oui voilà, j'ai récupéré une archive contenant divers sources que j'aimerais examiner de près. Et oui, je code aussi parfois sur la vraie machine, c'est nécessaire pour les tests poussés du matériel, je pense que les émulateurs ne sont pas encore complètement parfaits :)

Pour l'impression, j'ai effectivement essayé avec DCTO8D mais ça n'a pas l'air de très bien fonctionner, j'obtiens en sortie un fichier illisible avec des caractères bizarres et des messages d'erreurs. C'est peut être un problème avec ma version compilée pour Haiku, cela dit.

Pour info, l'archive des sources se trouve ici :
http://serveur87thomson.free.fr/tlc_to2/sources_asm.zip
Il y a apparament entre autres le code source de la mégadémo HCL, mais aussi beaucoup d'autres choses...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 21:09 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Essai de la sortie imprimante de la cartouche MEMO7 "6809 language module" dans dcmoto. J'ai choisi au hasard le programme LOADER.ASM de la démo HCL. Le résultat est correct. Demain j'essaierai la même manipulation dans dcto8d, mais à priori c'est le même code donc ça doit marcher.

Code:
TEXTE  EQU    $A5D0
ECRAN  EQU    $5E00
DIR    EQU    $D5
Z      EQU    $40
DEBDEM EQU    $630C
FINDEM EQU    $6370
SHELL  EQU    $637D
 
       ORG    $D690
       FCB    $B8,$B0,$A8,$A0
       FCB    $98,$90,$88,$80
       ORG    DIR*256+Z
       FDB    $100,$0201,TEXTE,0,0,0,0
       ORG    $A328
 
G      ORCC   #80
       LDA    $E7C3
       ORA    #1
       STA    $E7C3
       LDD    #0
       STD    $E7DC
       LDX    #ECRAN
       LDU    #$D550
       PULU   D
       STD    ,X++
       CMPX   #$5F40
       BNE    *-7
       DEC    $E7C3
       LDA    #40
       LDB    ,U+
       STB    ,-X
       DECA
       BNE    *-3
       CMPU   #$D698
       BNE    *-13
       LDD    #$C0C0
       STD    ,--X
       CMPX   #$4000
       BNE    *-5
       INC    $E7C3
       LDX    #COLORS
       LDA    #255
       JSR    $EC00
       LDB    #DIR
       TFR    B,DP
       LDY    <Z+4
 
SYNCRO LDA    $E7E7
       BPL    *-3
       LDA    $E7E7
       BMI    *-3
 
       LDB    <Z+3
       BEQ    *+6
       DEC    <Z+3
       BRA    FINJOY+2
       LDA    #4
       STA    <Z+3
       LDB    <Z
       LDA    $E7CC
       BITA   #4
       BNE    EST
       DECB
 
 
 
 
 
 
 
 

       BMI    FINJOY+2
       BRA    FINJOY
EST    BITA   #8
       BNE    FINJOY+2
       INCB
       CMPB   #8
       BEQ    FINJOY+2
FINJOY STB    <Z
 
       LDA    $E7CD
       BITA   #64
       LBEQ   SORTIE
 
       LDB    <Z
BOUCLE STB    <Z+1
       BEQ    FINSCR
       JSR    SCROLL
       LDB    <Z+1
       DECB
       BRA    BOUCLE
 
FINSCR JSR    $E806
       CMPB   #87
       BNE    PAWARP
       LDA    #$25
       STA    PAWARP+2
PAWARP CMPB   #$90
       BRA    SYNCRO
       SUBB   #$90
       LDU    #COLORS+2
       LDB    B,U
       LDA    #$63
       STD    FINDEM
       JMP    SORTIE
 
SCROLL LDX    #ECRAN+20
       LDU    #DIR*256+Z+6
       LDA    #8
       ASL    ,U+
       ROL    19,X
       ROL    18,X
       ROL    17,X
       ROL    16,X
       ROL    15,X
       ROL    14,X
       ROL    13,X
       ROL    12,X
       ROL    11,X
       ROL    10,X
       ROL    9,X
       ROL    8,X
       ROL    7,X
       ROL    6,X
       ROL    5,X
       ROL    4,X
       ROL    3,X
       ROL    2,X
       ROL    1,X
       ROL    ,X
       ROL    -1,X
       ROL    -2,X
       ROL    -3,X
       ROL    -4,X
       ROL    -5,X
 
 
 
 
 
 
 
 

       ROL    -6,X
       ROL    -7,X
       ROL    -8,X
       ROL    -9,X
       ROL    -10,X
       ROL    -11,X
       ROL    -12,X
       ROL    -13,X
       ROL    -14,X
       ROL    -15,X
       ROL    -16,X
       ROL    -17,X
       ROL    -18,X
       ROL    -19,X
       ROL    -20,X
       LEAX   40,X
       DECA
       BNE    SCROLL+8
       DEC    <Z+2
       BEQ    *+3
       RTS
       LDB    ,Y+
       BNE    *+8
       LDY    #TEXTE
       LDB    #2
       ANDB   #254
       LSRB
       LDA    #8
       STA    <Z+2
       MUL
       LDU    #FONTE-8
       LEAU   D,U
       PULU   D,X
       STD    <Z+6
       STX    <Z+8
       PULU   D,X
       STD    <Z+10
       STX    <Z+12
       RTS
 
SORTIE STY    <Z+4
       LDX    #ECRAN
       LDU    #$D550
       LDD    ,X++
       STD    ,U++
       CMPX   #$5F40
       BNE    *-7
       LDU    FINDEM
       JMP    SHELL
 
ERROR  LDA    $E7C3
       ORA    #1
       STA    $E7C3
       LDD    #0
       STD    $E7DC
       LDX    #COLORS+32
       LDU    #PHRASE+25
       LDB    <$4E
       LSRB
       LSRB
       LSRB
       LSRB
       LDA    B,X
       LDB    <$4E
 
 
 
 
 
 
 
 

       ANDB   #15
       LDB    B,X
       STD    ,U++
       LDB    <$48
       LDA    B,X
       LDB    <$49
       LDB    B,X
       STD    ,U++
       LDB    <$4B
       LSRB
       LSRB
       LSRB
       LSRB
       LDA    B,X
       LDB    <$4B
       ANDB   #15
       LDB    B,X
       STD    ,U++
       LDB    <$4C
       LSRB
       LSRB
       LSRB
       LSRB
       LDA    B,X
       LDB    <$4C
       ANDB   #15
       LDB    B,X
       STD    ,U
 
       LDX    #$4078
       LDY    #PHRASE
       LDB    ,Y+
       JSR    PRINT
       CMPX   #$40A0
       BNE    *-8
       LDX    #$41B8
       LDB    ,Y+
       JSR    PRINT
       CMPX   #$41E0
       BNE    *-8
 
       DEC    $E7C3
       LDX    #$4140
       LDU    #$D698
       LDA    #40
       LDB    ,-U
       STB    -320,X
       STB    ,X+
       DECA
       BNE    *-7
       CMPU   #$D690
       BNE    *-17
       LDD    #$C0C0
       STD    ,X++
       CMPX   #$5F40
       BNE    *-5
       LDX    #COLORS
       LDA    #255
       JSR    $EC00
       TST    $E7C8
       BEQ    *-3
       JMP    G
PRINT  LDA    #8
       SUBB   #32
 
 
 
 
 
 
 
 

       MUL
       LDU    #FONTE
       LEAU   D,U
       PULU   D
       STA    -120,X
       STB    -80,X
       PULU   D
       STA    -40,X
       STB    ,X+
       PULU   D
       STA    39,X
       STB    79,X
       PULU   D
       STA    119,X
       STB    159,X
       RTS
 
COLORS FDB    0,$0C12,$181E,$4C52,$585E
       FDB    $646A,4080,4095
       FDB    $EE,$CE,$AE,$8E
       FDB    $6E,$4E,$2E,$0E
       FCC    /0123456789ABCDEF/
PHRASE FCC    /       Erreur disque/
       FCC    /tte #00000000       /
       FCC    /         Appuyez sur/
       FCC    / une touche         /
 
       END


[Edit]
Testé à l'instant avec DCTO8D dans Windows, toujours avec la MEMO7 "6809 language module" et le programme LOADER.ASM. Résultat identique, donc pour moi tout est bon.
Un petit rappel : le fichier dcto8d-printer.txt n'est jamais vidé par dcto8d. Si on ne l'efface pas manuellement, il contient tout ce que l'émulateur a imprimé depuis sa première installation, y compris les caractères de contrôle de l'imprimante, et aussi n'importe quoi si un programme s'est planté. C'est peut-être ce qui s'est passé. Mais quels que soient les caractères parasites imprimés involontairement, le dernier listing imprimé doit se trouver en fin de fichier.


Dernière édition par Daniel Coulom le 27 Juil 2010, 21:26, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 21:26 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
En effet, j'ai refait un test aujourd'hui et apparament ça marche... Une impression foireuse lors d'un essai précédent avait du remplir le fichier printer de caractères bizarres.

Merci ! Il ne me reste plus qu'à convertir tous ces morceaux un par un ...

Fausse alerte donc.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 21:45 
Hors ligne
M. DCMOTO

Inscription: 06 Juin 2004, 08:23
Messages: 681
Localisation: Provence (France)
Pour simplifier le travail, il faudrait écrire un programme de mise en forme lisant directement le fichier ASM. Ca semble très simple. J'ai extrait les fichiers .ASM d'une disquette avec dcfdutil, et chargé LOADER.ASM dans un éditeur de texte. Les caractères de contrôle (en particulier la tabulation) sont mauvais, il faut les interpréter. Mais les instructions sont assez faciles à reconnaître. Exemple :
Code:
FINSCRñJSRô$E806
÷CMPBó#87
÷BNEôPAWARP
÷LDAô#$25
÷STAôPAWARP+2
PAWARPñCMPBó#$90
÷BRAôSYNCRO
÷SUBBó#$90
÷LDUô#C

Avec quelques lignes de C on doit pouvoir remettre tout ça en forme. Pour extraire les fichiers de l'image de la disquette, dcfdutil ne fonctionne malheureusement que dans Windows (ou dans MS-DOS avec de très anciennes versions). Mais je crois qu'il y a un utilitaire en ligne de commande développé par Eric Botcazou permettant de faire la même chose dans d'autres systèmes.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 22:17 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
Ouais, c'est plein de caractères bizarres là dedans... J'avais regardé au cas ou ça serait facilement lisible, mais entre les problèmes de tabulations, les accents dans les commentaires et compagnie, il me semble plussimple d'imprimer dans dcto8d pour le moment.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 27 Juil 2010, 22:45 
Hors ligne

Inscription: 27 Avr 2006, 09:04
Messages: 101
@PulkoMandy
Je viens de t'écrire un MP. Regarde ta boîte ici.


Haut
 Profil  
Répondre en citant le message  
MessagePosté: 27 Juil 2010, 23:16 
Hors ligne

Inscription: 27 Juin 2006, 19:44
Messages: 1062
Localisation: France (24)
PulkoMandy a écrit:
Bon,
J'ai récupéré des bouts de code source en .asm. J'aimerais les convertir en fichiers ascii normaux pour les décortiquer tranquillement (les imprimer sur pc par exemple). Je n'ai pas trouvé d'outil pour le faire.

CC90 sait le faire.
Et il convertit même les accents.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: 28 Juil 2010, 00:34 
Hors ligne

Inscription: 24 Juil 2010, 16:08
Messages: 455
Localisation: France
C'est bon, Tomix3 m'a tout converti proprement. Merci !


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 13 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 82 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Développé par phpBB® Forum Software © phpBB Group
Traduction par phpBB-fr.com