Assembleur 6502 sous Windows pour Atari 800XL
Voici un exemple d'application suite au cours sur le développement en C sous Windows.
Comme il s'agit d'un cours basé sur le C, il n'y a donc aucune référence au C++ (et ça a été dur ! D'autant que l'application s'y serait plutôt bien prêtée !!!)
La programmation est donc typiquement celle que l'on aurait "presque" trouvé encore dans les années 90...
Que fait donc cette application ?
Il s'agit d'une base permettant le développement de programme pour un Atari 800XL.
Il permet tout simplement de générer du code machine pour un circuit 6502.
Il comprend donc un ou plusieurs éditeurs (pour éditer vos fichiers en assembleur), et un assembleur (qui permet d'assembler différents fichiers pour produire un fichier en code machine).
Il ne comprend pas de linker, bien que cela n'aurait pas été difficile d'en ajouter un...
Il n'y a pas non plus de librairies !
Il y a une fenêtre nommée "outils", car bien évidemment, des outils pourraient être ajoutés:
- Un éditeur pour dessiner des players
- Un éditeur pour créer une nouvelle police de caractères
- Un éditeur pour dessiner dans les modes graphiques du 800XL
- Avoir la possibilité de choisir un caractère à intégrer dans un code assembleur (surtout pour les caractères graphiques).
- ...
- Petit manuel d'utilisation (pour ceux qui voudraient s'en servir !)
- Petites explications sur les fichiers.
Installation
Comme indiqué
au début, il s'agit d'un exemple. Cette application ne va donc pas évoluer
à l'avenir, sauf éventuellement si je devais trouver une erreur
dedans. Vu la méthode utilisée, il faudrait en effet
revoir le code, et surtout utilliser un peu de programmation orienté
objet ! Mais bon, il s'agit d'un exemple en C.
A noter enfin: ce code ne doit pas être exempt de bug, donc il ne faudra pas chercher à me contacter suite à l'utilisation du produit et les conséquences (négatives ou non) qu'elles pourraient avoir.
Un bug par exemple est lié à la taille de votre fichier source, donc ne pas faire de fichier de plus de 16ko.
Voici tout d'abord un programme permettant l'installation du produit. Il y a création d'un icône de lancement dans le menu démarrer\tous les programmes\asm6502
Le programme s'intalle par défaut sous c:\Program Files\asm6502.
Il y a un outils de désinstallation.
La registry n'est pas modifiée.
Les sources
Ensuite, les sources...
(Format 7Zip)
(Cela peut manquer de commentaires...)
Construction du projet
Pour le projet de type "win32 application", il faudra indiquer les librairies suivantes sous MS Windows:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib shlwapi.lib
(Je dois bien avouer que je n'ai absolument pas vérifié si elles étaient toutes nécessaire...)
Si vous avez un problème lors de la compilation, (genre afxres.h non trouvé), dans le menu tools\options, l'onglet directory, sélectionnez dans show directories for l'option include files et ajoutez le répertoire d'installation de votre compilateur C++ suivi de \MFC\INCLUDE
Par exemple:
C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\MFC\INCLUDE
Exemple de code pour le 6502
Enfin, un exemple de fichiers assembleurs 6502 développés via ce programme:
Il s'agit d'un petit jeu de course nommé vroom inspiré de "bump and jump".