首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZX Spectrum AY-3-8912在XNA游戏工作室播放

ZX Spectrum AY-3-8912在XNA游戏工作室播放
EN

Stack Overflow用户
提问于 2008-09-21 13:01:49
回答 3查看 604关注 0票数 3

有没有什么库、代码或者类似的东西可以让我在我的XNA Game Studio游戏中玩ZX Spectrum .ay文件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-09-21 13:05:26

如果您需要XNA中的声音,并希望XBOX 360支持,则需要使用受支持的文件格式。您最好尝试将.ay文件转换为XNA原生支持的格式。

如果你只想支持Windows,那么可以搜索一个可以播放它们的XNA库,如果它在.NET中工作,它将在windows上的.NET中工作。

票数 0
EN

Stack Overflow用户

发布于 2009-06-28 16:49:40

你应该先把.ay文件转换成wav。有一个程序here可以做到这一点。它还附带源代码,因此有空闲时间的人可以通过创建一个内容导入器和处理器来提供帮助?:-)

票数 6
EN

Stack Overflow用户

发布于 2015-10-26 17:19:41

如果你想自己编写代码,你需要:

  1. Zilog Z80A CPU模拟器

做起来并不容易,但是有一些免费的C/C++源码可以用来实现它。我使用我的own.

  • 3通道AY8910/8912PSG芯片模拟器

这比CPU简单得多。它只是一个音调生成器,但是文档对它来说并不是很好,所以你需要尝试一个lot.

  • 1位数字扬声器仿真

*.AY文件并不总是使用AY芯片进行声音输出。一些游戏结合了AY和内置扬声器。我现在不确定AY是否也有对covox的支持。但如果是,那么您还需要包括8/16位单声道/立体声covox,通常在某些支持的i8255 chip.

  • keyboard emulation

  • variable硬件体系结构上

*.AY文件为更多的架构存储音乐...夏普,Amstard CPC,ZX48,ZX128,克隆之间有区别...其中一些具有不同的晶振频率,一些具有与复制器的不同通道混合,并且IO地址也可能不同,更不用说内存分页issues.

  • Sound输出了

这是与目标平台相关的,因为我不使用XNA,所以不会触及这个主题(因为它已经是answered/accepted)了

AY播放器看起来像这样:

  1. 首先加载AY header
  2. detect目标平台并配置仿真器使其与之匹配
  3. 将AY二进制文件加载到目标内存区域
  4. 设置寄存器并启动

因此,如果你想编写AY播放器的代码,你将不得不编写Z80模拟器,因为*.AY文件是程序,而不是录音。由于许多AY文件使用扬声器,那么您将需要正确模拟争用模型,否则将发生计时问题,这是可以听到的,特别是在扬声器...

为了提高音质,你可以应用FIR滤波器来模拟许多特效使用的扬声器的脉宽调制-like控制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/110973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档