[Neogeo] Asm pour 68000

Voir le sujet précédent Voir le sujet suivant Aller en bas

[Neogeo] Asm pour 68000

Message par pckid le Mar 21 Juil 2015 - 14:47

Bonjour à tous,

Je fais appel aux personnes qui connaissent l'asm,

J’aimerais injecter du code Asm dans la libraiire neodev.

Afin de lire en mémoire la position d'un sprite et de changer sa position dans le Draw List.

Voir ici : https://wiki.neogeodev.org/index.php?title=VRAM

$8600 $867F Sprite list for even scanlines
$8680 $86FF Sprite list for odd scanlines

Si on utilise SpriteInit , Neodev possède son propre Draw List par ordre d'arrivé.
Je veux changer l'ordre en memoire si je crée un sprite 1 avant sprite 2
je voudrais passer le Sprite2 avant Sprite 1, pour une question de calque de sprite et qu'il prenne le dessus sur le sprite 1.

Si vous avez une piste, ou vous savez le faire sur une autre machine, je suis preneur.

Merci
avatar
pckid
Infirmier

Masculin Nombre de messages : 3682
Age : 40
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par TOUKO le Mar 21 Juil 2015 - 16:52

Si vous avez une piste, ou vous savez le faire sur une autre machine, je suis preneur.
Techniquement, je dirai qu'il te faut une copie de ta sprite liste en RAM, où tu fais ton ordre de sprites, et une foi fait tu l'envoies en VRAM ..
soit tu fais tout pendant le vblank si c'est pas trop lourd, ou alors à la fin de ta boucle principale et tu balance le résultat en vram pendant le vblank .
avatar
TOUKO
Interne
Interne

Masculin Nombre de messages : 12523
Age : 44
Localisation : LE MANS/MARSEILLE
Date d'inscription : 08/07/2010

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par pckid le Mar 21 Juil 2015 - 16:59

Salut Touko

Dans ma librairie c'est HpMan qui gere l'ordre des sprites, et son code est protégé et je ne vois rien coté Asm, les noms , les adresses ou autres. J'appelle des functions C.

Sais tu si je dois découvrir comment stocke HpMan pour modifier la Vram ? (ce serait le plus simple)

Aurais tu un exemple sur Pc Engine, comment tu gères l'ordre des Sprite en Asm ?
Comment debugger l'asm et tracer les variables ?

Il y a un truc fort en Pc Engine , que l'on a pas dans NeoDev, ce sont tes balises #asm pour dire que c'est du Code asm, Alors tu peux faire pleins de function.

Sur neogeo, on est obligé de faire un traffic pas possible pour créer sa librairie Asm, et personne sur terre ne code sur la Neogeo à part la NgDevTeam, qui ne parle qu'à eux même.

Pour trouver des infos c'est pas facile.
avatar
pckid
Infirmier

Masculin Nombre de messages : 3682
Age : 40
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par TOUKO le Mar 21 Juil 2015 - 17:10

Si tu veux reorganiser l'ordre toi même il faut pas passer par la fonction de la lib, mais en créer une toi même, soit en C soit en ASM .

Aurais tu un exemple sur Pc Engine, comment tu gères l'ordre des Sprite en Asm ?
Ca marche pas pareil, sur PCE l'ordre est fixé, le sprite 0 de la table est celui qui à la plus haute priorité, le sprite 3 par exemple ne pourra jamais être au dessus des sprites 0->2, sauf intervertir toutes leurs données dans la table .

Il y a un truc fort en Pc Engine , que l'on a pas dans NeoDev, ce sont tes balises #asm pour dire que c'est du Code asm, Alors tu peux faire pleins de function.
effectivement, si le kit ne permet pas ça, ça limite fortement les optimisations et choses non prévues dans le kit .
Après une fonction perso en C qui reorganise la table, est facilement faisable,reste à savoir niveau vitesse ce que ça donne .
avatar
TOUKO
Interne
Interne

Masculin Nombre de messages : 12523
Age : 44
Localisation : LE MANS/MARSEILLE
Date d'inscription : 08/07/2010

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par pckid le Mar 21 Juil 2015 - 17:23

Dans le kit :

On peut faire en C : asm( "clr.l %d2 ;" );

Mais j'imagine une ligne par une ligne, j'aurais bien aime une function comme toi.

Et si on doit faire une function asm, il faut compilé en object, puis l'ajouté dans un MakeFile
et faire un .h, bon un peu plus de boulot.
avatar
pckid
Infirmier

Masculin Nombre de messages : 3682
Age : 40
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par TOUKO le Mar 21 Juil 2015 - 17:33

si ça utilise GCC pour compiler, il me semble qu'il supporte l'asm en ligne .
avatar
TOUKO
Interne
Interne

