Mr ToutLeMonde et la programmation NES...

Page 29 sur 34 Précédent  1 ... 16 ... 28, 29, 30 ... 34  Suivant

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

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le 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:

Code:
IRQ:
  pha
  txa
  pha                        ; save A,X and Y.  you have to do this because
  tya                        ; IRQs interrupt your main thread of code.  having your
  pha                        ; register values change in the middle of that main thread
                        ; would be bad...
  
 
 
  LDx IRQ_index
  CPX #0
  BEQ IRQ_0
  JMP IRQ_1
IRQ_0:
debut:
  LDA machin ; 2
  CMP #3 ; 2
  BEQ suite ;3
  INC machin ;5
  JMP debut ;3   = 15 cycles
suite:
  
  inc scroll2
  LDA scroll2
  STA $2005
  LDA #0
  STA $2005
scrollok:
  ;;---------------- BANKSWITCH CHR ROM
  LDA #%00000000
  STA $8000
  LDA #0  ;0 = alphabet 8 = smb2
  STA $8001
  
  INC IRQ_index
  LDX IRQ_index
  LDA #$01
  STA $E000
  LDA #$6
  STA $C000        ;setup MMC3 to generate an IRQ
  LDA #$6
  STA $C001        ;setup MMC3 to generate an IRQ  
 
  LDA #$01
  STA $E001
  
  
  JMP exit
IRQ_1:
 
  dec scroll3
  dec scroll3
  LDA scroll3
  STA $2005
  LDA #0
  STA $2005
  LDA #%00000000
  STA $8000
  LDA #0  ;0 = alphabet 8 = smb2
  STA $8001
  

  
FIN_IRQ:  
  ;----------------
  LDA #$01
  STA $E000        ;acknowledge the IRQ and disable further IRQ generation
  

exit:
  
  pla
  tay                        ; get your register values back
  pla
  tax
  pla
  
  RTI

vincent2105
Patient contaminé

Nombre de messages : 952
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio le Ven 26 Mai 2017 - 15:27

J'ai relu la doc, à priori si tu recharges juste $C000 et $C001 ça devrait être bon. Par contre il ne faut pas que tu désactives les interruptions (ton premier STX $E000), uniquement après la deuxième IRQ.

A tester, je peux me tromper ...

Un truc comme ça devrait fonctionner :
Code:

IRQ:
    pha
    txa
    pha                        ; save A,X and Y.  you have to do this because
    tya                        ; IRQs interrupt your main thread of code.  having your
    pha                        ; register values change in the middle of that main thread
                        ; would be bad...

    LDX IRQ_index
    BEQ IRQ_0
    JMP IRQ_1
IRQ_0:
debut:
    LDA machin ; 2
    CMP #3 ; 2
    BEQ suite ;3
    INC machin ;5
    JMP debut ;3   = 15 cycles
suite:
    
    inc scroll2
    LDA scroll2
    STA $2005
    LDA #0
    STA $2005
scrollok:
    ;;---------------- BANKSWITCH CHR ROM
    LDA #%00000000
    STA $8000
;    LDA #0  ;0 = alphabet 8 = smb2
    STA $8001
    
    INC IRQ_index
;    LDX IRQ_index
    LDA #$06
    STA $C000        ;setup MMC3 to generate an IRQ
    STA $C001        ;setup MMC3 to generate an IRQ  
    
    JMP exit
IRQ_1:
 
    dec scroll3
    dec scroll3
    LDA scroll3
    STA $2005
    LDA #0
    STA $2005
;    LDA #%00000000
    STA $8000
;    LDA #0  ;0 = alphabet 8 = smb2
    STA $8001
    

    
FIN_IRQ:  
    ;----------------
    STA $E000        ;acknowledge the IRQ and disable further IRQ generation
    

exit:

    pla
    tay                        ; get your register values back
    pla
    tax
    pla

    RTI

avatar
brokestudio
Patient contaminé

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

http://www.brokestudio.fr

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Ven 26 Mai 2017 - 16:25

Je viens de tester, mais on n'obtient pas le résultat attendu.   Confused
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio le Ven 26 Mai 2017 - 16:27

ok ok bon j'ai jamais joué avec le mapper MMC3, donc si ça fonctionne tel que tu l'as fait, c'est que ça doit être bon :)
avatar
brokestudio
Patient contaminé

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

http://www.brokestudio.fr

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Ven 26 Mai 2017 - 21:18

Bon, maintenant que j'ai franchi le cap, bah je sais plus trop si je garde le "mario kart" comme fil conducteur de mon apprentissage ou si je me lance dans tout autre chose. En fait c'est la gestion de l'IA qui m'effraie le plus je crois dans l'histoire pale
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Ven 26 Mai 2017 - 22:52

