30

Ouep je vois. En l'occurrence ça ne change pas grand chose des interruptions classiques, juste le RETI -> RETN. Sinon les interruptions doivent aussi avoir une bidouille du compilo déjà pour être à une adresse fixe.
=> Ca sera peut être plus facile si tu trouves déjà du code pour une interruption simple progfr wink
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

31

la perso vous été plus caler que moi sur le sujet, je veux bien essaye de digéré la doc du z80 mais la sa va durée un moment lol mais j essaye de suivre

32

salut

Juste pour dire que, du fait de l'importance que prend ce topic, je le met dans les annonces, merci a tous les participants

avatar
La 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/

33

NeoGEO%20CD.JPG

voila j ais fait un petit schémat pour mettre a plat ce que je sais la neogeo CD si vous avez des infos ou de quoi compléte afin de mieux comprendre comme est ce qu elle fonctionne je suis preneur.

Le lecteur cdrom est il cabler sur un IO chip neogeo ..???

34

si ça peut t'aider j'ai les photos de diffèrentes CM de neogeo CD, la connection CD est la marron orangé a gauche

http://www.neogeocdworld.info/html/fiche/cartemere.htm
avatar
La 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/

35

Ca faisait vraiment beaucoup de mémoire pour l'époque smile
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

36

oui c'est vrai elle en a plus que la Saturn et la Playstaion, tient je devrais faire un tableau des caractéristiques
Mais le lecteur CD fait un peu goulot d'étranglement pour le x2 c'est une suposition pour la CDZ mais c'est loin d'etre certain
avatar
La 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/

37

j ais eu aussi ce type d information mais le terme BANK emoire me laisse unpeu froid

File type rules
PRG Non banked (loaded in PRG memory)
FIX Non banked, divide offset by 2 (loaded in FIX memory)
SPR 1 Mb Banks (loaded in SPR memory)
Z80 Non banked (loaded in Z80 PRG memory)
PAT Non banked (loaded in Z80 Ram)
PCM 512K Banks, divide offset by 2 (loaded in PCM memory)

apparament certain zone sont banks et d autre non banked en gros s est que non banked on peu allouer dans cette la memoire comme on veut ..?? et bank s est fixe ..???

autre chose d aprés les photos de carte mere de KUK je ne vois pas le Z80 s est qu il integret dans un puce neogeo ..??

38

kuk (./36) :
oui c'est vrai elle en a plus que la Saturn et la Playstaion, tient je devrais faire un tableau des caractéristiques
Mais le lecteur CD fait un peu goulot d'étranglement pour le x2 c'est une suposition pour la CDZ mais c'est loin d'etre certain

Yep. Mais de toute façon le 68k est un plus gros goulot d'étranglement que le CD ^^ Un MIPS est facilement 5x plus rapide en moyenne qu'un 68k à même fréquence à mon avis wink (et encore je reste assez gentil pour compenser les pbs de cache de la PS1)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

39

bon d apres ce qj ais pu cherche s est le sanyo LC8953 LSI est une interface si je peu dire entre le 68K un périphérique cdrom mais qui a l aire d etre le "chipset" principale le la neogeo. Le LC89515 lui serait le controleur du lecteur de cdrom. J ais enfin trouver le Z80 s est le T84c00AM-6 fabriquer par tosh. Voila mais alors a coder sa maintenant sa pique dur dur

voici les doc

http://turn-on.webs.com/neogeo%20CD/info/LC89515.pdf
http://turn-on.webs.com/neogeo%20CD/info/LC8953.pdf

et pour ce qui est de l YM3016 je ne l ais pas vue sur aucune carte mere de neogeo cd donc humm

du coup je vais pouvoir faire une MAJ du schemat smile

aparament dans certain revision de carte mere l YM2610 + NEO-SUB + NEO VOC ce soit transforme en NEO-YSA

NEO-YSA -> Ym2610 Sub Audio ..?? manque Voc lol
NEO-MGA -> CN4 est relier dessus ..?? KUK il y a quoi sur le CN4
SNK NEO-GRC-> VGP ..??
SNK NEO-OFC-> VGP' ..?? ils sont quand même interconnecté

40

normalement le CN4 c'est la connectique du Cd rom
avatar
La 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/

41

et CN2 ..???

42

salut j'ai une neogeo CD top, je vais la démonté pour regarder
je viens de me rendre compte que j'utilisais de mémoire une CM de CDZ qui a bien sa connectique CD a cette emplacement sous le non de CN7 mais qui n'a pas le 2e, donc je vais vérifie plus tard sachant que je vais finir un plan de CM que j'avais commencé
avatar
La 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/

43

le CN4 c'est la connectique du Cd rom
le CN2 est la connectique pour une 2e carte gérant les manettes et la nationalité
avatar
La 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/

44

Kuk... pose ce tournevis... doucement, pas de gestes brusques... et maintenant, tu t'éloignes lentement de la table, les mains en l'air...
avatar
Zeroblog

« 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

45

Nan je peux le faire !
Aie
avatar
La 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/

46

bon voila
j'ai fait finalisé ce plan qui trainait depuis cet été, dite moi ce que vous en pensez, je n'ai pas représenté les acu par exemple, je me suis inspiré de plan de CM comme je l'avais vu sur un site allemend sur l'atari que j'avais bien aimé, je ne suis pas sur a 100% des références des composants que j'ai relevé par contre si vous penser que certaine retranscription ne sont pas possible dite le moi

http://www.neogeocdworld.info/html/fiche/cartemere.htm
avatar
La 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/

47

le cdrom, cn4 est relié au GA2 qui redistribue
le jostick, CN2 idem, est relié au GA2 via des resistances
avatar
La 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/

48

sa l air d être pas mal smile oui j ais vue sa en regardant les differente photo de carte mére mais une chose étrange est PK le LC89515 qui d apres sa doc est fait pour pilote un lecteur cdrom ..??? mad mur

49

le GA2 est également relié au GA1
avatar
La 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/

50

oui le GA1 ou le LC 8953 ou le LC98000 fait aussi de colonne vertébrale de la machine en gros s est le chipset

51

NeoGEO%20CD2.JPG

voila ou j en suis sniff mais sa eclairsi deja pas mal de chose ce qui sera plus pratique pour la suite

52

sympa ton plan

Puis je l'utilisé pour mon site ? je mentionnerais que c'est de toi il va s'en dire
avatar
La 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/

53

kuk oui tu peut mais hélas il n est pas juste j ais encore des modification a faire dessus

54

j'attends la prochaine version alors grin
avatar
La 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/

55

juste pour signaler les mises a jours de furtek qui a bien bosser

http://furrtek.free.fr/index.php?p=crea&a=neogeo

et les belles videos ici
http://furrtek.free.fr/index.php?p=videos&raise=146&list=demo#raised
http://furrtek.free.fr/index.php?p=videos&raise=147&list=demo#raised

A oui j'allais oublié j'ai fait une page dédie a la programmation ou j'ai rajouter pas mal de chose notamment grâce a fred/front

http://www.neogeocdworld.info/html/aide/programmation/programmation.htm
avatar
La 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/

56

Franchement sa va il pas mal bosser smile mais avec la neogeo cd il y pas le soucit de cartouche tongue. Mais pour le hard cela reste presque la meme chosesmile

furtek bonne chance smile bon moi aussi va faloir que j y retourne au charbon smile

arf dans la last hope ils ont utilise une piste audio a chaque fois sad mais pour les SFX ..??) pas possible que cela soit une pliste audio a chaque foissad

57

ben dans chaque jeu NeoGeo CD c'est bien une piste audio puisque tu peux les lire dans une chaine hifi piste par piste, idem pour certaines voix
avatar
La 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/

58