Masculin Nombre de messages : 12523
Age : 44
Localisation : LE MANS/MARSEILLE
Date d'inscription : 08/07/2010

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par pckid le Mar 21 Juil 2015 - 19:11

oui on passe par gcc , le 2.9 xxxxx
tu peux m expliquer comme cela marche le gcc.

si je mets une instruction avec des balises asm comme toi il peut lire le code ?

tu sais comment stef gere l asm dans sgdk ? Car peut être que la syntaxe doit marcher ?

dommage que hpman ne soit plus parmis nous j espère qu il lui ait rien arrivé.

merci
avatar
pckid
Infirmier

Masculin Nombre de messages : 3682
Age : 40
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par TOUKO le Mar 21 Juil 2015 - 19:52

Je sais pas,hélas ..
avatar
TOUKO
Interne
Interne

Masculin Nombre de messages : 12523
Age : 44
Localisation : LE MANS/MARSEILLE
Date d'inscription : 08/07/2010

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par pckid le Mar 21 Juil 2015 - 23:55

Merci je reviens si j avance sur ce problème
avatar
pckid
Infirmier

Masculin Nombre de messages : 3682
Age : 40
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par Kannagi le Mer 22 Juil 2015 - 20:45

Sur neogeo, on est obligé de faire un traffic pas possible pour créer sa librairie Asm, et personne sur terre ne code sur la Neogeo à part la NgDevTeam, qui ne parle qu'à eux même.

Faux moi je code sur Neo Geo en assembleur Wink
Franchement c'est pas une console la plus obscur qui soit on trouve tout ce qu'il faut pour codé sur NG , et puis c'est pas un ovni en retrouve des similitude sur toute les consoles 8/16 bits.
Je dirai même plus elle est assez simple , il faut pas connaitre plein de chose pour afficher des sprites  , si je la compare a la SNES ou il faut connaitre une vingtaine-trantaine de registre mémoire  pour seulement afficher un sprite avec son Background et les info sont pas toujours évidentes a comprendre.

je voudrais passer le Sprite2 avant Sprite 1, pour une question de calque de sprite et qu'il prenne le dessus sur le sprite 1.
Bof comme toute les consoles SNES y compris (mais c'est pareil our la MD , MS ou Nes), tu doit les mettres dans l'ordre et changer cette ordre par rapport a tes besoins.
il y a le SBC1 ,2,3,4 pour gérer les sprites , il faut juste que tu inverse Sprite 1 et 2 et l'ordre d'affichage sera inversé.
On gros l'algo :
t'as adresse1 pour sprite1
et adresse2 pour sprite2

donc tu fait :
adresse1 pour sprite2
et adresse2 pour sprite1

NT: j'était revenu sur le forum pour savoir si ça bottait des personnes de codé un jeu sur Neo Geo en asm pas que j'ai des difficultés pour en créer sur Neo Geo mais que j'ai deja quelque projet perso a finir et donc je consacre que très peu de temps sur la NG.

Kannagi
Patient contaminé

Masculin Nombre de messages : 248
Age : 29
Localisation : Marseille
Date d'inscription : 18/08/2014

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par pckid le Ven 24 Juil 2015 - 18:00

Salut Kannagi,

Est ce que tu peux me donner quelque coup de main, pour trouver de la doc sur les registres Neogeo ?

Quel kit utilises tu ? pour faire de l'asm ?
As tu un debugger pour voir nos sprites ou ils sont enregistré en mémoire ?

J'ai vu ta doc , sur SNES en assembleur , chapeau bas monsieur. Si j'avais cette doc sur neogeo et pc engine, je serais trop content.

Je vais pas lacher l'affaire sur ma librairie jusqu'a que j'y arrive, je veux faire chauffer la neogeo avec l'asm.

ps : je donne le lien pour les internautes qui nous lisent.
http://jeux.developpez.com/tutoriels/SNES/debuter-programmation-super-nintendo/

avatar
pckid
Infirmier

Masculin Nombre de messages : 3682
Age : 40
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par Kannagi le Ven 24 Juil 2015 - 18:33

hé he Merci pour le compliment sur mon tuto Very Happy
La bonne nouvelle c'est que je compte faire pareil pour la Neo Geo Wink

Moi je n'utilise aucun kit , j'utilise un simple assembleur 68000 (vasm).
J'ai pas de debugger pour savoir ou se trouve nos sprites sur la VRAM (faudra etre méthodique pour savoir ou on les met ) , mais j'ai un outils pour extraire des données du fix et des sprites (c1-c2 et s1).

Pour les info tu as : https://wiki.neogeodev.org/index.php?title=Main_Page
et donc les sprites : https://wiki.neogeodev.org/index.php?title=Sprites
tu peux trouver la doc officiel ici : http://www.neogeocdworld.info/medias/NG.pdf
Je conseille toujours de regardé la doc officiel si possible , c'est la référence absolu (même si je trouve la doc NG un peu dégueulasse comparait a d'autre qui sont plus propre sur la mise en page).Pour les registre en mémoire t'as un aperçu ici : https://wiki.neogeodev.org/index.php?title=68k_ASM_defines