Je pense avoir une idée pour la trajectoire de l'adversaire. 
Vu qu'on n'a que trois trajectoires possibles (haut , tout droit, bas), chaque tile de la piste grâce à son index permettra de guider l'adversaire cpu, que ce soit pour éviter les obstacles ou récupérer les boosters. En appliquant une probabilité, soit l'adversaire conservera sa direction précédente, soit il se dirigera dans la "bonne direction". 
Toute la piste ne serait en fait que balisage. Ca me semble pas mal.
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Dim 28 Mai 2017 - 8:21

Aujourd'hui au programme, split du background (nametable concues avec nes screen tool, puis conversion en colonne avec script python), modifs de la routine de scrolling / maj de l'attribute table. 

Ca devrait le faire Cool
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio le Dim 28 Mai 2017 - 8:25

Cool ! Bon courage Wink
avatar
brokestudio
Patient contaminé

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

http://www.brokestudio.fr

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Dim 28 Mai 2017 - 8:28

Yeah merci Antoine Wink
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Dim 28 Mai 2017 - 10:27

Ca commence pas terrible  Razz



edit : c'est plus dans l'idée.. 


allez c'est mieux. p'tite pause.
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Dim 28 Mai 2017 - 13:50

Vincent on fire!
avatar
upsilandre
Patient incurable

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Dim 28 Mai 2017 - 14:36

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



Allez y'a encore du boulot  Mr. Green

C'est marrant je viens de tomber sur le jeu ou il a piqué cette animation de tuile, un jeu Japonais Mitsume Ga Tooru, le jeu a l'aire pas mal

https://www.youtube.com/watch?v=9L3ymCQR5PM
avatar
upsilandre
Patient incurable

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Dim 28 Mai 2017 - 17:17

Merci pour les encouragements upsilandre Wink  Ca y'est j'ai adapté ma routine de scroll pour 14 tiles / colonne. Prochaine étape : pouvoir l'utiliser dans la NMI et l'IRQ.

