易码技术论坛

 找回密码
 加入易码
搜索
查看: 5370|回复: 28

[归档] 有没有人研究过3000的mid后台播放?

[复制链接]
发表于 2008-7-14 11:55:40 | 显示全部楼层 |阅读模式
我是反汇编0b19这个中断的,代码整理了半天,现在还没弄好呢,也不知道代码编译后能不能正常运行…………
 楼主| 发表于 2008-7-14 14:33:01 | 显示全部楼层
还有,我认为3000也应该可以播放pcm编码的wav音乐
我如果没猜错的话,nc2600用的应该也是Sunplus的SPCE系列芯片
发表于 2008-7-14 15:03:56 | 显示全部楼层
但是……没有代码啊……
 楼主| 发表于 2008-7-14 19:10:20 | 显示全部楼层
是啊!全是空想………………
另外,好不容易把代码整理好,编译后居然不能正常运行,如果把编译好的程序覆盖0b页的文件,则可以正常播放…………什么原因啊?真晕………………
发表于 2008-7-26 14:01:41 | 显示全部楼层
应该是有相关的寄存器 只要把数据送入寄存器就可以放了

这个东西和play的机理是不一样的
发表于 2008-7-26 16:08:06 | 显示全部楼层
原帖由 POTO 于 2008-7-14 19:10 发表
是啊!全是空想………………
另外,好不容易把代码整理好,编译后居然不能正常运行,如果把编译好的程序覆盖0b页的文件,则可以正常播放…………什么原因啊?真晕……………… ...

那就是代码还有问题,可能是引用了某些中断的代码,或者引用了0b页的某些子程序。
是说midi播放就是一次性把数据送入缓冲就不管了是吗?怪不得可以后台播放呢,vnt的话要不停送数据的。
发表于 2008-7-26 17:54:34 | 显示全部楼层
tc800的mid与nc3000有区别么?
发表于 2008-7-26 23:44:09 | 显示全部楼层
去查一下datasheet就知道有多大ram了

a16这种动辄上百kb的东西是不可能一次送进缓冲区的

建议你去看看凌阳spce061的相关程序~
 楼主| 发表于 2008-7-27 08:46:58 | 显示全部楼层
原帖由 布网鱼 于 2008-7-26 17:54 发表
tc800的mid与nc3000有区别么?

区别大着呢!我原先试着编过800的mid,首先800的音色库和3000的不一样,比如提琴,3000上就没有。格式也不一样,比如
20 00 03 0b 30 00 00 6a
10 00 6a 45 20 00
800的mid的播放速度是靠代码中的延时和单词发音速度决定的,20、30、10,这是标号,03是乐器号,这里选的是提琴,6a是音量,第一个6a是限定乐器最大音量(最大7a),第二个是演奏当前这个音所用音量,45是音高,最后的20 00是音长
tc800不再是使用一个独立芯片作为音频处理,而是集成在CPU内部。

补充:tc800支持的乐器有13件,鼓点10个,800兼容3000的mid,只是不兼容3000的鼓点部分,而且800的高音部分听起来不会像3000的像是捏住喉咙了一样………………

[ 本帖最后由 POTO 于 2008-7-27 08:57 编辑 ]
发表于 2008-7-27 08:49:11 | 显示全部楼层
nc3000的mid能在tc800上用吧。
那tc800的mid用什么工具制作?
我感觉那个星乐真的有点……
 楼主| 发表于 2008-7-27 08:53:18 | 显示全部楼层
可以在800上放,只是鼓点放不出来,tc800的mid制作工具,好像就是那个Mid2Pop
 楼主| 发表于 2008-7-27 08:57:37 | 显示全部楼层
原帖由 murmur 于 2008-7-26 23:44 发表
去查一下datasheet就知道有多大ram了

a16这种动辄上百kb的东西是不可能一次送进缓冲区的

建议你去看看凌阳spce061的相关程序~

查了,有2KB
发表于 2008-7-27 08:57:43 | 显示全部楼层
midi2pop是专门为spce061设计的 理论上是061都可以放出来

只不过nc3k的061严重缩水。。。
手头没tc800也不想再买了 所以目前我那软件转换的是按照nc3000支持的格式设计的

[ 本帖最后由 murmur 于 2008-7-27 08:59 编辑 ]
 楼主| 发表于 2008-7-27 08:59:57 | 显示全部楼层
原帖由 dragon_ 于 2008-7-26 16:08 发表

那就是代码还有问题,可能是引用了某些中断的代码,或者引用了0b页的某些子程序。
是说midi播放就是一次性把数据送入缓冲就不管了是吗?怪不得可以后台播放呢,vnt的话要不停送数据的。 ...

tc800的程序处理、音乐播放全是由一个CPU支撑的,而且这块CPU不是061,可800还能实现vnt后台播放…………看来只有等到学会unsp汇编后才知道了…………
 楼主| 发表于 2008-7-27 09:01:06 | 显示全部楼层
原帖由 murmur 于 2008-7-27 08:57 发表
midi2pop是专门为spce061设计的 理论上是061都可以放出来

只不过nc3k的061严重缩水。。。
手头没tc800也不想再买了 所以目前我那软件转换的是按照nc3000支持的格式设计的 ...

可800的CPU不是061!
 楼主| 发表于 2008-7-27 09:02:27 | 显示全部楼层
我没试过用mid2pop转800的音乐,我是用EWE手工写的
发表于 2008-7-27 09:29:16 | 显示全部楼层
原帖由 POTO 于 2008-7-27 08:59 发表

tc800的程序处理、音乐播放全是由一个CPU支撑的,而且这块CPU不是061,可800还能实现vnt后台播放…………看来只有等到学会unsp汇编后才知道了…………



nc3k貌似有独立的dsp 不知道tc800 没有对应的芯片不代表没有 那屎包一样的东西里不知道塞了什么东西
 楼主| 发表于 2008-7-27 09:35:17 | 显示全部楼层
tc800的主板看起来要比3k的简单一些,就是上面的线路布局,还有元件个数来说,那种黑块块3k上有好几个,800上有一个大的方形的,还有一个很小的椭圆形的…………
发表于 2008-7-27 09:59:44 | 显示全部楼层
刚才看了凌阳给的函数包 好抽象。。。
 楼主| 发表于 2008-7-27 10:07:41 | 显示全部楼层
从网上下载的?
另外,800的确是程序处理、音乐播放全是由一个CPU支撑的
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-19 11:22 , Processed in 0.013136 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表