对于rise sun 过于敏感的问题以及按键不习惯,我自己修改了一下源程序。不过newwise不能上传附件……
补丁贴到EmuZone的论坛上了。
http://bbs.emu-zone.org/showthread.php?t=310525
修改的部分代码如下,rise sun的其他问题还未修正……
08E88144 B47F push r0-r6 //增加r5,r6入栈
08E88146 4A1B ldr r2,=4000130h
08E88148 6811 ldr r1,[r2]
08E8814A 4D1E ldr r5,=203CC80h //内存中随意找的一个空地
08E8814C 682E ldr r6,[r5]
08E8814E 1C0C mov r4,r1
08E88150 42B1 cmp r1,r6 //r6中保存了1桢前的按键状态,r1中为当前按键状态
08E88152 D017 beq 8E88184h //如果相等就跳,即每按一下太阳感光器只加1格
08E88154 4B18 ldr r3,=200h
08E88156 4019 and r1,r3 //看看L键是否按下
08E88158 D114 bne 8E88184h
08E8815A 1C21 mov r1,r4
08E8815C 2310 mov r3,10h
08E8815E 4019 and r1,r3 //看看right键是否按下
08E88160 D106 bne 8E88170h
08E88162 4816 ldr r0,=203CC76h //太阳光强度的地址
08E88164 8801 ldrh r1,[r0]
08E88166 290A cmp r1,0Ah
08E88168 D00C beq 8E88184h
08E8816A 1C49 add r1,r1,1
08E8816C 8001 strh r1,[r0]
08E8816E E009 b 8E88184h
08E88170 1C21 mov r1,r4
08E88172 2320 mov r3,20h
08E88174 4019 and r1,r3 //看看left键是否按下
08E88176 D105 bne 8E88184h
08E88178 4810 ldr r0,=203CC76h
08E8817A 8801 ldrh r1,[r0]
08E8817C 2900 cmp r1,0h
08E8817E D001 beq 8E88184h
08E88180 1E49 sub r1,r1,1
08E88182 8001 strh r1,[r0]
08E88184 602C str r4,[r5]
08E88186 BC7F pop r0-r6
08E88188 480A ldr r0,=4000130h
08E8818A 8802 ldrh r2,[r0]
08E8818C 480C ldr r0,=8219B2Dh
08E8818E 4700 bx r0
08E88190 7F00 ldrb r0,[r0,1Ch]
08E88192 0300 lsl r0,r0,0Ch
08E88194 7FA0 ldrb r0,[r4,1Eh]
08E88196 0300 lsl r0,r0,0Ch
08E88198 0130 lsl r0,r6,4h
08E8819A 0400 lsl r0,r0,10h
08E8819C 9B2D ldr r3,[sp,0B4h]
08E8819E 0821 lsr r1,r4,20h
08E881A0 0000 lsl r0,r0,0h
08E881A2 0000 lsl r0,r0,0h
08E881A4 0000 lsl r0,r0,0h
08E881A6 0000 lsl r0,r0,0h
08E881A8 0000 lsl r0,r0,0h
08E881AA 0000 lsl r0,r0,0h
08E881AC 0000 lsl r0,r0,0h
08E881AE 0000 lsl r0,r0,0h
08E881B0 0000 lsl r0,r0,0h
08E881B2 0000 lsl r0,r0,0h
08E881B4 0130 lsl r0,r6,4h
08E881B6 0400 lsl r0,r0,10h
08E881B8 0200 lsl r0,r0,8h
08E881BA 0000 lsl r0,r0,0h
08E881BC CC76 ldmia [r4]!,r1,r2,r4-r6
08E881BE 0203 lsl r3,r0,8h
08E881C0 9B2D ldr r3,[sp,0B4h]
08E881C2 0821 lsr r1,r4,20h
08E881C4 CC80 ldmia [r4]!,r7
08E881C6 0203 lsl r3,r0,8h
[ 本帖最后由 lordquest 于 2005-7-30 23:06 编辑 ] |