MSX Village forum

L'école Comment compiler un fichier ASM

metalgear2 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 27/11/2010 à 23h40

Messages: 2768

Le 02/05/2014 à 00h11
J'ai un fichier en assembleur ( Pour MSX ) que je voudrais compiler. Est-ce que quelqu'un peut m'aiguiller sur la façon de la faire. Edité par metalgear2 Le 02/05/2014 à 00h11



Mon site consacré au MSX : http://mymsx2.free.fr
Site web    
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

metalgear2 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 27/11/2010 à 23h40

Messages: 2768

Le 02/05/2014 à 00h32
Mince, j'ai pas pensé a chercher sur le forum .... :oups

Merci :top



Mon site consacré au MSX : http://mymsx2.free.fr
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10317

Le 02/05/2014 à 11h28
attention : tous les assembleurs n'ont pas vraiment la même syntaxe

il vaut mieux savoir d'ou provient le programme source , c'est parfois renseigné

ex : un fichier .GEN se compile avec GEN80


:noel
Site web    
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 02/05/2014 à 12h10
Les modifications à faire sont indiquées aux liens que j'ai donné.

J'ai convertie tout de même le code source que tu m'as envoyé mais essaie avant la prochaine fois. Il n'y a rien de compliqué. Il faut juste un éditeur de texte brut et de préférence un qui peut remplacer aussi les caractères non-visibles. Sur Mac, TextWrangler est pas mal.
   
metalgear2 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 27/11/2010 à 23h40

Messages: 2768

Le 02/05/2014 à 12h29
GDX :
J'ai convertie tout de même le code source que tu m'as envoyé mais essaie avant la prochaine fois.




Pour avoir essayer, j'ai essayé. Ca fait deux jours que je suis dessus. Quand tu connais l'assembleur, ça va, mais moi qui n'y connait rien, dur dur. Je comprend pas les erreurs qu'il qu'il affiche quand je veux compiler. :oups



C'est pour ça que j'ai demandé ton aide. :'(



Mon site consacré au MSX : http://mymsx2.free.fr
Site web    
Maggoo Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 25/06/2013 à 17h49

Messages: 192

Le 02/05/2014 à 15h49
Tu peux poster ton code et les messages d'erreurs?
Site web    
z80 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 17/05/2013 à 22h52

Messages: 956

Le 03/05/2014 à 11h16
j'allais dire pareil: poste le code et les messages d'erreurs :)


TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours) :top
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,... :\'(
   
6502man Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 19/08/2013 à 18h14

Messages: 815

Le 03/05/2014 à 23h44
Jipe a raison il faut vérifier pour quel assembleur le code source à était fait, car tous n'ont pas la même syntaxe ;)

Tu peux utiliser aussi TASM (c'est très classique, mais ca fonctionne très bien) je l'utilise pour tous mes développement ASM sur plusieurs processeurs ;)

Pour l'utiliser c'est très simple sous windows, au besoin je peux t'aider à configurer la commande pour compiler ;)


Site web    
metalgear2 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 27/11/2010 à 23h40

Messages: 2768

Le 04/05/2014 à 00h05
Merci de vos réponse, mais GDX ma convertit et compiler la source. :top



Mon site consacré au MSX : http://mymsx2.free.fr
Site web    
BibiZen Membre non connecté

Maire-adjoint

Rang

Avatar

Inscrit le : 03/10/2009 à 18h34

Messages: 1455

Le 27/05/2014 à 22h10
svp quelqu'un saurait compiler ce code gen80 en .ROM :hum
l'auteur du site a besoin d'aide pour utiliser Midislav 1.4 sur un CX5M sans interface disquette

http://www.cx5m.net/midislav/
E-mail    
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 28/05/2014 à 02h01
http://www.msxvillage.fr/forum/topic.php?id=2187#m50886



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

Code TEXT :
.db


doit remplacer :

Code TEXT :
    DEFB


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

Code TEXT :
.dw


doit remplacer :

Code TEXT :
    DEFW


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

Code TEXT :
.db


doit remplacer :

Code TEXT :
    DEFM


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

Citation :
Il faut juste faire attention de ne rien mettre derrière les labels. (Passez à la ligne suivante!)

Il faut utiliser " ORG adrs" par ".ORG adrs" et remplacez les mots "variable EQU adrs" par "#DEFINE variable adrs".

Une fois votre programme entré, cliquer sur "BUILD".

Si il n'y a pas d'erreur, cliquer sur "Download" dans le cadre où les messages du déroulement de l'assemblage s'affichent. Votre programme assemblé va se télécharger.


Dans le programme que tu veux compiler, les labels n'ont pas tous les deux points derrière (":"). Il faut les ajouter. Edité par GDX Le 28/05/2014 à 02h19
   
z80 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 17/05/2013 à 22h52

Messages: 956

Le 28/05/2014 à 09h45
BibiZen :
svp quelqu'un saurait compiler ce code gen80 en .ROM :hum

l'auteur du site a besoin d'aide pour utiliser Midislav 1.4 sur un CX5M sans interface disquette



http://www.cx5m.net/midislav/




Il faut reprendre un peu le code parce qu'il n'est pas pensé pour une utilisation en cartouche. Le code est conçu pour être exécuté en RAM et s'attend à trouver de la RAM avant sont adresse de chargement, vers 8100h et au-dessus de son adresse de fin et ce jusqu'en DB00h.



Je ne sais plus comment boot un MSX/MSX2, mais je pense qu'avec une cartouche on doit se trouver dans la config:

PAGE 0: BIOS

PAGE 1: LOGICIEL (cartouche de jeux, utilitaire etc...)

PAGE 2: ?? (soit la cartouche, soit de la RAM)

PAGE 3: RAM (le MSX en a besoin ne serait-ce que pour effectuer ces sauts dans les appel inter slot et autre manipulation de changement de SLOT pour les pages 0, 1, et 2.



Donc il faut:

  1. relocaliser le code en 4000h avec un entête en 4000h qui va bien pour que la cartouche boot correctement.
  2. peut-être relocaliser les buffers UVL1 EQU 08100H et UVL2, mais si on place la RAM en PAGE 2, c'est pas nécessaire.
  3. vérifier ce qu'il y a en SLOT 3 sur la machine cible, car dans l'init il place le SLOT 3 pour la page 0 pour je pense faire des appels dans le BIOS du SFG (MIDSTT EQU 3FF6H et MIDDAT EQU 3FF5H)



TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours) :top
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,... :\'(
   
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1482

Le 28/05/2014 à 10h37
Et ajouter en 4000h les 2 octets déclaratifs d'une ROM : 41h et 42h


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 28/05/2014 à 10h47
Pour l'entête de la ROM, c'est expliqué au lien que j'ai donné. Ce n'est pas pour Gen80 mais on peut le convertir dans l'autre sens.
Le problème n'est pas là. Pour en faire une cartouche, ce n'est peut-être pas aussi simple.
Il faut connaitre un minimum le matos et savoir comment utiliser le programme. Et est-ce qu'on a besoin du lecteur de disquette, par exemple. Edité par GDX Le 28/05/2014 à 10h54
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie