1个不稳定版本
0.2.0 | 2024年7月6日 |
---|---|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#301 在 模拟器
每月 213 次下载
185KB
3K SLoC
opl3-rs
一个小型库,提供对Nuked-OPL3库的绑定。
用法
Nuked-OPL3不是OPL3芯片的完整实现 - 例如状态寄存器、定时器和中断等作为实现细节保留。
如果需要,您可以通过Opl3Chip
结构访问Nuked-OPL3 API,但请注意,直接向Nuked-OPL3写入寄存器将阻止您正确读取OPL寄存器。
如果您打算在模拟器中使用opl3-rs
,您可能希望使用Opl3Device
包装器,该包装器提供了一个完整的、面向设备的OPL3实现,包括状态、地址和数据寄存器,以及OPL3定时器。
文档
文档可以在docs.rs上找到
示例
在/example/play_tune目录下提供了一个音乐播放示例。此示例使用rodio库进行音频播放和crossbeam channels进行线程间通信。
opl3-rs主要是为与MartyPC PC模拟器一起使用而构建的。它用于实现AdLib音乐卡设备。
https://github.com/dbalsom/opl3-rs/assets/7229541/d78d4e90-71ed-4841-a963-9b09f25974c1
致谢
Nuked-OPL3是(C) 2013-2020 Nuke.YKT,并许可在LGPL 2.1下使用
play_tune示例基于Maarten Janssen和Peter De Wachter的代码。
依赖项
~0.3–2.7MB
~56K SLoC