Merci, pour l'instant la chance est avec moi. J'ai commandé de la SRAM pour commencer à faire un émulateur de cartouche, ça va être marrant à câbler je sens.
Si ça rate, y'aura toujours la NGCD mais ça sera toujours long de devoir graver un CD à chaque fois.
Je tenterais le coup de l'upload en RAM à partir du port joystick comme Kuk me l'avait suggéré, ça me paraît pas trop compliqué (graver un CD avec un morceau de code qui attend les données sur le port (avec le port parallèle: ABCDHautBasGaucheDroite pour les 8 bits, et Strobe sur Start par exemple), et qui les place dans les zones voulues. A voir...

Pour ton schéma Progfr, je sais pas si t'y as déjà apporté des modifications, mais j'aurais deux remarques: le LC89515 est relié au lecteur CD, ça c'est sûr et certain. Pour lire les pistes audio qui peuvent être lues par les chaines hifi: soit c'est le LC89515 qui se débrouille pour lire la piste audio (je sais pas si il est capable), qui est mixée après la sortie du YM2610, soit c'est NEO-SUB qui s'occupe du décodage du son en demandant juste des blocs de données au LC89515. C'est un peu comme une chaîne-hifi à part je pense, le système driver audio Z80/YM2610 est toujours là avec sa propre mémoire, qui est remplie avec les données du CD en mode binaire, et d'un autre côté, un système capable de lire des pistes audio normalisées. Dans les deux cas, ils reçoivent le code de ce qu'ils doivent lire et après ils se débrouillent.

Par contre, autre chose qu'il faudrait vérifier: voir si les commandes pour lire une piste audio passent aussi par le Z80 ($320000), ou par un autre registre mémoire. Voir si c'est le Z80 qui peut commander le LC89515 directement, ou si on doit passer par NEO-SUB.

Dernière chose, pour être chiant, je mettrais une flèche entre les 64Ko de SRAM et le 68K, puisqu'elle est dans son address space.
Beau boulot en tout cas, ça m'en a appris et ça me sera bien utile quand je commencerais à bricoler sur NGCD smile
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.

59

merci furrtek non cela n est pas le schemat définitif, oui effectivement en creusant certain pdf j ais compris pour la parti lecture de piste audio façon chaine hifi ( comme quoi le plus simple s est le meilleur smile ).
Mais LC89515 le soucit s est que je n ais vue aucune piste physique y allez sur les photos j en aurait une neogeo cd en vrai cela serait mieux :P mais si tu le dit smile . Je pense que pour tout ce qui est audio s est le Z80 mais pour la lecture les plages audio humm. Le peu que j ais vue s étais dans le code ASM du 68K et une chose toute bête quand la neogeo CD s initiale elle va automatiquement lire le cd pour charge son programme asm et cela du z80. Donc si le z80 n a pas de programme est que l utilisation du cdrom ne pause pas de propleme s est que s est le 68K qui gere smile apres a savoir si le Z80 peu le faire par la suite s est une bonne question.

Pour les 64Ko de sram j en prend note smile

60

En effet, j'ai reçu la NGCD de Kuk il y a quelques jours et j'ai pu constater la même chose (j'aurais pu déjà le voir sur la photo de la CM sur son site, mais y'avait pas l'autre face).
Le LC89515 passe par NEO-MGA pour mettre les données en RAM avant de les distribuer en DRAM. Il n'a rien à voir avec la lecture audio, j'ai dit des conneries.
Il me semble aussi que c'est par NEO-MGA que toute la console passe ses commandes pour récupérer tel ou tel truc sur le CD, vu où vont les pistes de CN4. Je ne sais pas trop de quel type est ce composant, je me suis toujours demandé si "GA" ça voulait pas dire simplement "Gate Array".
Avant d'inventer trop de bêtises, j'ai commencé à fouiller dans la source de NeoCD, qui donne tout ce dont on a besoin: l'espèce de "hack" de Fabrice Martinez est bien pensé je trouve.
Dans l'émulateur, il patche le BIOS (neocd.bin) pour que les appels vers les fonctions de lecture du CD pointent sur des instructions 68K illégales. Il a ensuite rajouté ces fausses instructions dans l'émulateur 68K et remplace le tout par des fonctions en C, qui imitent ce que ferait le BIOS sans avoir à émuler complètement le lecteur CD. Je ferais une page là dessus, si j'ai son accord.

Progfr, t'avais donné la source des macros PlayAudio et StopAudio, qui montrait qu'elles ne faisaient que mettre un argument dans D0 et appelaient 0xC0056A. C'est justement une adresse que patche NeoCD:

*((short*)(neogeo_rom_memory+0x56A)) = 0xFAC3;

Il remplace donc le JMP #$C0B6DE qu'on trouve à $00056A dans le BIOS, par l'opcode $FAC3, qui n'est pas valide.
Dans la source de l'ému 68K, on a le "trap" justement sur cet opcode, qui nous mène vers la fonction intéressante:

OP_fac3:
call neogeo_cdda_control

La fonction neogeo_cdda_control (dans neocd.cp) récupère le contenu du registre D0 et sépare ses deux octets bas en commande et argument, pour les passer à neogeo_do_cdda. C'est cette fonction qui imite le comportement du BIOS, pour faire croire au jeu que c'est un lecteur CD tout à fait normal qui fait le travail.

Si on compare ce que fait cette fonction avec la même dans le BIOS, désassemblée depuis $C0B6DE (qui correspond à l'appel vers $C0056A comme je l'ai écrit ci-dessus), on s'aperçoit qu'elles font à peu près la même chose. Je vous épargne la comparaison asm/C, sauf si ça intéresse quelqu'un. La seule différence c'est que le BIOS va parler à NEO-MGA par le biais de $FF0127 (numéro de la piste), $FF0105 (toujours #4) et $FF0147 (numéro de la piste également), alors que l'ému s'en occupe même pas et va juste lire le fichier wav correspondant. Par contre il y a des mises à 0 dans la mémoire du Z80 si je comprend bien (à partir de $E00000), mais j'en vois pas (encore) l'utilité.

Exemple avec Viewpoint (j'adore la musique, j'arrive pas à me lasser de la piste 12):
Arrêt de la lecture CDDA avec la commande 06, piste 00:
move.l #$00000600,d0
jsr #$C0056A

Lecture CDDA avec une table, le numéro de l'entrée est dans D0:
andi.l #$000000FF,d0
movea.l #$00012A60,a2
add d0,d0
move 0(a2,d0),d0
jsr #$C0056A

Avec à $012A60, des données du genre "dc.w #$0402", ce qui enverrait la commande 04, piste 02. Je ne sais pas pourquoi VP utilise une table avec des paires commande/piste au lieu de les passer directement dans D0.
Pour résumer, c'est bien $C0056A qu'il faut appeler pour lire une piste, avec dans D0, la commande et la piste. Les commandes 2 et 6 arrêtent la lecture, et les 0,1,3,4,5,7 démarrent la lecture. Toutes les autres sont ignorées. Les macros de Neodev mettent le bit 7 de $10FD80 à 1 avant de balancer la commande, mais je ne sais pas à quoi ça sert.
J'ai à peine commencé à écrire un petit programme de bricolage à graver, avec possibilité de faire des peek/poke dans la mémoire et de (si j'y arrive), uploader des programmes depuis le port joystick. Sans débugger sur les émus et avec un nombre limité de CD-R, ça va être un peu chaud ;p
avatar
Je fais des trucs. Des fois ça marche, des fois ça marche pas.