Kannagi
Patient contaminé

Masculin Nombre de messages : 248
Age : 29
Localisation : Marseille
Date d'inscription : 18/08/2014

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par pckid le Ven 24 Juil 2015 - 18:39

Ok Kannagi, très bonne nouvelle.

Juste après je t'envois de la doc en perso pour la pc engine, et tu nous fais cela juste après la neogeo ?

Concernant la neogeo, j'ai des trucs pour le son, mais si tu as aussi des infos je serais preneur.

Cela se telecharge ou Vasm pour windows ?

Comment tu fais pour developper sur une vrai machine avec juste vasm, il manque le proc video, le bios de la console, sa mémoire et sa vram. tu m'expliques un peu ?

avatar
pckid
Infirmier

Masculin Nombre de messages : 3682
Age : 40
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par Kannagi le Ven 24 Juil 2015 - 19:46

Ben ça va me demandé pas mal de travaille de faire des tutoriel pour toute les consoles ^^
Je comptais en faire un pour la master system aussi Razz
Tu coup reste la Mega Drive (mais elle est deja assez bien fourni) , NES et PC Engine.
Pour la PC Engine notre ami Touko ne peut s'en occupé ? Il m'avait l'air de bien connaitre la machine Wink

J'ai malheureusement peu d'info sur le son ,me suis pas encore documenté la dessus.
Pour vasm il faudra compilé, mais c'est pas très compliquer a faire :
Code:
make CPU=m68k SYNTAX=mot

Pour windows il faut je pense avoir cygwin pour compiler avec gcc et le makefile.

Comment tu fais pour developper sur une vrai machine avec juste vasm, il manque le proc video, le bios de la console, sa mémoire et sa vram. tu m'expliques un peu ?

Je n'ai pas tout a fait compris donc peut être que je répond a coté , mais une rom Neo Geo comporte :
Les fichier c1,c2 ect pour les donnes des tiles (la il faut en général utiliser un outil externe pour les mettres dedans).
le fichier P contient le programme pour le 68K (et donc je compile avec vasm ).
Le fichier s1 pour le fix (pareil utilisait des outil externe pour éditer/modifier/créer).
Les v contient les son/musiques.
Le fichier m1 contient le programme pour le son (on peut utiliser vasm aussi il peut compiler pour du z80).
Après je zip tout ça et je test avec un émulateur sur Neo Geo (Gngeo chez moi) , testé avec une vrai machine ? a part la graver un CD pour la Neo Geo CD je ne vois pas d'autre moyen.

Pour les outils j'ai codé tout moi même donc je ne sais absolument pas quel outils il existe sur NG.

Kannagi
Patient contaminé

Masculin Nombre de messages : 248
Age : 29
Localisation : Marseille
Date d'inscription : 18/08/2014

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par pckid le Ven 24 Juil 2015 - 20:31

Et ben dis donc, tu pars de loin !

Quand est ce que tu penses t'attaquer aux tuto neo ?

merci à toi et @ tres bientôt
avatar
pckid
Infirmier

Masculin Nombre de messages : 3682
Age : 40
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par Kannagi le Ven 24 Juil 2015 - 20:40

J'espere que j'ai répondu bien a tes questions Wink

Quand je ne sais pas trop c'est vrai qu'on me le demande ce tutoriel sur la Neo Geo Razz bah si ça intéresse du monde de faire de l'assembleur sur NG pourquoi pas , mais je serait assez occupé donc il est probable que je le commencerait dans 1 ou 2 mois.

Kannagi
Patient contaminé

Masculin Nombre de messages : 248
Age : 29
Localisation : Marseille
Date d'inscription : 18/08/2014

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par pckid le Ven 24 Juil 2015 - 22:49

Je connais 2 personnes en.plus de moi qui sont intéresse.

Si tu ok je vais parler de toi sur yaronet. Car il n y a pas que des français.

Merci a toi 😉
avatar
pckid
Infirmier

Masculin Nombre de messages : 3682
Age : 40
Localisation : ile de france (94)
Date d'inscription : 29/09/2011

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par Kannagi le Ven 24 Juil 2015 - 23:13

Si tu ok je vais parler de toi sur yaronet.
Ok pas de souci.

Kannagi
Patient contaminé

Masculin Nombre de messages : 248
Age : 29
Localisation : Marseille
Date d'inscription : 18/08/2014

Revenir en haut Aller en bas

Re: [Neogeo] Asm pour 68000

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum