La Place des Développeurs Tutoriel assembleur made in MSX Village
Reprise du message précédent
Fabf :
D'accord avec Metalion sur le fait qu'il faut des exemples avec un rendu directement visible.
Perso si c'est un tuto avec 15 pages de termes rébarbatifs, je jette l'éponge de suite.
L'idéal, une dizaines de ligne bien commentées ou l'on apprends quelque chose à chaque exemple.
Perso si c'est un tuto avec 15 pages de termes rébarbatifs, je jette l'éponge de suite.
L'idéal, une dizaines de ligne bien commentées ou l'on apprends quelque chose à chaque exemple.
Oui et non car pour programmer en assembleur, il faut connaitre tout un tas de choses avant même de commencer. C'est ça la difficulté de l'assembleur. Sinon l'assembleur en lui-même est très très simple, plus simple que le Basic même.
Je suis en ce qui me concerne partant pour mixer un peu le tout :
- la base devrait être AsMSX (il y a quand même 4 personnes ici qui le mettent en avant, dont votre serviteur
) : il offre des possibilités intéressantes, même s'il y a certaines subtilités et quelques particularités de syntaxe qui lui sont propres qui ne sont pas dans tous les assembleurs. Il faudra s'efforcer de faire la passerelle, afin d'avoir les correspondances : c'est là que ceux qui sont habitués sur d'autres assembleurs (Wbass, GEN80, ZEN, etc) pourront intervenir.
- D'accord avec le plan de l'Osaure, c'est les fameux exemples ludiques que je comptais aborder, même s'il faudra aussi faire du plus académique
- D'accord avec GDX aussi : il faudra quand même du blabla, nécessaire pour comprendre ce qui se fait. GDX l'a très bien dit, l'assembleur n'est pas difficile en soi, mais il nécessite de bien connaître l'architecture de la machine, les registres du Z80, ceux du PSG, du PPI et du VDP, RAM et VRAM, BIOS, hooks, variables systèmes... On ne pourra pas y couper. Il faudra juste les introduire (toujours sans connotation sexuelle
) doucement mais sûrement.
- la base devrait être AsMSX (il y a quand même 4 personnes ici qui le mettent en avant, dont votre serviteur

- D'accord avec le plan de l'Osaure, c'est les fameux exemples ludiques que je comptais aborder, même s'il faudra aussi faire du plus académique
- D'accord avec GDX aussi : il faudra quand même du blabla, nécessaire pour comprendre ce qui se fait. GDX l'a très bien dit, l'assembleur n'est pas difficile en soi, mais il nécessite de bien connaître l'architecture de la machine, les registres du Z80, ceux du PSG, du PPI et du VDP, RAM et VRAM, BIOS, hooks, variables systèmes... On ne pourra pas y couper. Il faudra juste les introduire (toujours sans connotation sexuelle


MSX un jour, MSX toujours !

il est sur que pour créer un sprite par exemple il faut connaitre quelques trucs sur le VDP et comment communiquer avec lui,, etc... Les conseils de spécialistes seront bien sur les bienvenus. Par contre il faudra éviter que ça tourne à la bataille d'expert qui prennent plusieurs pages de discussions...
J'ai une proposition: pourquoi ne pas partir d'un jeu basic relativement simple et de l'adapter en ASM?
On pourrait prendre Drop (

Le MSXien le plus à l'ouest




En tout cas il va falloir y aller avec des pincettes pour pas décourager les newbies tout en restant intéressant et donner le sentiment de progresser


granced :
C'est toute la difficulté de la chose ! C'est aussi pour ça que j'attends les critiques, positives ou négatives 

C'est vrai qu'il faudrait connaitre le niveau de chacun, pour ma part j'ai pas mal programmé en basic et j'ai déjà fait un jeu en ASM.
Pour le reste il faut rester ludique. Je me rappelle mes débuts en programmation Basic. J'avais suivi un programme du manuel un sprite façon fantôme qu'on pouvait déplacer, c'était grisant!
Le MSXien le plus à l'ouest




Pour ma part je programme comme un cochon en basic et j'ai déjà fait une routine en ASM sous forme de datas (avec l'aide du forum)
Je connais pas mal la VRAM mais je nage avec les registres du VDP
C'est vrai que le coup du sprite qu'on déplace avec le joystick c'est énorme quand on commence.
C'est le genre de truc qui fait engrenage
Je connais pas mal la VRAM mais je nage avec les registres du VDP

C'est vrai que le coup du sprite qu'on déplace avec le joystick c'est énorme quand on commence.
C'est le genre de truc qui fait engrenage

Un peu comme cela Knightmare
Et apres on se pose pleins, mais pleins de questions
La 1ère après avoir finaliser le déplacement de base : Comment gérer les déplacements à chaque augmentation de vitesse ?
1px, puis 2 px, puis 3px puis 4px.... Ca devient super saccadé et pas très précis... Et on se dit comment a fait Konami... Knightmare, c'est bien fait... On dessamble la rom... Et on lit et on pleure
Et apres on se pose pleins, mais pleins de questions

La 1ère après avoir finaliser le déplacement de base : Comment gérer les déplacements à chaque augmentation de vitesse ?
1px, puis 2 px, puis 3px puis 4px.... Ca devient super saccadé et pas très précis... Et on se dit comment a fait Konami... Knightmare, c'est bien fait... On dessamble la rom... Et on lit et on pleure


Oui mais là il y a un scrolling en plus
J'ai installé ASMSX et notepad++, je suis prêt

J'ai installé ASMSX et notepad++, je suis prêt


pensez à mettre à jours
=> http://asmsx-license-gpl.googlecode.com/files/asMSX.zip
=> http://asmsx-license-gpl.googlecode.com/files/asMSX.zip
Code :
-------------------------------------------------------------------------------
asMSX v.0.16 WIP. MSX cross-assembler. Eduardo A. Robsy Petrus [01/06/2010]
-------------------------------------------------------------------------------
Syntax: asMSX [file.asm]
DONALD TRUMP IS FAST APPROACHING
NEMESIS ! RETURN IMMEDIATELY !

Dans le dossier BIN de ASMSX j'ai pas d'exécutable
C'est normal ?

C'est normal ?
Mon répertoire de travail est constitué comme il suit (entre crochet, ce sont les répertoires :
[Knightmare] : Mon répertoire racine
[_Compilation] : Répertoire contenant les résultats de le dernière compilation de asMSX
[Data] : Les fichiers asm ou de données dépendant de mon ptojet (graphisme, sprite,...)
_asMSX.exe : Compilateur (ou j'ai renommé avec un _ devant pour qu'il soit placé en 1er)
_Compile.bat : La ligne de cmd dos pour compiler mon projet
knightmare.asm : Mon fichier de code
knightmare.rom : ROM résultant de la compilation
Contenu de _Compile.bat
%CD%
_asmsx.exe Knightmare.asm
pause
move /Y ~tmppre.0 _Compilation
move /Y ~tmppre.1 _Compilation
move /Y Knightmare.sym _Compilation
[Knightmare] : Mon répertoire racine
[_Compilation] : Répertoire contenant les résultats de le dernière compilation de asMSX
[Data] : Les fichiers asm ou de données dépendant de mon ptojet (graphisme, sprite,...)
_asMSX.exe : Compilateur (ou j'ai renommé avec un _ devant pour qu'il soit placé en 1er)
_Compile.bat : La ligne de cmd dos pour compiler mon projet
knightmare.asm : Mon fichier de code
knightmare.rom : ROM résultant de la compilation
Contenu de _Compile.bat
%CD%
_asmsx.exe Knightmare.asm
pause
move /Y ~tmppre.0 _Compilation
move /Y ~tmppre.1 _Compilation
move /Y Knightmare.sym _Compilation
RibbSayan :
La 1ère après avoir finaliser le déplacement de base : Comment gérer les déplacements à chaque augmentation de vitesse ?
1px, puis 2 px, puis 3px puis 4px.... Ca devient super saccadé et pas très précis... Et on se dit comment a fait Konami... Knightmare, c'est bien fait... On dessamble la rom... Et on lit et on pleure
La 1ère après avoir finaliser le déplacement de base : Comment gérer les déplacements à chaque augmentation de vitesse ?
1px, puis 2 px, puis 3px puis 4px.... Ca devient super saccadé et pas très précis... Et on se dit comment a fait Konami... Knightmare, c'est bien fait... On dessamble la rom... Et on lit et on pleure

Peut-être en bouclant?
avec une boucle principale qui gère les mouvements + musique et une autre que tu appelles 1X, 2X, 3X ,... avec les mouvements du perso + détection collisions et autres ?
ça marcherait, non?
Le MSXien le plus à l'ouest




J'ai rien de tout ça dans mon dossier ASMSX
Il va falloir fournir le programme avec le tuto alors

Il va falloir fournir le programme avec le tuto alors

Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie