Question

Existe-t-il des bibliothèques, des morceaux de code ou autres qui me permettent de jouer à ZX Spectrum Fichiers .ay dans mes jeux XNA Game Studio?

Était-ce utile?

La solution

Si vous avez besoin de son dans XNA et souhaitez prendre en charge XBOX 360, vous devez utiliser les formats de fichier pris en charge. Vous ferez bien mieux d'essayer de convertir les fichiers .ay dans un format supporté nativement par XNA.

Si vous souhaitez uniquement prendre en charge Windows, recherchez une bibliothèque .NET pouvant les lire. Cela fonctionnera sous XNA sous Windows si cela fonctionne sous .NET.

Autres conseils

Vous devez d’abord convertir les fichiers .ay en wav. Il existe un programme ici . pour faire ça. Il est également livré avec le code source pour que quelqu'un qui a du temps libre puisse aider en créant un importateur de contenu & amp; processeur de cela? : -)

Si vous voulez le coder vous-même, vous avez besoin de:

  1. Émulateur de processeur Zilog Z80A

    pas si facile à faire, mais il existe quelques sources gratuites en C / C ++. J'utilise le mien.

  2. Émulateur de puce PSG AY 8910/8912 à 3 canaux

    C’est beaucoup plus simple que le processeur. c'est juste un générateur de sons, mais la documentation n'est pas très bonne, vous devez donc beaucoup expérimenter.

  3. Émulation de haut-parleur numérique 1 bit

    *. Les fichiers AY n'utilisent pas toujours la puce AY pour la sortie audio. Certains jeux combinent les enceintes AY et Build In. Je ne sais pas si AY a également supprot pour covox ou non ... Mais si oui, vous devez également inclure des covox mono / stéréo 8/16 bits généralement sur certaines puces i8255.

  4. émulation du clavier

  5. Prise en charge variable de l'architecture matérielle

    *. Les fichiers AY stockent de la musique pour plus d'architectures ... il existe des différences entre Sharp, Amstard CPC, ZX48, ZX128, des clones ... Certains ont des fréquences de cristal différentes, certains ont des canaux de mixage différents des reproducteurs, ainsi que des IO les adresses peuvent différer sans parler des problèmes de pagination de la mémoire.

  6. Sortie audio

    Ceci dépend de la plate-forme cible et, comme je ne l'utilise pas, XNA ne touchera pas ce sujet (car il a déjà été répondu / accepté)

Le lecteur AY ressemble à ceci:

  1. chargez d'abord l'en-tête AY
  2. détectez la plate-forme cible et configurez votre émulateur en conséquence
  3. charger le binaire AY dans les zones de mémoire cibles
  4. définir les registres et démarrer l'émulation

Donc, si vous voulez coder un lecteur AY, vous finirez par écrire l’émulateur Z80 car les fichiers * .AY sont des programmes et non des enregistrements sonores. Comme de nombreux fichiers AY utilisent speaker, vous devrez émuler correctement le modèle de conflit. Dans le cas contraire, des problèmes de synchronisation se produiraient, ce qui peut être entendu en particulier sur Speaker ...

Pour améliorer la qualité, vous pouvez appliquer des filtres FIR afin de simuler le contrôle de haut-parleur du type PWM utilisé par de nombreux effets.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top