Excellent Cel ! Keep up the good work
Annonce
Réduire
Aucune annonce.
NGF Dev. Inc©
Réduire
X
-
-
Envoyé par ftek Voir le messageC'est normal, le driver son de MVSTracker sait pas jouer le son de l'intro. C'est le code 2, mais le driver ignore tout ce qui est inférieur à 4 :(
je ne pense pas pouvoir atteindre le bootlogo en C puis que en mettant :
asm ("jmp 0xC00438");
en tout début de mon main(), ca boot avec le logo "tout nické" puis ca rejoue l'intro nickée. Je me demande si je dois pas ajouter aux roms les fichiers nécessaires à jouer l'intro.
Quand ca boot, ca fait comme si ca jouait l'intro mais sans les fichiers nécessaires.
Commentaire
-
Commentaire
-
Alors pour l'intro, tout ce qui est musique et graphismes sont sur la cartouche. Le logo NeoGeo est dans un rom C, le "max 330 mega" et "SNK" sont dans le S, et la musique c'est bien le code 2.
Il faut faire un jmp $C00438 comme tu dis CeL, à chaque VBlank tant que le bit 7 de $10FD80 est à 0 (c'est le BIOS qui te dis que l'intro est finie et que ton programme peut continuer son boulot).
Y'a un pointeur (2 octets à l'envers) qui indique le début du logo NeoGeo au BIOS, qui est à $114 dans ton rom P. Par exemple avec le Super Sidekicks que je trafique, à $114 j'ai $001B pour dire que le logo NeoGeo est stocké à ($1B00*16*16)/2=$D8000. Et c'est bien le cas:
(c'est le numéro du sprite, pas l'adresse, alors il faut diviser l'adresse par la taille d'un sprite, 128 octets)
En gros, tu peux copier le logo NeoGeo depuis un C déjà fait, le mettre dans le tiens, et mettre son adresse divisée par 128 à $114 dans ton programme. Il faut aussi que ton S ait les mêmes 256 premiers tiles identiques aux S des jeux commerciaux, c'est là dedans qu'il y a le "max 330 mega". Avec ça, tu devrais au moins avoir les graphismes de bons.
Je suis toujours sur la musique de l'intro, c'est un peu galère.Dernière modification par ftek, 15 février 2010, 17h02.
Commentaire
-
Envoyé par ftek Voir le messageAlors pour l'intro, tout ce qui est musique et graphismes sont sur la cartouche.
Envoyé par ftek Voir le messageIl faut faire un jmp $C00438 comme tu dis CeL, à chaque VBlank tant que le bit 7 de $10FD80 est à 0
* Standard IRQ2 handler
_irq2_handler:
* addq.w #1, 0x401ffe
move.w #1, _vbl_flag
tst.b 0x10FD80
bmi.s 0f
jmp 0xC00438
si j'ai bien compris, le pb c'est que l'intro se déroule bien mais qu'il manque les sprites et la zic ? Dans le zip j'ai :
202-p1.bin C compilé main()
202-s1.bin fix paletes et images
202-m1.bin une zic (créée par mvstracker)
202-v1.bin deux wavs (créée par mvstracker)
je n'ai pas de c1 ni de c2, j'vais essayer de les piquer dans une autre rom comme tu suggères et voir ce que ca donne.
Envoyé par ftek Voir le messageEn gros, tu peux copier le logo NeoGeo depuis un C déjà fait, le mettre dans le tiens, et mettre son adresse divisée par 128 à $114 dans ton programme. Il faut aussi que ton S ait les mêmes 256 premiers tiles identiques aux S des jeux commerciaux, c'est là dedans qu'il y a le "max 330 mega". Avec ça, tu devrais au moins avoir les graphismes de bons.
Au moment ou j'écris ca, j'ai vu une option à romwak "/m - Byte merge 2 files".
C'est encore un peu flou pour moi là :(
Commentaire
-
Oui moi aussi j'ai cru ça pendant un moment, je vois pas trop l'utilité de faire mettre les mêmes données dans toutes les cartouches...
Ce bout de code dans le gestionnaire VBL (IRQ2) est trouvable dans presque tous les jeux, c'est bien le test du bit 7 de $10FD80. Si ton 202-s1.bin est pas corrompu, normalement tu devrais avoir le "max 330 mega" et le logo SNK.
Le plus simple pour avoir le logo NeoGeo (sans avoir à copier/coller des sprites, c'est assez chiant j'avoue), c'est de prendre le 202-c1.bin et 202-c2.bin d'origine (il faut les deux), regarder où ils ont mis le logo, faire la division de l'adresse par 128 et écrire ça dans ton P1.
Edit: c'est $1600 qu'il faut mettre à $114, ça correspond bien avec le 202-p1.bin d'origine.
Et c'est $1600 sans byteswap, c'est-à-dire qu'il faut voir "1600" dans le P1, pas "0016". Je sais pas pourquoi c'est inversé mais ça marche.Dernière modification par ftek, 15 février 2010, 22h40.
Commentaire
-
L'écran avec GIGA POWER ? Si c'est ça dont tu parles, l'animation a changé aussi. Alors soit c'était prévu dans le BIOS depuis le début et le jeu appelle autre chose que $C00438, soit c'est le programme de la cartouche qui fait tout sans passer par le BIOS.
Sérieux, faut blinder les C avec des tonnes d'images en plein écran pour arriver aux 330MBDernière modification par ftek, 15 février 2010, 23h14.
Commentaire
Commentaire