6809 Assembly Language dans un environnement Windows 10 moderne

Cette catégorie traite de développements récents pour nos vieilles machines, applications, jeux ou démos... Amis programmeurs, c'est ici que vous pourrez enfin devenir célèbres!

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
jonesypeter
Messages : 33
Inscription : 08 mai 2021 15:33
Localisation : West Sussex, Great Britain

6809 Assembly Language dans un environnement Windows 10 moderne

Message par jonesypeter »

Salut. Mes compétences en langage assembleur sont de niveau débutant, mais lorsque je code en Z80, j'utilise un assembleur sur mon PC Windows appelé PASMO qui crée un fichier TAP à charger dans le ZX Spectrum. Puis-je demander quelle est l'approche moderne du 6809? J'ai l'intention d'utiliser le TO-7/70 comme cible (via un émulateur). J'ai trouvé de bons livres sur le site Web de DCMOTO que je traduis lentement. Cela aide que BASIC soit en anglais!

Merci
Site Web et forum My Sinclair ZX Spectrum

J'utilise DeepL et Google Traduction
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par __sam__ »

Moi j'utilise c6809 (ou sur github) et sapfs. Ensuite il existe des environnements de plus haut niveau comme CMOC.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
jonesypeter
Messages : 33
Inscription : 08 mai 2021 15:33
Localisation : West Sussex, Great Britain

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par jonesypeter »

Merci pour la réponse rapide. Pourriez-vous (si vous avez le temps) simplement fournir un exemple de la façon de compiler le fichier example.ass dans l'archive c6809 et les paramètres de ligne de commande pour SAP ou SAPFS pour créer le fichier d'émulateur? Merci
Site Web et forum My Sinclair ZX Spectrum

J'utilise DeepL et Google Traduction
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par __sam__ »

Il y a un exemple dans le ZIP de c6809.

Code : Tout sélectionner

(main)MAIN.ASM   * Marquage du programme principal

debut  equ    *
       leax   mess,pcr
deb0   ldb    ,x+
(info)
       beq    deb1
(info)
       jsr    $e803
       bra    deb0
deb1   swi

       includ MESSAGE
(info)
       end

(include)MESSAGE.ASM    * Include du message

mess   fcs    "Hello,|world!"
La particularité est que tout le source tient dans un seul fichier (extension *.ASS comme ASSembleur). Voici une traduction anglaise du Readme:

Code : Tout sélectionner

       ____    ____    ____    ____    ____
      / __ \  / __ \  / __ \  / __ \  / __ \
     / / /_/ / /_/_/ / /_/ / / / / / / /_/ /
    / / __  / __ \  / __  / / / / / _\__  /
   / /_/ / / /_/ / / /_/ / / /_/ / / / / /
   \____/  \____/  \____/  \____/  \____/
            Thomson 6809 Assembler Compiler

'c6809' is an Assembler-like 6809 compiler for computers
Thomson. It uses text format files.

The command line options are:

  -h program help
  -o assembly option (s)
          NO Compile without creating a binary file
          OP Optimization tracking possible
          SS Display in separate lines (no effect)
          WE Wait for first error (no effect)
          WL Line display
          WS Display of the list of symbols
      the option parameters (all disabled by default) must
      be separated by '/'
  -b type of output (non-linear binary by default)
      l linear binary
      h hybrid binary
      d data
  -d argument passing (<symbol> = <value>)
       Ex: -dto = 1
       The compiler will include the 'to' symbol of value 1 in the table
       before compiling the program
  -c create ASM files in Thomson format
       The assembly files corresponding to the main and includes will be
       created in the current directory. Be careful not to use the
       same name for two different files, the first one recorded will be
       crushed.
  -q notifies the exceeding of 40 characters per line (300 by default)
  -e group listing error messages (default row order)
  -s display order of listing symbols (alphabetical by default)
      e by symbol error
      t by symbol type
      n by frequency of use
  -a Notify compatibility (default virtual assembler)
      a ASSEMBLE1.0 and ASSEMBLE 2.0
      m MACROASSEMBLY 3.6
  -m + TO / TO7 / MO work machine (TO by default)
      This option could only have an impact on the operation of the
      compiler, except where compatibility is suggested.

THE CODES FILE
  At each compilation, a plotter file 'codes.lst' (listing) is generated.
  At the start of the file, the list of files used is displayed with their
  respective ASM size.
  The different markings must start at the beginning of a new
  line :
    (main) <file_name> <comment>
       Declaration of a main file (mandatory)
    (include) <file_name> <comment>
       Declaration of an include file
    (info)
       Display of the number of bytes and cycles since the start of the
       source or from the last instance of the 'info' tag.

   See file 'example.ASS'.


-------------------------------------------------- -------------

The executables for Windows, Linux and Macintosh can be found in
their respective repertoire.

-------------------------------------------------- -------------

To compile the 'c6809' program, rename 'Makefile.win' or
'Makefile.unx' to 'Makefile depending on whether you are under system
Windows or Unix, then just do a 'make' in the terminal
or the DOS window.

-------------------------------------------------- -------------

For any information or bug report, contact:
fjjm-arobase-orange-point-fr
Note: je parle de C6809 parce que c'est l'environnement que j'utilise mais d'autres sont possibles comme LWASM. Cependant ils ne génèrent pas forcément un binaire au format thomson (extension BIN).

Pour SAPFS, c'est très simple. On crée une diskette vide "disk.sap" avec

Code : Tout sélectionner

> sapfs -c disk.sap
puis on ajoute dedans le fichier BIN généré par c6809:

Code : Tout sélectionner

