微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题APPLE电脑游戏的消音技巧
栏目大众游戏
作者广东 刘广林
发布1993-05-07
  我研究了一下APPLE机的发音原理。APPLE机的扬声器是靠触发机内$C030地址来达到发音目的的。所以我想游戏中肯定有触发$C030的程序模块,只要修改该模块(或者是多个模块),将其触发地址改为$0300,那么程序执行到这里时,程序本应触发$C030地址却因修改变成触发$0300,扬声器就不会响了。下面是我根据上面的原理使一个游戏声音消失的二进制程序。整个修改是在机器内进行的,也就是说磁盘上存放游戏本身并没有改动。该程序可以把绝大部分的文件启动的游戏声音消除掉。有APPLE机或中华学习机的朋友不妨一试。
  程序清单:
  ]CALL-151
  *BC56L
  BC56-18CLC;
  BC57-AD72AALDA
  $AA72;将游戏起始地址送入$2A,$2B单元
  BC5A-852ASTA$2A;
  $2A,2B将作计数器
  BC5C-6D60AAADC
  $AA60;起始地址+长度=结束地址
  BC5F-8528STA$28;送入$28,$29单元
  BC61-AD73AALDA$AA73;
  BC64-852BSTA$2B;
  BC66-6D61AAADC$AA61;
  BC69-8529STA$29;
  BC6B-A000LDY#$00;循环开始
  BC6D-B12ALDA($2A),Y;
  BC6F-C930CMP#$30;低位=$30
  BC71-D015BNE$BC88;
  BC73-A001LDY#$01;
  BC75-B12ALDA($2A),Y;
  BC77-C9C0CMP#$C0;高位=$C0
  BC79-D00DBNE$BC88;
  BC7B-A987LDA#$87;找到一个,响玲
  BC7D-20EDFDJSR$FDED;
  BC80-A903LDA#$03;高位改为$03
  BC82-912ASTA($2A),Y;
  BC84-A000LDY#$00;低位改为$00
  BC86-912ASTA($2A),Y;
  BC88-18CLC;计数器加1
  BC89-A52ALDA$2A;
  BC8B-6901ADC#$01;
  BC8D-852ASTA$2A;
  BC8F-A52BLDA$2B;
  BC91-6900ADC#$00;
  BC93-852BSTA$2B判断到了结尾吗?
  BC95-C529CMP$29;
  BC97-D0D2BNE$BC6B;
  BC99-A528LDA$28;
  BC9B-C52ACMP$2A;
  BC9D-D0CCBNE$BC6B;
  BC9F-6C72AAJMP($AA72);是,
  修改完毕,游戏开始。
  建立此程序后,按CTRL-RESET退回BASIC状态,执行"BSAVENOSOUND,A$BC56,L80"。
  玩游戏时步骤为:
  ]BLOADNOSOUND
  ]BLOAD游戏程序名
  ]CALL-151
  *BC56G(广东刘广林)