Assembleur / Compiler

Couvre tous les domaines de l'émulation logicielle ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Répondre
Avatar de l’utilisateur
laurel
Messages : 1527
Inscription : 23 nov. 2009 16:04
Localisation : Nancy
Contact :

Assembleur / Compiler

Message par laurel »

J'aurais besoin d'un peu d'aide.

Je suis en train de lire des bouquins pour apprendre à programmer en assembleur pour le 6502 sur apple 1.

Seulement je suis confronté à un problème, je n'arrive pas à utiliser/trouver un assembleur desassembleur... :oops:

je m'explique... j'ai trouvé ces 2 programmes :

XA65 qui est conseillé dans le livre sur l'apple 1 : http://www.floodgap.com/retrotech/xa/
et CC65 avec un patch pour l'apple 1 : https://github.com/jefftranter/6502/tre ... r/asm/cc65

Si j'ai bien compris il faut que je les compile pour pouvoir les utiliser sous windows?
Mais je ne sais pas les compiler et je ne sais pas quel logiciel utiliser.

Une fois compilé, ça prend quelle forme? il faut utiliser la boite invite de commande de windows pour les utiliser?

J'ai téléchargé Microsoft Visual Express 2005...
Je suis sur windows 7 ou XP.
Je suis paumé.
Merci pour votre aide...
Ca commence bien l'apprentissage de l'assembleur :roll:
Marcopolo

Re: Assembleur / Compiler

Message par Marcopolo »

Ce serait peut être plus facile avec un assembleur déjà compilé du genre :
http://john.ccac.rwth-aachen.de:8000/as/

Et ça tourne dans une invite de commande DOS
Avatar de l’utilisateur
6502man
Messages : 12327
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Assembleur / Compiler

Message par 6502man »

Si j'ai bien compris tu veux programmer en assembleur pour Apple 1 ?

Personnellement j'utilise maintenant TASM qui permet de coder pour plusieurs CPU (6502, Z80,6809,6803, TMS ....)
Le seule inconvénient c'est qu'il s’exécute en ligne de commande, mais bon, compatible avec les WIN XP,VISTA,7 .. ;)
Si tu as besoin fait moi signe :)

Sinon tu as un excellent assembleur 6502 en ligne :wink: 6502 ASSEMBLER
et tu as même un deassembleur 6502 en ligne : DISASSEMBLER

Voila à toi les joies de la programmation 6502, un vrai 8 bits il ne sait travailler quand 8 bits aucune opération 16 bits (même pas une addition), mais c'est un vrai monstre de vitesse :D

Le plus important c'est avoir la doc pour la machine cible (OS, ROM, RAM, I/O,...) ;)
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
laurel
Messages : 1527
Inscription : 23 nov. 2009 16:04
Localisation : Nancy
Contact :

Re: Assembleur / Compiler

Message par laurel »

Merci!
Ca me plait l'assembleur en ligne!

Pour info, j'ai trouvé pour CC65... http://oliverschmidt.github.io/cc65/get ... arted.html
En fait le patch apple 1... c'est pour l'utiliser sur apple 1 je suppose? Car de toute façon, l'assembleur est le même pour toute les machines à base de 6502?
Avatar de l’utilisateur
6502man
Messages : 12327
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Assembleur / Compiler

Message par 6502man »

Oui l'assembleur est le même pour toutes les machines qui ont un 6502 :D
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
bilbo

Re: Assembleur / Compiler

Message par bilbo »

a mon avis je patch de jeff tranter ne concerne pas le compilo lui même mais l'environnement des libraries 6502 pour le replica 1.

on peut trouver cc65 tout compilé pour plusieurs plateformes ici: http://oliverschmidt.github.io/cc65/

personellement j'utilise une machine virtualbox avec un debian, je trouve la ligne de commande sous windows
completement imbouffable.

sinon le replica 1 incorpore krusader (assembleur)

pour desassembler le mieux je pense que c'est da65

il prend un binaire et un fichier texte d'information qui permet faire un source assez propre
avec commentaire et labels corrects.

exemple:

Code : Tout sélectionner

 ; ----------------------------------------------------------------------------                                                            
; sasi out byte                                                                                                                           
sout:   lda     VIAPCR                          ; FD04 A5 8C                    ..                                                        
        ora     #$0A                            ; FD06 09 0A                    ..                                                        
        and     #$FB                            ; FD08 29 FB                    ).                                                        
; set ACK pulse                                                                                                                           
ackp:   sta     VIAPCR                          ; FD0A 85 8C                    ..                                                        
        ldy     #$00                            ; FD0C A0 00                    ..                                                        
; wait for REQ                                                                                                                            
wreq8:  lda     VIAIFR                          ; FD0E A5 8D                    ..                                                        
        and     #$02                            ; FD10 29 02                    ).                                                        
        beq     wreq8                           ; FD12 F0 FA                    ..                                                        
        lda     (XXXPTR),y                      ; FD14 B1 00                    ..                                                        
        sta     VIAPORTA                        ; FD16 85 81                    ..                                                        
        iny                                     ; FD18 C8                       .                                                         
        dex                                     ; FD19 CA                       .                                                         
        bne     wreq8                           ; FD1A D0 F2                    ..                                                        
        lda     VIAPCR                          ; FD1C A5 8C                    ..                                                        
        ora     #$0E                            ; FD1E 09 0E                    ..                                                        
; set ACK high                                                                                                                            
ackh:   sta     VIAPCR                          ; FD20 85 8C                    ..                                                        
        rts                                     ; FD22 60                       `                                                                                                           
une fois la création du fichier d'info terminé on vire le commentaire avec le code et on a un source reassemblable

(ca c'est un petit bout du code que je suis en train d'analyser, le code du formateur du disque commodore 9060/9090
il est situé sur le 2eme 6502 et c'est lui qui envoi les commandes SASI)

au besoin email moi et je verrais comment reappliquer le patch de jeff sur la version actuelle
Avatar de l’utilisateur
laurel
Messages : 1527
Inscription : 23 nov. 2009 16:04
Localisation : Nancy
Contact :

Re: Assembleur / Compiler

Message par laurel »

Franchement j'ai abandonné! Impossible de trouver un assembleur fonctionnel et correcte sur mon windows 7 64 bits...
J'ai bien un dual boot en xp 32b mais c'est pénible!
Donc j'ai tout fait en ligne avec le lien donné par 6502man.

Je m'en suis sorti, mais le programme a pas mal de défauts :
-impossible de mettre des commentaires (bug?)
-si on donne un nom à une adresse en zeropage pour l'utiliser plusieurs fois, l'assembleur ne la traduit pas comme si elle était en zeropage. J'ai du reprendre le programme sans nom une fois terminé.

Par contre le gros avantage, c'est qu'il est même possible de programmer sur son téléphone!

J'ai donc terminé mon premier programme en assembleur. (Merci à Philippe pour les améliorations!).
Je vais vous montrer ça bientôt!
bilbo

Re: Assembleur / Compiler

Message par bilbo »

mais non mais non, il ne faut pas déseperer il est facile d'installer une virtual box avec un linux
en suite il suffit d'installer les packages pour cc65

en plus cc65 contient absolument tout

pour l'editeur j'utilise emacs sans X11 (je pense qui vi est réservé au masochistes...)

le mode ligne de commande sous linux c'est "finger in the noze" (attention aprés les doigts sont sale)

aller pour le fun: "moi de mon temps... c'etait pire... il fallais écrire notre propre assembleur / désassembleur)" (1979)

aprés sur le replica 1 le port série c'est pas la panacée mais avec une carte CFFA1 on peut sauver ses programmes
(c'est déjà mieux) [Attention le CFFA1 ne marche pas avec tout les compact flash utiliser une carte DANE ELEC]

la virtualbox marche nickel sur un windows 7 64 bits (c'est ce que j'utilise)
Avatar de l’utilisateur
laurel
Messages : 1527
Inscription : 23 nov. 2009 16:04
Localisation : Nancy
Contact :

Re: Assembleur / Compiler

Message par laurel »

ok, je testerai!
Car c'est vrai que pour aller plus loin je pense qu'il faut des outils un peu plus pratiques.

Par contre je n'ai pas de replica1. C'est une réplique d'apple 1 que je possède.
D'ailleurs y a t-il un moyen simple d'y ajouter un port série, mais sans modifier la ROM et sans microcontrôleur? Ça me serait vraiment utile...
Avatar de l’utilisateur
6502man
Messages : 12327
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Assembleur / Compiler

Message par 6502man »

Ca me parait un peu lourd VirtualBox/Linux/CC65 pour assembler un programme 6502 sous windows :roll:

Ce n'est que mon point de vue, mais TASM fonctionne très bien et on peut très facilement automatiser les assemblages sans avoir besoin de toucher à aucune ligne de commande :wink: grace au magique %1 :) par exemple

Après je comprends que dans certains cas d'incompatibilités on ne puisse pas faire autrement que de passer par un environnement virtuel :)
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
bilbo

Re: Assembleur / Compiler

Message par bilbo »

je pense que les cartes de Vince Briel, fonctionne directement sur un apple 1

http://www.brielcomputers.com/wordpress/?cat=17

il a une carte multi I/O avec un port parallel 6522, un port série 6551, une eeprom
Attention A condition de retirer l'eeprom (sur support ZIF) il est possible
de connecter la carte multi I/O et le CFFA1

sinon pour le manque de slots, il a une extension de BUS avec 3 slots.

pour virtual box / linux c'est simple avec windows j'ai l'impression d'être tetraplegique :(
avec une session shell sous unix, je respire :)

surtout j'utilise da65 pour déassembler et recréer un source...

franchement si j'etais moi je mettrais l'apple 1 dans une vitrine et je m'acheterais un replica 1 :)

d'ailleur son dernier replica a un port usb pour la liaison série, et est aliment par l'usb..
parfait pour développer sans risques
Avatar de l’utilisateur
laurel
Messages : 1527
Inscription : 23 nov. 2009 16:04
Localisation : Nancy
Contact :

Re: Assembleur / Compiler

Message par laurel »

Non non , pas de replica 1! Pour moi, autant utiliser un émulateur... :mrgreen:
Je pense que pour utiliser la carte I/O, il faut remplacer la rom, pour accéder au 6551. Mais je ne veux pas modifier le moniteur...
jester
Messages : 2328
Inscription : 01 janv. 2009 23:16
Localisation : Grenoble

Re: Assembleur / Compiler

Message par jester »

Oui, Philippe a raison, TASM marche très bien, super léger, très pratique à piloter via un éditeur de texte un peu évolué... il faut des petits outils pour échanger/adapter les fichiers d'une plateforme à l'autre (cross-development).
C'est la solution idéale pour développer vite et bien : TASM pour générer le code à la vitesse de la lumlière -> outils de transformations -> Emulateur pour tester/debugger
Ne jamais allumer une machine d'époque à part pour du code particulier qui peut mettre à mal un émulateur (très rare sur des machines connues)... de toute manière 99% des gens testeront sur émulateurs donc même si ça marche pas en réel personne le verra :lol:
Avatar de l’utilisateur
ritchy
Messages : 35
Inscription : 01 janv. 2014 00:01
Localisation : Annecy
Contact :

Re: Assembleur / Compiler

Message par ritchy »

J'ai un copain qui a commencé un projet un peu fou, un IDE moderne pour développer en assembleur pour de vieilles machines, depuis un PC ou un Mac.

Il me semble qu'il peut déjà compiler pour 2 plates-formes (C64 et PC-Engine), mais que ça n'est pas encore disponible au public.

Le lien ici: http://somanybits.com/

Ritchy.
Répondre