> sapfs -a disk.sap PROGRAM.BIN
Le fichier SAP peut ensuite être utilisé dans un émulateur. Il y a d'autres options possibles pour SAPFS.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
jonesypeter
Messages : 33
Inscription : 08 mai 2021 15:33
Localisation : West Sussex, Great Britain

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par jonesypeter »

Merci. Je vais installer une machine Ubuntu Linux le matin, car ma machine Windows est 64 bits, donc je ne peux pas exécuter les exécutables.
Site Web et forum My Sinclair ZX Spectrum

J'utilise DeepL et Google Traduction
Avatar de l’utilisateur
Dominique
Messages : 828
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par Dominique »

Il y a aussi le A09

https://github.com/Arakula/A09

que j'utilise normalement

a09 MonFichier.txt -b -l

génère un MonFichier.BIN et un MonFichier.LST
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par __sam__ »

jonesypeter a écrit : 09 mai 2021 21:04 Merci. Je vais installer une machine Ubuntu Linux le matin, car ma machine Windows est 64 bits, donc je ne peux pas exécuter les exécutables.
Avec WSL ca marche en principe. Sinon il faut recompiler. Ca n'est pas très compliqué.
Pièces jointes
c6809.zip
(61.75 Kio) Téléchargé 110 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par Daniel »

Il y a beaucoup d'assembleurs 6809, chacun a des avantages et des inconvénients. L'essentiel est de bien connaître celui que l'on utilise.
Comme Dominique, je reste fidèle depuis plusieurs années à A09 avec Windows 10 64 bits.
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
jonesypeter
Messages : 33
Inscription : 08 mai 2021 15:33
Localisation : West Sussex, Great Britain

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par jonesypeter »

Merci pour toute l'aide et suggestions.

Image
Site Web et forum My Sinclair ZX Spectrum

J'utilise DeepL et Google Traduction
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par Daniel »

Congratulations ! Is this your first 6809 program ?
Daniel
L'obstacle augmente mon ardeur.
Avatar de l’utilisateur
Dominique
Messages : 828
Inscription : 09 mars 2010 13:37
Localisation : Limoges
Contact :

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par Dominique »

Fichier A09 :
a09.zip
(122.54 Kio) Téléchargé 143 fois
Avatar de l’utilisateur
jonesypeter
Messages : 33
Inscription : 08 mai 2021 15:33
Localisation : West Sussex, Great Britain

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par jonesypeter »

Dominique a écrit : 13 mai 2021 01:05 (supp modo: quote inutile)
Merci d'avoir publié cette version de Windows.
Site Web et forum My Sinclair ZX Spectrum

J'utilise DeepL et Google Traduction
Avatar de l’utilisateur
jonesypeter
Messages : 33
Inscription : 08 mai 2021 15:33
Localisation : West Sussex, Great Britain

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par jonesypeter »

Bonjour,

J'ai lutté avec ce problème tout l'après-midi et je ne vois pas ce que je fais de mal. Quelqu'un peut-il m'aider ?

Voici mon code :

Code : Tout sélectionner

(main)MAIN.ASM   * Marquage du programme principal

PUTC	EQU $E803
ECRAN	PSHS U,Y,X,DP,D,CC
        LDU #TABLE
DEBUT	LDB ,U+
        CMPB #4
        BEQ FIN
        JSR PUTC
        BRA DEBUT
FIN	PULS U,Y,X,DP,D,CC,PC

TABLE	FCB $1B
        FCB $44
        FCB $1B
        FCB $53
        FCB $1B
        FCB $60
        FCB $0C
        FCB $14
        FCB $04	
        END
J'enregistre le fichier en tant que 'MAIN.ASM' et je compile avec :

Code : Tout sélectionner

c6809 MAIN.ASM PROGRAM.BIN
Cela ne produit aucune erreur :

J'exécute ensuite :

Code : Tout sélectionner

sapfs -c disk.sap

Code : Tout sélectionner

sapfs -a disk.sap PROGRAM.BIN
Je charge ensuite le disque dans DCMOTO avec l'émulation TO/70 et le BASIC 1.0.

Je ne suis pas sûr de savoir comment obtenir une liste des répertoires, mais j'ai essayé 'dir', qui a retourné '?SN ERROR'.

J'entre :

Code : Tout sélectionner

loadm "PROGRAM.BIN",32000,r
Mais je n'obtiens que le message 'Searching'.

Je me suis débrouillé hier avec un programme simple, mais pour une raison quelconque, j'ai des problèmes aujourd'hui.

Je vous remercie
Site Web et forum My Sinclair ZX Spectrum

J'utilise DeepL et Google Traduction
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par __sam__ »

Les TO7, MO5, TO7/70 de base n'ont pas de lecteur de diskette mais uniquement un lecteur de cassette. Sans préparation ils ne connaissent pas les commandes DOS (exemple: DIR) et vont chercher le programme sur cassette. C'est ce que tu observes.

Pour pouvoir utiliser une diskette DOS depuis le basic, il faut auparavant avoir booté sur une diskette qui contient le DOS comme celle-ci: (DOS MO/TO). A ce moment là les commandes comme DIR seront disponibles et le LOAD/SAVE se fera sur la diskette au lieu de la cassette.

Si tu travailles sur MO6/TO8/TO9/TO9+ alors le DOS est inclus en standard et tu peux te passer de la diskette fournissant le DOS.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17316
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: 6809 Assembly Language dans un environnement Windows 10 moderne

Message par Daniel »

De plus le TO7/70 n'a pas de contrôleur de disquette intégré. Dans dcmoto il faut, dans "Options" ajouter le contrôleur CD 90-351 et dans "Removable media" cocher la case "Disk drives".
Daniel
L'obstacle augmente mon ardeur.
Répondre