Programmation ASM sur Amiga
-
Bonjour,
petite surprise avant les fêtes, j’ai mis en ligne le code source du prochain dossier qui concerne l’Atari Ste, avec un modeste remake de Shadow of the Beast (mais alors vraiment modeste).
Le dossier ne sera pas rédigé avant la rentrée mais vous pouvez déjà jeter un oeil aux sources qui sont largement commentés.
En passant si quelqu’un pouvait me dire comment ça se comporte sur du vrai hardware.
Bonnes fêtes.
“Je vous ai mis le code source. C’est un petit projet, tout au plus quelques dizaines de milliers de lignes de code C++ pour le moteur du jeu. Pensez à compiler avec le dernier GCC. Les graphismes sont à récupérer sur le site. L’archive de fait que 22 MO. Heu… quelqu’un peut me dire comment ça tourne sur un vrai ST ?”
😛
Prédateur Chess | Amiga 500 + ACA500 | Amiga 1200 + ACA1233
Quel charrieur ce Jul ! 😉
Ne les écoute pas tous ces mécréants, je testerai sur mon STE dès ce soir ! (il est encore sur mon bureau, j’ai travaillé dessus ce week-end…).
A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDIAlors, premiers “tests” :
* Le scrolling différentiel du décor, ça marche au poil !
* Scrolling + sprite, ça commence à déconner… (barre rouge en haut dans la bande noire, barre cyan en bas qui est au niveau de l’herbe et qu’on ne voit que dans les bandes noires et un “glitch” cyan dans l’herbe), la bête va vers la droite au pas de course… 😉
* Scrolling + sprite + joystick, ça ne change “rien” si ce n’est qu’on peut “accélérer” vers la droite… mais pas aller à gauche ou quoi que ce soit d’autre, la bête avance toujours toute seule vers la droite (et toujours les bugs de la seconde partie)
* Avec l’ajout des barrières, toujours les mêmes bugs graphiques et ajout de magnifiques barres vertes sur toute la hauteur de l’écran et d’une barre jaune en bas (sous la cyan, faut suivre ! 😉 ). On peut diriger la bête ! Mais si on a le malheur de s’arrêter au “mauvais” moment, le décor clignote, saute… bref, c’est l’horreur ! LOL ! 🙂
* Ajout du son… euh… pas de son, pas de musique, rien. Mon STE en reste muet…
Bon, je ne vais pas te jeter la pierre (Pierre ?), et je serai incapable d’en faire la moitié en assembleur… 😉 Mais je crois que c’est “pas ça” mon bon Lexomil pour le faire fonctionner sur un VRAI Atari STE. Mais bon, je ne doute pas que tu vas trouver !
Edit : Ne pas se fier à la bande sombre au niveau de la bête, c’est simplement une photo d’un écran tube cathodique, un vrai ! 😉
Edit 2 : J’ai testé aussi bien sous TOS 1.62 que sous 2.06 et le tout assemblé sous Devpac 3.0
Attachments:
A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDIquestion toute bête, tu as bien pris les derniers fichiers INCLUDE de l’archive ?
j’explique les barres 🙂
la rouge du haut c’est le temps CPU+Blitter pour afficher le sprite
les barres vertes c’est pareil mais pour la barrière (découpage en 3 passes)
la barre cyan c’est le temps CPU pour la restauration du fond du sprite
la barre jaune c’est le temps CPU pour la restauration du fond de la barrière
vue ton screenshot les timings sont bien ceux que me donne Hatari, par contre on dirait que sur un vrai hardware le blitter interfère beaucoup plus avec les interruptions du timer B, ça sent le calage de cycle pas nette au démarrage.
y’a plus qu’à mettre la main sur un STe alors.
Yep ! Reparti de “zéro” avec l’archive que tu as laissé ici :
http://flabrador.free.fr/atari/sotb/SOURCES.zip
Ok pour les barres, ça explique le pourquoi du comment (désolé, honnêtement je n’ai pas – ou très peu, juste les premières lignes ! – lu encore tes commentaires dans le code, j’ai juste voulu tester sur un vrai hardware comme tu le demandais sans aller plus loin !). 🙂 C’est pas mal du tout comme système !
Quant à mettre la main sur un STE, c’est pas compliqué, ça court les rues ! 😀 Ou au pire c’est pas très cher (le plus chiant à la limite, c’est d’avoir la place pour l’accueillir !).
Veux-tu que je tente avec un autre STE (on ne sait jamais, mais normalement celui que j’utilise est finalement très standard hormis ses 4 Mo !) ? J’en ai un avec le fameux DMA buggué… 😉 J’en ai aussi un autre qui n’a pas de switch pour le TOS… Bon, l’avantage de celui que j’utilise quasi au quotidien, c’est le CosmosEx, ça me permet d’avoir un “disque dur” sur mon STE… Dommage qu’on soit pas du même coin, je me serai fait un plaisir de te prêter un STE pour tes essais !!!
Ou alors je lance l’idée d’une location de vieilleries ? Qui veut d’un Atari STE en location ? 😉 1 euro la journée + frais de ports. 😀 (va falloir le rendre vite, sinon ça vaut plus le coup ! 😉 ).
A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDI@Baud : tu prends l’url du site et tu remplaces le .free.fr par @free.fr
@frost : oui c’est clair que c’est la méthode la plus safe mais tu te bouffe quasi 512 cycles à chaque IT si tu attends la fin de la ligne précédente et y’en a un paquet sur cet écran. je vais quand même essayer comme ça.@huggy : non c’est très bien comme machine de test, je suis en TOS 1.62 et 2meg de RAM sur Hatari donc c’est très similaire. je vais peut être abuser mais tu pourrais faire une petite video de la version finale ? je verrais mieux les bugs comme ça.
j’aurais jamais du revendre mon STe, bon, vais faire un tour sur le bon coin ^^
@lexomil
J’ai réussi à compiler ton Shadow Of The Beast avec Devpac 3. Ca se compile immédiatement, contrairement au C. J’ai rien compris, mais c’est épatant ! C’est vraiment très beau avec la musique et les scrollings différentiels. Quel boulot !Je serai curieux de savoir… !
Edit : Je n’ai testé que sur un seul de mes STE, mais comme c’est le seul qui a un “disque dur”, ça m’arrangeait… 😀 Mais si ça passe ailleurs sur un STE “standard”, je testerait (mais j’aimerai connaître le TOS aussi… et si c’est bien un “STE”, bien que vu le source, ça ne devrait pas fonctionner sur autre chose).
A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDI
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Programmation ASM sur Amiga