1

Encore sur 3 projets a la fois mais tant pis, au moins ça fait du contenu.
Amis connaisseurs des CD-ROMs, we need you !

Après avoir vu l'info concernant l’émulateur GD-ROM qui permet de lire des ISOs sur une carte SD, je me suis demandé sérieusement si Kuk ne m'avait pas donné une idée qui était en fait réalisable.

Voila l’idée: Remplacer la partie en rapport avec le CD par un émulateur qui prendrait aussi une carte SD avec des ISOs.
Images qui seraient éventuellement sélectionnables par des dipswitchs vu que le remplacement du BIOS pour ajouter un menu serait assez infecte.

Je me suis tapé la source de MESS et la doc du chip qui sert de host (LC89515, voir LC8951 qui est compatible), et il me semble qu'en effet, c'est pas si violent que ça en a l'air.

Quelques données vérifiées d'abord:
Le lecteur de la NeoGeo CD top fonctionne en vitesse x1 (150ko/s).
La correction d'erreur par le LC89515 est faite a la volée pendant le chargement des frames et n'introduit donc pas de délai.
La copie des secteurs depuis le cache du LC89515 vers la DRAM peut se faire a max 2.3Mb/s et se produit réellement a 2.28Mb/s. Ça pousse deja au max.

Charger le plus de données possible (7Mo) en une fois prend 51 secondes.
Si on considère seulement la vitesse du lecteur sans aucun délai, on a un max de (7*1024)/150 = 47.7 secondes.
Il n'y a donc que 3.3 secondes de perdues entre la lecture CD et le placement des données en DRAM. Délais qui me semble difficilement compressible sans re-concevoir la moitié de la console tongue

Ce que je veux essayer d’accélérer, en bref, c'est les 150ko/s du lecteur CD.
Pour cela, je compte complétement dégager le bloc CD et le host LC89515 pour caler à la place un montage qui va émuler un minimum le comportement du dit host et ainsi charger des secteurs a une vitesse admissible par la carte SD (dois-je risquer de parler de Mo/s ?).

Première étape: piger les i/o que le bios fait, sur émulateur.
Deuxième étape: vérifier que les i/o sont bien les mêmes a l'analyseur logique.
Troisième étape: essayer de faire passer la TOC depuis une mémoire flash contenant un ISO en raw.
Quatrième étape: recevoir et interpréter les seek pour charger tel ou tel fichier depuis l'ISO.
Cinquième étape: réussir a faire passer des fichiers Wave en tant que données CDDA.
Sixième étape: fête du slip.

Si vous voulez aider ou si vous avez de la doc ou des notes a partager, n’hésitez pas à passer sur #neogeodev sur freenode, on risque de parloter de la chose smile
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

2

love
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/

3

L'avantage de la Neo-Geo c'est que tous les jeux (je crois ?) utilisent le BIOS pour accéder au CD. Du coup tu peux potentiellement t'en sortir avec une émulation haut niveau (moins complexe et moins chère) et patcher le BIOS en conséquence, plutôt que de reproduire le fonctionnement bas-niveau du contrôleur CD.
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

4

-

5

Zerosquare: Patcher me fait un peu peur sur deux points, en fait. J'ai deja vu un des KOF accéder au host sans passer par le BIOS, et remplacer le BIOS sur les top-loading est un carnage (c'est pas du DIP comme sur front-loading) sad

En gros, le bloc CD c'est à la base un lecteur audio.
Des commandes 4 bits sont envoyées (pas beaucoup de doc sur le sujet), comme seek, play, pause, resume, get TOC...
Le host ne s'en occupe pas, et attend seulement de recevoir des données série valides depuis le bloc. Le BIOS s'occupe après de voir si les données reçues sont bien celles demandées.

Problème actuel: MESS n'arrive pas à lancer les jeux avec le bios top-loading. Seulement avec le bios CDZ... Et j'ai pas envie de bricoler sur ma CDZ tongue

Le log des accès au host montre bien que la TOC est lue et la piste 1 (data) lancée, mais le BIOS ne montre pas le "PRESS START". Ça m'fait chier.

Orion_: C'est du 2x sur la ps1 ? Tu sais ce que c'est comme interface ? Du 4-bits + CDDA aussi ?
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

6

furrtek (./1) :
Images qui seraient éventuellement sélectionnables par des dipswitchs vu que le remplacement du BIOS pour ajouter un menu serait assez infecte.


Ca c'est sale.
Tu fait un menu qui se load auto (genre qui s'appel boot.bin sur la SD), et ton code qui emule le CD répond differement apres, genre pour la commande get toc il te répond une liste de fichiers avec ID et le play ID charge le jeux et mappe direct l'iso.

7

furrtek (./6) :
Zerosquare: Patcher me fait un peu peur sur deux points, en fait. J'ai deja vu un des KOF accéder au host sans passer par le BIOS, et remplacer le BIOS sur les top-loading est un carnage (c'est pas du DIP comme sur front-loading) frown.gif
Mmh, vaut mieux oublier alors...
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

8

Merci pour la suggestion Elbarto, je vais essayer de faire comme ça. Je sais pas trop comment charger l'ISO après sélection dans le menu par contre ?
Je met un flag dans l’émulateur avec le numéro de l'ISO et je balance un reset ? Ou je trouve et j'appelle un éventuel "Reload IPL" direct dans le BIOS ?
Au moins avec un reset le jeu se retrouve en conditions normales ?

Je pense avoir fait suffisamment le tour du host et des commandes CD pour commencer a câbler ma carte FPGA.
Dans un premier temps j'aimerais juste essayer de répondre un "data ready" à la place du host avec une vitesse débile, juste pour la satisfaction de voir la barre de chargement avancer super vite.

Trucs rigolos:
On dirait que le CD de NAM-1975 a été "mastered" avec Mactopix, en 1994.
Il semblerait que la piste de data (la 1) ne puisse pas être lue si il n'y a pas de gap d'au moins 2 secondes avant la piste 2 (c'est peut être dans un standard quelque part ?).
On peut démarrer une Neo CD sans bloc CD, et elle ne plante pas.
Les BIOS top (SP1-1) et front (SP1) sont les mêmes. Un check hardware est fait pour savoir si le bloc CD est éjectable ou non, ce qui voudrait dire que SNK avait prévu dès la conception de la front qu'ils pouvaient mettre un lecteur top.
Les "CD I/O ERROR" sont soit dus à l'ouverture du capot, soit à cause du host qui signale que la correction d'erreur a foiré.
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

9

furrtek (./8) :
Il semblerait que la piste de data (la 1) ne puisse pas être lue si il n'y a pas de gap d'au moins 2 secondes avant la piste 2 (c'est peut être dans un standard quelque part ?).
2 secondes de gap entre deux pistes était plus ou moins un standard sur les anciens CD audio, mais apparemment ce n'était pas obligatoire.

Le pregap (avant la première piste) est de 2 secondes aussi :
http://en.wikipedia.org/wiki/Pregap

Je ne sais pas si tout ça a un rapport.
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

10

kuk (./2) :
love



pencil
avatarla passion du jeux vidéo retro et alternatif, du retrogaming, , des pratiques retro videoludique etc...

11

Le BIOS soustrait 150 à certains numéros de secteurs pour le départ des pistes. Si je me plante pas, ça correspond bien à 2 secondes ?
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

12

Salut furrtek

voici donc, un nouveau projet 'Hardware Mods' sur Neo a mettre a ton actif ! ... super, c'est kuk qui doit etre aux anges en ce moment...
Je vois que vous avez beaucoup bossé sur le sujet du controleur CDROM de la NeoCD...
Avez-vous réussi a contacter le Developpeur de l' Emu. de Xe? ;je pense qu il est possible de trouver son Email ds la rubrique 'Contact'de

sa homepage...

je pense que les Dev. de l' emu FBA, ont essayé de le contacter aussi de leur coté, en l 'occurence CaptainCPS-X a du le faire!

http://neosource.1emu.net/forums/index.php?topic=775.0 CaptainCPS-X faisait egalement allusion à Xe 'Multi System Emulator'

je t'invite a aller jetter un oeil ds les Sources de 'FB Alpha NeoGeo CD' aussi, en plus de celles de MESS ...on ne sait jamais

https://github.com/clobber/fba/blob/master/src/burn/drv/neogeo/neo_run.cpp voir 'NeoCD CD-ROM controller handlers'

sinon, je ne sais pas si toi ou bien Elbarto avez suivi les topics SEGA concernant la partie CDDA de la SEGA CD qui utilise lui aussi des

circuits SANYO similaires a ceux de la NGCD ... mais là aussi, niveau emulation ca a bien avancé ! -> voir src Mame ci dessous
>>http://mamedev.org/source/src/mame/machine/megacdcd.c.html lc89510, etc.
->http://gendev.spritesmind.net/forum/viewtopic.php?t=793&postdays=0&postorder=asc&start=0 HDD (or flash) instead of a CD, questions


sinon, je vois que de ton coté tu as pu avancer qd meme, en trouvant (entre autre) des infos ds les src de MESS, qui sans aucun doute a beneficié du travail de la FBA team sur l' emu 'FB Alpha NeoGeo CD' (Treble Winner, Iq_132, Captain CPS-X) qui contribue pas mal a faire avancer aussi les srces de MAME, MESS etc !
http://git.redump.net/mame/tree/src/mess/drivers/ng_aes.c MESS: System control register // LC8951 registers /

Enfin, je vois que malgré tout, vous etes toujours en recherches d' infos supplémentaire, de Docs... :
Si cela t' interesse, je pourrais (sans aucune garantie, d une reponse positive de leur part) demander a la team FBA,
de partager avec toi leurs notes techniques ou bien les infos qu ils auraient pu trouvé
-simplement, je te demanderais de me rediger (in English, of course!) les Questions que tu aurais a leur soumettre.et de me les transmettre
par Email, ou bien un mini message ... a toi de voir, si cela pourrait faire avancer votre projet d'Emulateur de bloc CD
'that all I can do for you'...

Bye

Frederic !

PS: http://neosource.1emu.net/forums/index.php?topic=696.15 section dédié à FB Alpha (with Neo-Geo CD) avec les srces (recentes ?)


tiens, pendant que j' y pense ...suis tombé sur ce Wiki traitant du Hardware sur differents systems
->http://console5.com/wiki/Category:SNK bonne lecteure
y' en a aussi pour tous les gouts :
http://console5.com/wiki/Category:Manufacturers

Doc SEGA pouvant servir de base de départ , pour une une future DOC NEOCD pour le Wiki:
http://www.megadrive.org/~elbarto/md/scdstuff/SEGACD.TXT

13

-

14

Ça me rassure, merci ! triso

J'ai un peu avancé ce soir:
Dégagé le host et sa mémoire cache, la console démarre toujours et ne freeze pas.
Connecté le bus contrôleur sur ma carte FPGA pour voir si j'arrive à récupérer les écritures: les registres ont l'air de bien s'initialiser.
Posé l'analyseur logique sur le bus 4 bits du bloc CD, apparemment ça marche comme ça:

Cdunit4bit.png

10 lectures sur les fronts montants, 10 écritures sur les fronts descendants. Un /reset pour synchro le tout (que je trouve pas dans les I/O du BIOS mais c'est peut être automatique).
Un tel bloc est transmis/reçu au minimum une fois par frame.

Ce qui passe correspond exactement a la source de MESS.
Je connecterai ça au FPGA tout a l'heure pour essayer de récupérer les commandes et au moins répondre présent à la place du bloc CD.

Je poste du porno dès que possible.
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

15

furrtek (./14) :
Je poste du porno dès que possible.
N'encourage pas les mauvais penchants de Kuk 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

16

Boh t'as déja du voir 10 fois toute sa collection de strip mahjongs non ? grin
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

17

Je n'ai vu que les quelques images assez soft qu'il y a sur son site, mais je connais le gaillard 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

18

il y a des jeux PC tres tres interessant sur ce sujet embarrassed
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/

19

Je m'en remet toujours pas...

minasan1.gif

Je crois que je vais tester l’ému avec celui là, il est pas gros tongue
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

20

-

21

Genre tu t'intéresses au mahjong, hmm hmm ? cheeky

Y'a déjà un tuto sur son site qui explique smile
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

22

en gros c'est du Poker embarrassed, le plus dure étant de retenir les suites des tuiles et surtout certaines combinaison spéciales
en gros il faut souvent une paire, et après des series de suites ou tierce ou carré
sinon
http://neogeocdworld.info/html/aide/mah-jong.htm
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/

23

furrtek (./19) :
Je m'en remet toujours pas...

minasan1.gif

Je crois que je vais tester l’ému avec celui là, il est pas gros tongue


Ce jeu n'a jamais été développé pour la Neo Geo CD,
et c'était une de mes plus grandes joies
couic
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/

24

Passé la moitié de la journée à essayer de répondre a la place du bloc CD, c’était un peu chaud sans brochage.
En fait le CPU n’écrit pas direct dans le bloc, mais passe par le chip NEO-MGA qui contient 2 buffers de 10 mots de 4 bits: un pour l'envoi, un pour la réception.
Le bloc CD dit à NEO-MGA de lire les buffers l'un apres l'autre, 75 fois par seconde (correspond aux frames CD par seconde en x1).

Le CPU écrit et lit dans les buffers de NEO-MGA quand il a envie.

Le bloc CD demande les données régulièrement.
NEO-MGA envoie alors un "data ready".
Le bloc CD lit 4 bits et répond un ack.
Le tout recommence 2x 10 fois.

Bref, porno du soir:

cdemu1.jpg

Tout à l'heure je câble le bus 4 bits pour lire et interpréter les commandes CD, voir si j'arrive à avancer le plus possible dans le log de MESS.

Ben étrangement je préfère me péter la tête là dessus plutôt que sur les règles du mahjong smile
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

25

Ben quoi, tu n'aimes pas les filles ? embarrassed

(top sinon)
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

26

Franchement, bof. Si c'est un robot géant par contre, il dit oui, je dis pas non !
Pardon tsss

Sinon j'ai oublié que j'avais trouvé pourquoi MESS lançait pas les jeux avec le BIOS top: le microcode DMA est pas le même que sur front... Alors que c'est les mêmes chips.
D'ailleurs je sais plus si je l'avais écrit mais Sanyo ont l'air de vouloir oublier le passé, quand je leur ai demandé si une doc était dispo pour leur (vieux) bidule DMA, ils m'ont dit qu'ils avaient jamais fait quelque chose de tel.
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

27

je crois que c'est surtout trop vieux
j'ai eu un blanc quand j'ai contacté un organismes de statistiques qui avait bosser sur les jv sur le marché français en 1994-1995
le mec au tel avait été assez réceptif mais il m'a dit qu'il n'avait aucune doc remontant a 20 ans
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/

28

C'est un gang de caves oui embarrassed
Archiver des documents qu'a partir d'une certaine date, d'accord, ils y pensaient peut être pas suffisamment tôt.
Mais une entreprise qui fait une puce (c'est pas rien quand même), et qui à peine 20 ans après ne la connaissent plus... Moi j'dis le gars au bout du mail ne voulait surtout pas se bouger le fion. Il aurait au moins pu me donner ou m'indiquer la doc de 10 pages qu'on trouve partout.
avatarJe fais des trucs. Des fois ça marche, des fois ça marche pas.

29

Ouais le mec c'est pas foulé mais il a peu être regarder dans ses listing et cette puces n'y ai probablement plus
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/

30

Je pense que c'est ça et ça ne me surprend pas, beaucoup d'entreprises pratiquent volontairement ou involontairement le nettoyage par le vide, à mon avis le gars pensait sincèrement ce qu'il t'a répondu. Obtenir des infos sur des vieux composants via leur constructeurs, c'est très souvent galère (heureusement que les sites d'archives de datasheets existent).
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