GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Mr ToutLeMonde et la programmation NES...

+23
brokestudio
F.L
grostonton
Ned_Flanders
Tryphon
philip
fanoplusplus64K
tfdi
Ricco59_59
Top l'âne
tetsuro
upsilandre
nemokantio
Stef
pckid
ichigobankai
suisseretrogaming
patapouf31
vingazole
koan75
joelabroc
drfloyd
vincent2105
27 participants

Page 28 sur 34 Précédent  1 ... 15 ... 27, 28, 29 ... 34  Suivant

Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio Mar 16 Mai 2017 - 11:23

Tu passes par des nametables bruts, tu n'utilises pas de metatiles ?
Du coup tu gères tes collisions sur les blocs de 8px directement ?

brokestudio
Patient contaminé

Nombre de messages : 153
Date d'inscription : 01/05/2017

http://www.brokestudio.fr

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Mar 16 Mai 2017 - 11:42

Pour l'instant pas de metatiles non, on verra par la suite si ça vaut le cout, pour l'instant, je pense m'en sortir sans. Ca reste du bricolage je conçois.
Et effectivement, je vais gerer les collisions avec le background directement sur les blocs de 8 px, je pense pas que ce soit gênant outre mesure (pas de marche arriere, donc une hitbox d'une tile devrait suffire). Mais je sais que je ne suis pas à l'abri de surprises. Mr. Green
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre Mar 16 Mai 2017 - 12:34

J'imagine Super Mario bros avec des nametable brutes, le jeu tiendrait a peine sur une ROM de 512Ko (au lieu de 32Ko) Mr. Green
Mais tant que ca marche et que tu t'amuses 😄 .
upsilandre
upsilandre
Interne
Interne

Masculin Nombre de messages : 5121
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Mar 16 Mai 2017 - 14:13

Bon après quand c'est pas une nécessité, je vois pas l'intérêt de se faire chier avec des metatiles .
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Mar 16 Mai 2017 - 21:15

J'ai testé ma rom sur NES, y'a quelques p'tits soucis que je n'avais pas sur émulateur, je tacherai d'y remédier. En tout cas, c'est grisant de voir ça tourner. Allez ça mérite une petite vidéo. (attention au hors piste:p )
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre Mar 16 Mai 2017 - 21:42

Une petite video ca fait toujours plaisir 😄
upsilandre
upsilandre
Interne
Interne

Masculin Nombre de messages : 5121
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Mar 16 Mai 2017 - 22:07

ouep Wink par contre, par la suite y'aura p'tet une ROM plus consistante a débugger  Mr ToutLeMonde et la programmation NES... - Page 28 517947
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Ven 19 Mai 2017 - 21:56

Ca avance pas mal.
Sauf bug non détecté (je n'ai fait que quelques tests sommaires, faut que je conçoive plus de nametables/tiles vraiment différentes), j'arrive à boucler le scrolling sur les 16 nametables qui composent le circuit et à récupérer le type de tile sur lequel est positionné le kart.
La tile sur laquelle on est positionné (route, herbe, boue, booster, verglas ? etc) affectera la vitesse du kart. 
Bref, c'est encourageant  !
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Sam 20 Mai 2017 - 10:42

Triple post, désolé Mr. Green
Tout semble fonctionner, même au niveau de la mise à jour de l'attribute table (choix palette parmi les 4 disponibles pour chaque zone de 16x16 pixels).
Sur la lancée, je vais attaquer le split du background (et prevoir un hud). Faut que je revois comment fonctionnent les interruptions, ça va conditionner mes nametables et ma routine de scrolling.
A priori, ça se complique... Mr ToutLeMonde et la programmation NES... - Page 28 418468
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre Sam 20 Mai 2017 - 19:41

mais c'est tout le sel de la chose, quand ca se complique 😄
upsilandre
upsilandre
Interne
Interne

Masculin Nombre de messages : 5121
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Dim 21 Mai 2017 - 10:16

Oui mais j'ai tendance à être bordélique, donc il faut que je sois beaucoup plus rigoureux maintenant vu que mes projets commencent à prendre plus d'ampleur.
Ca devient le foutoir,  j'ai des palettes, des sprites sheets (en BMP, PNG),  des scripts python, des nametables, des colonnes de backgrounds à scroller, des tilesets,  des attributes tables,   qui se baladent dans le dossier quand ils sont pas directement inclus dans mes fichiers asm :/ Sans parler de différentes ébauches de fichiers reset/banking pour le MMC3.
Allez y'a du boulot Razz Heureusement NESASM3 permet d'inclure des fichiers présents dans des dossiers, du coup, j'ai plus d'excuse.
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Lun 22 Mai 2017 - 18:21

Yes ! et une interruption !  TROP CONTENT je remarque malgré tout qu'elle n'est pas nette, on doit surement pouvoir faire mieux. J'aimerais comprendre avant d'en déclencher d'autres.
ROM

Mr ToutLeMonde et la programmation NES... - Page 28 Interr11
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio Lun 22 Mai 2017 - 18:31

Pour changer le scrolling proprement lors d'une interruption il faut le faire dans le Hblank (entre les pixels 256 et 320 de la scanline). Du coup quand ton interruption se déclenche, il faut que tu fasses une boucle pour changer de scrolling au bon moment (en prenant en compte le nombre de cycles des instructions de la boucle et de ta routine de changement de scroll).
Sachant que ça ne tombera pas deux fois au même endroit et qu'aucun émulateur n'est précis à 100% il faut souvent y aller à tâtons et surtout tester sur le hardware.
Le debugger de FCEUX t'indique la scanline et le pixel en cours de "render". Ca te donne un point de départ pour la suite.

N'hésites pas si c'est pas super clair :/

brokestudio
brokestudio
Patient contaminé

Masculin Nombre de messages : 153
Age : 41
Localisation : Clermont Ferrand
Date d'inscription : 01/05/2017

http://www.brokestudio.fr

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Lun 22 Mai 2017 - 18:34

Merci beaucoup, je pense avoir saisi Wink  reste à mettre ça en pratique !
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Lun 22 Mai 2017 - 21:35

Le debugger m'est totalement inconnu. 
Pourrais tu m'expliquer comment trouver la scanline et le pixel en cours de render stp ?

edit : en bidouillant, j'ai réussi à rectifier le tir  cheers Mais ma question demeure Wink
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio Lun 22 Mai 2017 - 22:46

Alors si j'ai bien suivi, tu utilises NESASM3. Avec NESASM3, tu peux exporter des symbols de tes variables et de tes routines, qui peuvent ensuite être exploiter par le débugger de FCEUX.

Il y a ici un script python qui permet de convertir le fichier .fns ici : https://forums.nesdev.com/viewtopic.php?f=10&t=11114 . (je ne connais pas ce script n'utilisant pas NESASM3, mais si tu as déjà utiliser python ça devrait aller).

FCEUX va automatiquement détecter ces fichiers si ils sont dans le même dossier que ta ROM.

Tu pourras ensuite voir dans le debugger (F1) dans la partie gauche les "labels" de tes routines.
En utilisant le fichier .fns, tu peux relever l'adresse où se trouve une routine/un label en particulier. Avec cette adresse tu vas pouvoir créer un point d'arrêt dans le debugger.

Mr ToutLeMonde et la programmation NES... - Page 28 Debugg10

Tu recherches l'adresse grâce au champs à côté de "Seek to", à gauche il te mettra une flèche à côté de l'adresse choisie, tu double cliques sur cette adresse pour créer un point d'arrêt. Il va t'ouvrir une fenêtre pour ça, tu fais juste OK pour le moment. Et maintenant, à chaque fois que ton programme passe par cet endroit, le debugger mettra en pause ton programme pile à cet endroit, et tu pourras utiliser les boutons Step Into / Step Over / Step Out / Run pour avancer dans ton programme.

Et en faisant ça, tu pourras voir dans quel état est l'adresse PPU, quelle scanline en cours, quel pixel, etc . (vers le milieu partie de droite du debugger).

Bon je me relis et c'est un beau merdier haha si tu t'en sors avec ça chapeau ! Mais bon pas de soucis je pourrais expliquer plus clairement si besoin :)

Tiens moi au courant si tu luttes avec ces infos merdiques en vrac ...

edit : j'ai encadré "Add" sur ma capture dans le cas où tu veux ajouter un point directement à une adresse précise sans passer par "Seek to" et le double clique dans la partie gauche.


Dernière édition par brokestudio le Lun 22 Mai 2017 - 23:01, édité 1 fois (Raison : typo)
brokestudio
brokestudio
Patient contaminé

Masculin Nombre de messages : 153
Age : 41
Localisation : Clermont Ferrand
Date d'inscription : 01/05/2017

http://www.brokestudio.fr

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Mar 23 Mai 2017 - 21:47

Merci encore  😄
Je n'ai pas utilisé le script python. Dans l'éditeur hexa, j'ai très rapidement retrouvé ce que je cherchais grâce au ".fns"
J'enregistre la valeur du scroll au pixel 279. Sur fceux, je n'ai pas eu de meilleurs résultats que sur le screenshot suivant. On constate qu'il manque par endroit les pixels d'une scanline. Dites-moi si vous pensez qu'aucune scanline ne devrait "perdre de pixel".

Mr ToutLeMonde et la programmation NES... - Page 28 Interr12
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio Mar 23 Mai 2017 - 22:14

Peux tu poster le code de ton split ?
brokestudio
brokestudio
Patient contaminé

Masculin Nombre de messages : 153
Age : 41
Localisation : Clermont Ferrand
Date d'inscription : 01/05/2017

http://www.brokestudio.fr

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Mar 23 Mai 2017 - 22:24

NMI et IRQ ca te suffit ?

NMI:
 

IRQ:
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio Mar 23 Mai 2017 - 23:15

Dans ton IRQ, ton code pour bankswitcher la CHR-ROM (entre le dernier pha et debut:), il faut qu'il soit après ta boucle, sinon tu changes trop tôt et c'est pour ça (je pense) que tu as un bout de ligne foireuse.
brokestudio
brokestudio
Patient contaminé

Masculin Nombre de messages : 153
Age : 41
Localisation : Clermont Ferrand
Date d'inscription : 01/05/2017

http://www.brokestudio.fr

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Mer 24 Mai 2017 - 6:54

Bingo ! Merci  Wink 
Mr ToutLeMonde et la programmation NES... - Page 28 Interr14
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 25 Mai 2017 - 12:16

Petite astuce d'optimisation, dans ton irq t'as pas besoin de pusher Y/X vu que tu les utilises pas  Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Jeu 25 Mai 2017 - 14:28

Oui, tu as raison Wink en fait, j'ai bêtement fait un copier/coller d'une routine sur laquelle on avait planché l'an dernier.  Vu qu'on désirait plusieurs interruptions, cela était  nécessaire vu qu'on utilisait aussi ces 2 registres. (si je me souviens bien)
D'ailleurs c'est la prochaine étape Wink pour le moment,  je n'ai fait qu'une tentative infructueuse.


Dernière édition par vincent2105 le Jeu 25 Mai 2017 - 16:10, édité 1 fois
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par Invité Jeu 25 Mai 2017 - 15:47

Le truc c'est que moins de temps prend une irq, mieux c'est  Wink
avatar
Invité
Invité


Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Jeu 25 Mai 2017 - 16:16

je viens de tomber sur ça : ROM : http://forums.nesdev.com/download/file.php?id=69

Mr ToutLeMonde et la programmation NES... - Page 28 Test10

Allez y'a encore du boulot  Mr. Green
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre Jeu 25 Mai 2017 - 18:52

ouai mais bon 32 bank pour faire l'animation de tuiles, y a interet a trouver d'autre truc a mettre dans ces banks pour les completer sinon c'est beaucoup de gachie.
upsilandre
upsilandre
Interne
Interne

Masculin Nombre de messages : 5121
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Jeu 25 Mai 2017 - 21:59

J'essaie depuis un moment, mais je n'arrive pas à déclencher plusieurs interruptions. 
Quelqu'un connait il la procédure (mmc3) ? Je continue de chercher  study
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio Jeu 25 Mai 2017 - 22:32

J'ai regardé très rapidement, mais il te suffit de "réarmer" les registres qui vont bien, comme pour la première.

$C000 et $E001 devraient suffirent (et encore il est possible que tu puisses te passer de $E001).

Par contre attention, la valeur que tu vas recharger dans $C000 se base à partir de la dernière IRQ et non du haut de l'écran. Si ta première interruption est sur la scanline 100 et que tu en veux une autre à 108, tu ne vas pas recharger avec 108 mais avec 8 (8-1 ou -2 selon la version du chip MMC3). Tout ça est à confirmer, j'ai peut être lu trop vite et pas bien saisi la doc.

Tout est là : https://wiki.nesdev.com/w/index.php/MMC3#IRQ_Specifics
brokestudio
brokestudio
Patient contaminé

Masculin Nombre de messages : 153
Age : 41
Localisation : Clermont Ferrand
Date d'inscription : 01/05/2017

http://www.brokestudio.fr

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Ven 26 Mai 2017 - 13:06

Bon, ça marche  😄   par contre j'ai du recharger les 4 registres. Merci encore à tous ceux qui prennent le temps de m'aider Wink

Mr ToutLeMonde et la programmation NES... - Page 28 3_scro10
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio Ven 26 Mai 2017 - 13:09

Tu recharges lesquels du coup ?
brokestudio
brokestudio
Patient contaminé

Masculin Nombre de messages : 153
Age : 41
Localisation : Clermont Ferrand
Date d'inscription : 01/05/2017

http://www.brokestudio.fr

Revenir en haut Aller en bas

Mr ToutLeMonde et la programmation NES... - Page 28 Empty Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 Ven 26 Mai 2017 - 13:23

$E000, $C000, $C001, $E001
Je te mets le code si tu veux, mais je suis toujours aussi brouillon, je code entre 2 clients...
IRQ:
vincent2105
vincent2105
Patient incurable

Masculin Nombre de messages : 1369
Age : 43
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Page 28 sur 34 Précédent  1 ... 15 ... 27, 28, 29 ... 34  Suivant

Revenir en haut

- Sujets similaires

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