设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 文件格式 >> PSF (Portable Sound Format)[可移植声音格式] 规范 v1.5
精品推荐
文件格式点击TOP10
·《IEEE754 学习总结》
·SIP on Mobile Device (运行在移动设备上的SIP协议终端)
·一个8583报文的简单例子
·FTP协议的分析和扩展
·SIP SAP及SDP协议组合应用的研究
·FTP协议的分析和扩展
·SIP IP 电话系统的呼叫路由
·PSF (Portable Sound Format)[可移植声音格式] 规范 v1.5
·网友的VOIP总结
·BitTorrent 协议规范1.0版
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

PSF (Portable Sound Format)[可移植声音格式] 规范 v1.5

作者: 来源:网络文章 时间:2005-12-17 23:45:39

PSF (Portable Sound Format)[可移植声音格式] 规范 v1.5(1)

-----------------------------------------------------------------------------
PSF (Portable Sound Format){可移植声音格式} 规范 v1.5
by Neill Corlett
-----------------------------------------------------------------------------

绪论
------------

PSF 是把 "NSF", "SID", "SPC" 和 "GBS" 的功能性带给了次时代家用机{next-generation consoles}.
PSF 利用每一个游戏的原始的音乐驱动{设备?}代码完美而可信回放音乐序列, 而且尺寸极佳{size-efficient}{还是太大}.

一般的方法是 一个 PSF 文件包含一个 用zlib压缩过(zlib-compressed) 的程序, 这个程序如果能在真实的家用机上执行, 能简单的回放音乐.

想知道有哪些改变, 请参看底部的本文修正历史.

-----------------------------------------------------------------------------

基本文件结构
--------------------

每个 FSF 文件都有相同的基本结构, 下面描述.

不但保在 PSF 文件中连接到的任何大于一字节(byte)的数据. 练习适当的谨慎.
{翻译的垃圾呀,Tx=xT}

- 首先 3个字节: ASCII字符: "PSF" (大小写敏感)

- 然后 1字节: 版本字节
  版本字节用来决定 PSF 文件的类型. 它完全不会影响到文件的基本结构.{!不会影响哟!}

  当前公认的版本字节是:
    0x01: Playstation (PSF1) {PS}
    0x02: Playstation 2 (PSF2) {PS2}
    0x11: Saturn (SSF) [试验中] {SS 土星哟!!}
    0x12: Dreamcast (DSF) [试验中] {DC!!}
    0x21: Nintendo 64 (USF) N64 [保留]
    0x41: Capcom QSound (QSF) {CPS1-QSound, CPS2-QSound, CP-ZN1-QSound, CP-ZN2-QSound, 还有么??}

- 然后 4字节: 预留空间的大小 ®, little-endian 无符号长整形
  {little-endian: 低位放低字节, 高位放高字节(??对么??). 例如 x86 系列的内存数据格式. 相对应的 68K 就是big-endian.}

- 然后 4字节: 压缩过的程序长 (N), little-endian 无符号长整形
  这个长度是程序{program data}压缩{_after_}后的长度.

- 然后 4字节: 压缩过的程序的 CRC-32 值, little-endian 无符号长整形
  {CRC-32 32位循环冗余校检}
  {!! CRC-32 !!又是它,Tx=xT最近就是它搞不定.}
  这是程序{program data}压缩{_after_}后的 CRC-32 值.
  这个数值必须强制填充, 作为一个 PSF 文件如果这个数值不匹配就意味着是损坏的.

- 然后 R 字节: 预留空间
  如果 R 是 0 字节则为空

- 然后 N 字节: 压缩过的程序, 由 zlib 压缩格式. {compress() 为虾米带(),说不定是个 zlib 的函数.记下来.}
  如果 N 是 0 字节则为空

然后的数据是可选的, 可以省略:

- 然后 5字节: ASCII字符: "[TAG]" (大小写敏感)
  如果这 5字节不匹配, 则剩下的部分当作无效的, 将被丢弃.

- 文件的剩余部分: 没有压缩的 ASCII 标签{TAG} 数据.

如果剩下的数据超过 50,000 字节, 那 标签 数据可以被切断, 也包括切除文件本身的多余数据. 这个设计故意的.

为将来的兼容性考虑, 标签编辑器和压缩器可能会假定 任何 PSF 文件都使用这个基本结构.

共9页 9 7 [1] [2] [3] [4] [5] [6] [7] [8] [98 :>

PSF (Portable Sound Format)[可移植声音格式] 规范 v1.5 相关文章:
PSF (Portable Sound Format)[可移植声音格式] 规范 v1.5 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com