藏书阁 史将 特技
背景 三国演义 PC版
首页 -> 精彩文章 -> 文章
[原创]文曲星pc1000a/pc1000/cc800添加游戏手柄
作者G00000
标签pc1000 pc1000a 手柄 文曲星 游戏
阅读次数:369
为文曲星pc1000a/pc1000/cc800添加游戏手柄
  注意:如果你的文曲星按下述文章测试而出现问题,本人概不负责。请三思后动手!有什么问题请发E-mail:gggyg@163.com
  从文曲星的通信原理可以知道$18接受两条io线,这可以为文曲星做一个手柄。接线图如图(图在压缩包里)。其中电池可用文曲星用过的电池。是否按下按键K1,K2可以通过$18上的第5,第6位可以检测出来。
  检测程序如下:
1.汇编
LDA $00
STA $07  ;把$18的5,6位设为接受
LDA $18
AND #$20 ;检测$18的第5位是否为1,如是则K1按下
BEQ    ;跳转
LDA $18
AND #$40 ;检测$18的第6位是否为1,如是则K2按下
BEQ    ;跳转

我编了一个测试软件,汇编代码如下:
2010: 20 38 E1   JSR $E138   
2013: A9 00    LDA #$00   
2015: 85 07    STA $07   ;把$18的5,6位设为接受  
2017: 20 A8 E0   JSR $E0A8  ;防止循环死机 
201A: A5 18    LDA $18    
201C: 29 40    AND #$40  ;检测$18的第6位是否为1,如是则K2按下   
201E: F0 05    BEQ $2025  
2020: A9 01    LDA #$01   
2022: 20 37 20   JSR $2037  
2025: A5 18    LDA $18   
2027: 29 20    AND #$20  ;检测$18的第5位是否为1,如是则K1按下   
2029: F0 05    BEQ $2030   
202B: A9 50    LDA #$50   
202D: 20 37 20   JSR $2037   
2030: A5 CD    LDA $CD   
2032: C9 F7    CMP #$F7   
2034: D0 E1    BNE $2017  
2036: 60      RTS      
2037: 8D A6 03   STA $03A6  ;画矩形子程序  
203A: 18      CLC      
203B: 69 4F    ADC #$4F   
203D: 8D A8 03   STA $03A8  
2040: A9 01    LDA #$01  
2042: 8D A7 03   STA $03A7  
2045: 18      CLC      
2046: 69 4F    ADC #$4F   
2048: 8D A9 03   STA $03A9  
204B: A9 01    LDA #$01   
204D: 8D AC 03   STA $03AC   
2050: 20 A1 E1   JSR $E1A1  
2053: EA      NOP     
2054: EA      NOP     
2055: EA      NOP      
2056: A9 00    LDA #$00   
2058: 8D AC 03   STA $03AC  
205B: 20 A1 E1   JSR $E1A1  
205E: 60      RTS      

2.bas中的运用
例1.初试化,在文件开始加入:
0 POKE 7,0
1 DATA 165,24,41,32,141,255,63,165,24,41,64,141,254,63,96
2 FOR I=0 TO 14 :READ A:POKE 16360+I,A:NEXT
调用:
100 CALL 16360
103 IF PEEK (16383)<>0 THEN    ;如果按下k1就跳转
105 IF PEEK (16382)<>0 THEN    ;如果按下k2就跳转
以上是我把打砖块修改成可用手柄的加入代码。
例2.初试化,在文件开始加入:
1 POKE 16373,165:POKE 16374,24:POKE 16375,41:POKE 16376,96:POKE 16377,133:POKE 16378,250
2 POKE 16379,96:POKE 7,0
调用:
1010 CALL 16373
1011 IF PEEK (250)<>32 THEN 1020 ;如果按下k1就跳转
……
1020 IF PEEK (250)<>64 THEN 1028 ;如果按下k2就跳转
以上是我把暴走蛇修改成可用手柄的加入代码。



G00000(g00000)于 2004-10-31 15:44:00 编辑过本帖


浙ICP备06020153号-1