Mitsume Ga Tooru, c'est sympa oui, je ne connaissais pas, en tout cas je trouve qu'il y a pas mal d'idées intéressantes et visuellement j'aime bien (sur Nes, c'est pas toujours évident Mr. Green ).
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par Stef le Dim 28 Mai 2017 - 22:18

Très très bien réalisé ce Mitsume Ga Tooru. Ca a l'air agréable à jouer et c'est très bien animé ! Ils utilisent souvent des sprites verticaux pour éviter au mieux les clignotements... on voit qu'ils maitrisent super bien la machine.
avatar
Stef
Infirmier

Masculin Nombre de messages : 3711
Age : 38
Localisation : Sevres
Date d'inscription : 04/04/2007

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Lun 29 Mai 2017 - 11:26

Ca avance à petit pas, au fur et à mesure, j'ai pas mal d'idées de gamedesign ; grâce aux interruptions et au bankswitch de chr rom, on peut imaginer un tas de trucs sympas... je me vois déjà sur le circuit "arc-en-ciel" joueur fou
Ci dessous j'ai juste bloqué le scroll pour la moitié basse de l'écran, j'ai prévu le hud au milieu (mud?).
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Lun 29 Mai 2017 - 11:43

Ca prend forme.
Y a un petit décalage vertical, j'ai l'impression qu'on voit la partie basse de l'image en haut?
avatar
upsilandre
Patient incurable

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Lun 29 Mai 2017 - 11:44

@Stef a écrit:Très très bien réalisé ce Mitsume Ga Tooru. Ca a l'air agréable à jouer et c'est très bien animé ! Ils utilisent souvent des sprites verticaux pour éviter au mieux les clignotements... on voit qu'ils maitrisent super bien la machine.
Pas surprenant c'est Natsume (Shatterhand, Blue Shadow), l'un des meilleurs sous-traitant sur NES (l'inverse de Micronics)
avatar
upsilandre
Patient incurable

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Lun 29 Mai 2017 - 12:15

@upsilandre a écrit:Ca prend forme.
Y a un petit décalage vertical, j'ai l'impression qu'on voit la partie basse de l'image en haut?

Non, pas de décalage, j'ai gardé l'affichage NTSC, les tiles que j'ai utilisées renforcent surement cette impression Confused J'ai prévu 14 tiles de haut par écran joueur et 2 pour le hud Wink
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Mar 30 Mai 2017 - 12:48

Je réfléchis à l'occupation en mémoire du circuit (que je scinde en 2 : piste+background accessoire)...
Avec le MMC3, on a 2 banks PRG fixes et 2 banks switchables de 8ko chacune. Et on a une extension RAM de 8Ko.

Pour me simplifier la tache et éviter de rendre mes routines de MAJ du scroll trop biscornues, je vais faire au plus simple. (Toujours pas de metatile donc :p )

En mode 1 joueur, je vais mettre la MAP de la piste dans une bank switchable (512 colonnes de 16 tiles pour me simplifier la vie), et la MAP du background accessoire dans l'autre bank switchable. (512*16 également) Chacune de ces 2 banks sera donc pleine.
Mais il va me manquer l'attribute table (pour le choix des palettes de couleurs) Vu qu'elle occupe 1 Ko par circuit (piste + bg accessoire), je ne peux pas me permettre de la mettre dans les banks fixes, j'envisage donc de regrouper les attributes tables de chaque circuit dans une bank switchable et de copier celle voulue en RAM avant l'initialisation du circuit.
En mode 2 joueurs, on aura une bank de 8ko inutilisée du coup  Confused

En résumé, y'a du gachis, mais je prends mon aise parceque  parfois je suis à 2 doigts de la noyade MDR
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Mar 30 Mai 2017 - 23:44




Avec l'effet d'ombre ca ajoute encore plus a la profondeur
avatar
upsilandre
Patient incurable

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par Tryphon le Mer 31 Mai 2017 - 0:24

C'est dommage que la perspective soit pas cohérente, mais c'est très impressionnant. C'est fait comment cet effet ?

Tryphon
Interne
Interne

Masculin Nombre de messages : 5204
Age : 40
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par upsilandre le Mer 31 Mai 2017 - 0:29

C'est juste une animation de tuile et une palettes alternatives pour les ombres (avec toujours la meme animation de tuile).
avatar
upsilandre
Patient incurable

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par Tryphon le Mer 31 Mai 2017 - 8:46

Aussi bête que ça ? Ça rend bien en tout cas (mais ça aurait rendu mieux si l'ombre était décalée de la même façon sur les différents blocs).

Y'a combien de tiles animées ?

Tryphon
Interne
Interne

Masculin Nombre de messages : 5204
Age : 40
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par TOUKO le Mer 31 Mai 2017 - 10:02

Bah tu peux faire des trucs géniaux avec le swap de tiles.
Un peu la même chose sur PCE dans le jeu magical chase :
https://youtu.be/OHyvX5dzwEI?t=14m35s
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: Mr ToutLeMonde et la programmation NES...

Message par Tryphon le Mer 31 Mai 2017 - 10:05

Je m'en doute, mais ça veut dire mettre à jour des tiles complètes à chaque frame, ça bouffe quand même pas mal le budget DMA.

Tryphon
Interne
Interne

Masculin Nombre de messages : 5204
Age : 40
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par TOUKO le Mer 31 Mai 2017 - 10:07

Bah ça dépend de la complexité de l'anim, du budget disponible et de la machine .
1 tile 8x8 c'est 32 octets, donc y'a qd même pas mal de marge .

Ici un effet de parallaxes verticaux:
https://youtu.be/HzqTQAqsZk0?t=7m17s


Dernière édition par TOUKO le Mer 31 Mai 2017 - 10:14, édité 1 fois
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: Mr ToutLeMonde et la programmation NES...

Message par brokestudio le Mer 31 Mai 2017 - 10:09

En faisant du bankswitch de CHR-ROM(/RAM) sur NES ça coûte rien :)
avatar
brokestudio
Patient contaminé

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

http://www.brokestudio.fr

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par Tryphon le Mer 31 Mai 2017 - 10:11

Tu peux bankswitcher juste une partie de la ROM/RAM ou tu dois avoir des tiles en double ?

Tryphon
Interne
Interne

Masculin Nombre de messages : 5204
Age : 40
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par brokestudio le Mer 31 Mai 2017 - 10:13

Ca dépend du mapper utilisé.

Pour les plus simples tu bankswitch toute la page avec donc des tiles en double (en CHR-RAM c'est moins gênant du coup).
avatar
brokestudio
Patient contaminé

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

http://www.brokestudio.fr

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par vincent2105 le Mer 31 Mai 2017 - 10:16

@Tryphon a écrit:Aussi bête que ça ? Ça rend bien en tout cas (mais ça aurait rendu mieux si l'ombre était décalée de la même façon sur les différents blocs).

Y'a combien de tiles animées ?

Je suis pas allé voir dans le jeu, mais dans la démo que j'ai posté initialement, il utilise 32 tiles différentes qu'il anime sur 32 banks (d'après upsilandre). A confirmer.


Après c'est du bankswitch de CHR ROM, donc comme le dit upsilandre, ça ne coute rien à part la place en CHR ROM, en plus avec le mmc3 la CHR ROM (8ko) est scindée en 2 (ou plutot en 6) : on a d'une part 4x 1ko et d'autre part 2 x 2ko (à attribuer comme on veut aux sprites ou au bg). Et on peut monter jusqu'à 256 Ko de CHR ROM. C'est vraiment souple.


Dernière édition par vincent2105 le Mer 31 Mai 2017 - 10:28, édité 3 fois
avatar
vincent2105
Patient contaminé

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

Revenir en haut Aller en bas

Re: Mr ToutLeMonde et la programmation NES...

Message par TOUKO le Mer 31 Mai 2017 - 10:16

La NG par exemple sait faire du "swap" de tiles hardware.
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: Mr ToutLeMonde et la programmation NES...

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 29 sur 34 Précédent  1 ... 16 ... 28, 29, 30 ... 34  Suivant

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