Posté le 05/05/2011 à 14:39 Membre depuis le 11/10/2004, 478 messages
A tenter smile Ça sera ma première occasion de faire du comptage de cycles. Normalement j'ai tout ce qu'il faut pour faire le circuit.

Ça sera aussi l'occasion de patcher le bios de la carte mère de CD1 que Kuk m'a récemment envoyé. Je crois que je peux me brosser pour trouver 512k de flash en 16bits alors ça serait bien de pouvoir garder que le stricte minimum (le code nécessaire au démarrage et appelé par les jeux), et virer tout ce qui est graphismes/sons pour que ça tienne dans 2x 256k 8bits.

Tant qu'on est dans l’électronique, je pensais aussi faire ça: http://www.neo-geo.com/forums/showthread.php?198594-Replacement-for-the-neo-geo-cd-power-supply-*solved*
Avec modification du 12V pour arriver à 10V. D'après ce que j'ai vu sur certains schémas, si le 12V ne dépend pas que des enroulements du transfo, il y aurait juste une zener ou une résistance à changer. Dommage que la prise 3 broches snk soit impossible à trouver, ça aurait peut être pu être une bonne alternative aux transfos d'origine à 50€...
(Celle qu'ils ont pris à l'air bien crade, pas de filtre en entrée, pas de fusible, et pas de marque CE ni rien sur l'étiquette. Au moins ils sont honnêtes)
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.
Posté le 06/05/2011 à 20:42 Membre depuis le 27/04/2006, 58460 messages
Euuuuuhhhh... une alim chinoise noname sur une NeoGeo, je m'y risquerais pas si j'étais toi grin
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
Posté le 14/05/2011 à 01:20 Membre depuis le 07/06/2010, 80 messages
Hello,

J'en suis à mon 14eme CD gravé(qqun aurait un câble ?? smile) le wiki est nickel, comme tu l'as déjà confirmé furrtek la lecture des pistes audio marche nickel.
Du coup j'ai rajouté la une libaudio à neodev avec les infos ca marche impec.

Une petite faute de frappe s'est glissée dans le wiki http://neogeodev.wikkii.com/w/index.php?title=Reading_CDDA_sound_levels&t=20110506042845

Registers REG_CDDALEFTL ($FF0188) and REG_CDDARIGHTL ($FF01AA) hold the values of the currently streamed CD audio data, in a reversed 16bit 2's complement format suited for the LC78815 DAC (Sample rate =~ 100kHz ?).
CDDARIGHTL => FF018A ? d'apres ton vumetre. FF01AA est toujours à 255 sur les 3 pistes que testé.

J'ai encore pleins de tests à faire mais gépud'cdvirege. sad
Posté le 14/05/2011 à 20:30 Membre depuis le 11/10/2004, 478 messages
Salut CeL smile
T'as ajouté la récup des niveaux et corrigé la lecture des pistes sur Neodev alors ?
Merci pour le signalement de l'erreur sur la wiki, c'était $FF0188 et $FF018A.

J'essaierais de faire un bios avec l'upload par cable intégré pour cd1 parce que le bios est facilement remplaçable, pour cd2 il va falloir utiliser le cd de boot à moins que tu veuilles remplacer le rom en soic.
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.
Posté le 14/05/2011 à 21:19 Membre depuis le 07/06/2010, 80 messages
30.08€ pour 50 CD-R à Auchan, c'est rush...

2 ou 3 petits trucs, on peut tester le déclanchement/arrêt des pistes CD sur nebula en ouvrant le .cue les commande fonctionnent.
A un détail pret, les "CDDALEFTL ($FF0188) and REG_CDDARIGHTL ($FF01AA)" ne sont pas mis à jour alors que sur le vrai hard ca marche.

La routine StopAudio en page1 de ce thread arrête bien la piste en cours sur nebula mais pas sur le vrai hard, l'arrêt ne fonctionne pas.

StopAudio:
move.w #0x0400, d0 <== marche sur emul mais pas en vrai
bset #7, 0x10FD80
jsr 0xC0056A
rts

Par contre "move.w #0x0200, d0" ou "move.w #0x0600, d0" arrêtent bien la piste en cours sur nebula et sur le hard.

J'ai fait un test de synchro audio/video, c'est pas super beau mais ca marche :
while(true) {
	wait_vbl();

	data1 = *((PBYTE)0xFF0188);
	data2 = *((PBYTE)0xFF018A);

	if(data1 != 0 || data2 != 0) break;


	/* Donne du temps aux autres taches */
	_release_timeslice();
}
(..)

Intro...


furrtek (./243) :
T'as ajouté la récup des niveaux et corrigé la lecture des pistes sur Neodev alors ?

Oui pour la lecture et l'arret d'une piste, j'ai rajouté ca sous forme de librairie à linker à son code.
Pour les niveaux je suis en train d'essayer, je sais déjà envoyer une valeur de C vers ASM, je sais pas encore faire de l'ASM vers le C en retour de fonction(j'ai pas encore vraiment cherché)

Si j'ai bien compris, il faut traiter les valeurs retournées dans $FF0188 et $FF018A par ton code ?

;D1:Input, D0:Output
reverse16bits:
moveq #16-1,d7
moveq #0,d0
rev:
lsr #1,d1
bcc zerobit
bset d7,d0
zerobit:
dbf d7,rev

Vu que j'y comprends rien ^^, j'ai essayé d'interpréter :
- on met la valeur de FF0188 ou $FF018A dans D1 et une fois le code plus haut exécuté on récupère la bonne valeur dans D0 ?

toujours si mon interprétation est pas fausse, il suffirait de renvoyer D0 au C pour faire un vmetre en C ?

J'ai essayé de faire bouger 2 sprite avec les valeurs brutes, bouge dans tous les sens, on sent bien qu'il y a un rapport lointain avec la musique mais c'est pas flagrant grin
Posté le 14/05/2011 à 21:42 Membre depuis le 02/01/2003, 1646 messages
çà s est pas mal, heureusement qu il y a des dieux de l assembler smile pour completé neodev smile
Posté le 14/05/2011 à 23:54 Membre depuis le 11/10/2004, 478 messages
Oui il faut retourner les bits des valeurs lues sur $FF0188 et $FF018A (bit 0 -> bit 15), c'est bien ce que fait la petite fonction en asm.
Puis il faut ça pour virer le signe (j'avais le même problème de mouvement super brutal mais qui correspondait vaguement à la musique, c'est juste le passage entre négatif/positif qui secoue tout):

tst d0
bpl .notneg
not d0
.notneg:
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.
Posté le 26/05/2011 à 22:16 Membre depuis le 07/06/2010, 80 messages
furrtek (./226) :
Voici: http://furrtek.free.fr/tmp/fz80drv.asm
Super simple et largement basé sur celui d'MVSTracker. Fonctionne pour sûr sur les NGCD top.

Le code d'init du jeu balance une commande 3 pour être sûr, fait des inits pendant un moment, puis lance les sons normalement.
Pour lancer le premier sample par exemple c'est juste move.b #$80,REG_SOUND


hello,
je reviens la dessus, j'essaie d'utiliser ton driver mais n'y comprenant pas grand chose je galère.
Déjà j'arrive pas à compiler, mais ca je pense que je devrais m'en sortir:
J:\Dev\Neogeo\NeoDev\src\samples\timesup>tniasm fz80drv.asm 051-m1.bin
Preprocessing...
Pass 1...
Syntax Error in line 5 (fz80drv.asm): Illegal Text
Exiting...

mon pb est que je comprends pas l'histoire des SampleStarts:

SampleStarts:
.db $00,$00 ; Explosion
.db $35,$00 ; Fin
.db $36,$00 ; Tir
.db $43,$00 ; Fin

Donc toujours mon interprétation, ce sont les adresses de début et fin des samples(ex. début $00,$00, fin $35,$00).
Donc si j'ai bien compris, on génère une V1 avec mvstracker, on en extrait les pointeurs, on crée la SampleStarts en fonction puis on compile la M1 ? c'est ca ?
Où trouve-t-on ces adresses dans la V1 ? c'est là que j'ai décroché smile

Et aussi quand tu dis d'envoyer #$80 à REG_SOUND pour jouer le premier sample, à quoi correspond #$80 ? la valeur qui se trouve à cette adresse ou la valeur 80 ? pourquoi 80 ? smile
Bon j'ai cherché un minimum avant mais c'est une évidence, j'y comprends rien smile

Autre chose, si j'arrive à comprendre ca un jour, je pourrais faire un petit soft basé sur ton driver, qui lit une v1 et génère le M1.... euu on n'en est pas encore la smile

Et pour finir, j'ai refait qques tests avec le M1 généré par MVSTracker, la partie FM fonctionne bien sur la vrai neocd, le seul pb c'est que dès qu'on stoppe une zic(0xff), la dernière note persiste, ca ne coupe pas le son complètement. Pour les wavs, Rien, pas de son ! mais ca on savait déjà smile
Posté le 27/05/2011 à 01:49 Membre depuis le 11/10/2004, 478 messages
'lut !
Je l'avais "écrit" pour WLA-DX, qui utilise des directives spéciales et propres aux consoles que Tniasm ne connait pas, d'où les erreurs. Tu peux surement t'arranger pour que ça marche avec Tniasm, mais je sais pas ce dont il est capable.

La table SampleStarts correspond bien aux adresses de début et de fin des samples dans le rom V, mais lues à l'envers (Explosion: $0000 à $0035).
C'est pas vraiment nécessaire de mettre l'adresse de départ de chaque sample puisque c'est forcément le fin du dernier +1, mais ça simplifiait le code donc je l'ai laissé comme ça en attendant...

Les roms V restent juste des gros fichiers sons avec des samples mis bout à bout, il y a donc aucun marqueurs à proprement dit dedans.
Les adresses de début/fin viennent directement du M1 généré par MVSTracker: elles commencent à $500 et sont dans le même ordre. En fait, seul le générateur du rom V peut donner ces pointeurs donc c'est bien ça: Création de V1 avec MVStracker, extraction des pointeurs depuis le M1, copie à SampleStarts et compilation du nouveau M1.

Les adresses effectivement utilisées dans le rom V, c'est celles là *256. Comme les samples sont lus par tranches de 256 octets, ils se sont dit que c'était pas le peine de préciser les 8 derniers bits de l'adresse puisque le départ était forcément à 0 et la fin à 255.
Ce qui fait qu'un départ à $0000 est bien à $000000, et une fin à $0035 est en fait à $0035FF.

Le driver interprète les commandes >$7F comme des lectures de samples (si le bit 7 de la commande est à 1, c'est une demande de sample). Ensuite il vire ce bit, et garde ce qu'il reste, en l'occurence 0 pour $80: donc sample 0 smile
Sinon, ça veut pas particulièrement dire grand chose, tu peux définir toi même la signification des commandes en codant ton driver z80. Les jeux suivent presque tous le même format, mais libre à toi de faire ce que tu veux.
Tu peux même faire des commandes 16 bits en attendant deux octets avec un système de timeout en cas de problème, etc...
C'est ce que je vais faire pour changer la fréquence d'un son dans astrosmash surement.

Pour les samples je savais qu'il y avait quelque chose qui coinçait sur la console, mais pour la FM j'étais pas au courant.
D'après ce que je pige: $81 c'est pour lire une fois, $82 pour lire en boucle, et de $83 à $8F ça arrête la musique ?
Pour l'arrêter ils balancent des "key up" sur les 4 canaux FM d'après les commentaires, mais ça correspond pas trop à la description des registres (faut voir la tête de la doc aussi... c'est peut être moi qui comprend mal).
La solution radicale serait de mettre le volume FM à zéro, et le remonter quand on veut relancer la lecture.

Voilà :3

Zerosquare: Désolé, j'ai pas pu m'en empêcher pour l'alim... Je t'aurais bien montré les 3 diodes en série pour abaisser le 12V mais ça serait méchant de ma part de te rendre malade ;p
Le 5V est lié au 12V, j'ai pas pu faire ça "proprement" en changeant des résistances.
Avec une horreur pareille, j'espère que le circuit d'alim-pignolage d'Snk va prouver son efficacité en cas d'éventuelle montée de tension tongue
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.
Posté le 27/05/2011 à 02:25 Membre depuis le 27/04/2006, 58460 messages
grin

Pour le circuit de protection, tes tests précédents avaient montré à quel point il était inefficace non ? hehe
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
Posté le 27/05/2011 à 11:05 Membre depuis le 07/06/2010, 80 messages
Toujours en galère smile
J'ai fait un petit code pour générer la sampletable en partant du M1 de mvstracker.

cel@mercure ~/dev/table
# ./table.exe 202-m1.bin
SampleStarts:
.db $00,$00 ; Debut Sample 1
.db $40,$00 ; Fin Sample 1
.db $41,$00 ; Debut Sample 2
.db $6B,$00 ; Fin Sample 2
.db $6C,$00 ; Debut Sample 3
.db $7C,$00 ; Fin Sample 3
.db $7D,$00 ; Debut Sample 4
.db $95,$00 ; Fin Sample 4
.db $96,$00 ; Debut Sample 5
.db $9D,$00 ; Fin Sample 5
.db $9E,$00 ; Debut Sample 6
.db $C7,$00 ; Fin Sample 6
.db $C8,$00 ; Debut Sample 7
.db $CB,$00 ; Fin Sample 7

Je remplace dans fz80drv.asm puis je compile(assemble?) avec wla-dx.
C'est la que je bloque, le résultat fait "Z80 Error" sur mame smile mais je pense que c'est juste un souci de compil.

J'ai testé :
wla-z80.exe -o fz80drv.asm 051-m1.bin => Z80 error,

Tu utilises une syntaxe particulière pour assembler ?
Posté le 27/05/2011 à 13:11 Membre depuis le 11/10/2004, 478 messages
C'est surement un problème de compilation oui, "Z80 Error" c'est quand le driver n'arrive pas à répondre à la commande $01.

Ici dans un .bat j'ai:

wla-z80.exe -o fz80drv.asm object.o
echo [objects]>linkfile
echo object.o>>linkfile
wlalink.exe -drv linkfile 052-m1.bin
del linkfile
del object.o
pad 052-m1.bin 131072 0

Zerosquare: Ah exact, j'avais déjà oublié ! Oups smile
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.
Posté le 27/05/2011 à 23:30 Membre depuis le 07/06/2010, 80 messages
bon j'abandonne pour l'instant j'ai plus de CD, résultat j'ai pas réussi à faire ma neocd top à cracher du wav ! sad
Sur émul ca marche nickel, avec les deux drivers, celui de dan et le tien furrtek mais hélas pas de son sur la neogeocd.
Alors que le son fonctionne sur l'AES avec la version2 de dan, me reste à tester ta version sur AES.
Posté le 28/05/2011 à 03:28 Membre depuis le 11/10/2004, 478 messages
Je vois vraiment pas pourquoi ça marche pas, ça tourne sans problème ici sur ma top.
Le seul truc qui me vient à l'esprit c'est que le .PCM est mal chargé, ou chargé au mauvais endroit.

Le Z80 Error tu l'avais bien eu sur ton AES c'est ça ? J'ai jamais su si la CD faisait ce test là aussi.
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.
Posté le 24/06/2011 à 12:59 Membre depuis le 06/09/2002, 18630 messages
avatarLa Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/
Posté le 24/06/2011 à 13:41 Membre depuis le 25/12/2002, 1696 messages
ouh bordel !!!!
Merci kuk, je vais lire ca smile
Posté le 24/06/2011 à 13:46Edité par kuk le 24/06/2011 à 16:14 Membre depuis le 06/09/2002, 18630 messages
l'info viens de Sengoku2 sur NeoGeofans qui l'a vu passé sur NeoGeo.com
http://www.neo-geo.com/forums/showthread.php?225987-The-Holy-Grail-Released-To-You-The-Secrets-of-the-Neo-Geo-UNLOCKED!

A faire tourner d'urgence

avatarLa Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/
Posté le 24/06/2011 à 13:59 Membre depuis le 17/09/2002, 13490 messages
Roh comment c'est bien avec tous les petits dessins fait à la main. grin
C'est une mine d'informations !
Posté le 24/06/2011 à 14:09 Membre depuis le 10/12/2010, 192 messages
Salut a tous

Un grand merci a toi KUK pour cette super Info
Bye

Fred/FRONT
Posté le 24/06/2011 à 23:31 Membre depuis le 27/04/2006, 58460 messages
Alors, Kuk a finalement trouvé le trésor des templiers ? tongue


Notez que finalement, ils étaient un peu prudes chez SNK :
c8SR

5Q07
(remarquez au passage que ça ne peut arriver qu'à l'étranger, au Japon ça n'est même pas concevable embarrassed)
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
Posté le 25/06/2011 à 09:37 Membre depuis le 06/09/2002, 18630 messages
FUK ?
avatarLa Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/
Posté le 25/06/2011 à 15:50 Membre depuis le 27/04/2006, 58460 messages
Chut, s'ils connaissaient des gens comme toi ils auraient carrément enlevé les high-scores embarrassed
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo
Posté le 25/06/2011 à 20:41 Membre depuis le 11/10/2004, 478 messages
Pincez-moi, dites moi que je rêve !!
*lit*

C'est un régal, je pensais jamais voir ça de ma vie ! Merci Kuk smile
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.
Posté le 07/07/2011 à 09:30 Membre depuis le 07/06/2010, 80 messages
Si ces infos étaient sorties du temps de mvstracker et de neodev la scène de homebew neogeo aurait un autre visage aujourd’hui. De mon coté je suis toujours sans son, j'ai parcouru le doc plusieurs fois, je me rends compte que tout est là mais je suis incapable de l'exploiter. Vous avez réussi à en tirer qque truc inconnu jusque la ?
Posté le 08/07/2011 à 21:54 Membre depuis le 02/01/2003, 1646 messages
claire que kuk est tombé sur une mine d or -
Posté le 09/07/2011 à 17:55 Membre depuis le 06/09/2002, 18630 messages
Moi j'ai rien trouver
C'est deux mec de neo-geo.com

Je savais que certains ricains avait ce type de doc, mais jamais reucis a l optenir
avatarLa Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/
Posté le 10/07/2011 à 20:28 Membre depuis le 02/01/2003, 1646 messages
alors corrige par joli travail kuk smile
Posté le 28/07/2011 à 15:22 Membre depuis le 06/09/2002, 18630 messages
avatarLa Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/
Posté le 02/09/2011 à 10:47 Membre depuis le 06/09/2002, 18630 messages
avatarLa Neo Geo CD à son site (en tout cas elle essaye...): http://neogeocdworld.info/
Le forum de la Neo Geo sur Yaronet: forums/264

Un petit site sur l'Atari Falcon avec plein de trucs bon pour votre poussin: http://falcon.ti-fr.com/
Posté le 02/09/2011 à 11:40 Membre depuis le 07/06/2010, 80 messages
excellent ; je vais tester ca de suite !

A quand un soft pour le son ? grin
Posté le 02/09/2011 à 20:13 Membre depuis le 02/01/2003, 1646 messages
deja fait pas mal mais attention manque un acx facile a trouve mais s est du bon boulo merci furrtek