yandagui 发表于 2017-4-2 16:10:18

[FC][忍者神龟1][END选关]

本帖最后由 yandagui 于 2017-4-2 16:13 编辑

[忍者神龟1]

时间:2017.4.2
作者:FlameCyclone
内容:
    1.关卡选择:   标题时,左或B减,右或A加;
    2.一击必杀:   选择+B键切换;
    3.无敌锁定:   选择+上键切换;
    4.血量锁满:   选择+下键切换;
    5.水下时间:   选择+左键切换;
    6.武器切换:   B+上键切换;
    7.暗器数目:   B+下键切换补满/空缺;
    8.强制移动:   在平面地图时,按住A不放,按方向键强制移动.
http://www.emu618.org/data/attachment/album/201704/02/161002v133egmwgv3bnes1.pnghttp://www.emu618.org/data/attachment/album/201704/02/161002r8fbz1nu5f1zhc4m.pnghttp://www.emu618.org/data/attachment/album/201704/02/161003pll44e3du1zffkse.png

FlameCyclone.ys168.com
www.nesbbs.com
**** Hidden Message ***** .ORG $80E0
ora_data:
.BYTE $08,$04,$02,$01,$80,$40,$20,$10
and_data:
.BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF

button = $F5
flag = $6000
.org $8000
JMP $8400


.org $8400
PHA
TXA
PHA
TYA
PHA
KJMP:
JSR $8100
JSR KEY_OPERATE
JSR WEACH
JSR INV
JSR TIME
JSR TOOLS
JSR BLOOD
JSR MOVE_FORCE
PLA
TAY
PLA
TAX
PLA
RTS

KEY_OPERATE:
data_protect:
PHA
TXA
PHA
TYA
PHA

FLAG_CMP:
LDA $600F
CMP #$7F    ;标志数据初始化条件判断
BEQ pause_cmp
LDA #$00
STA $6000    ;数据初始化
STA $6001    ;数据初始化
LDA #$7F
STA $600F
pause_cmp:
LDA button+2,X
AND #$20
BNE button_press
PLA
TAY
PLA
TAX
PLA
RTS

button_press:
ini_Y:
LDY #$00
button_cmp:
LDA button,X
CMP ora_data,Y
BNE count_Y_cmp
flag_cmp:
LDA flag,X
AND ora_data,Y
BNE flag_and
flag_ora:
LDA flag,X
ORA ora_data,Y
STA flag,X
BNE count_Y_cmp
flag_and:
LDA flag,X
AND and_data,Y
STA flag,X
count_Y_cmp:
INY
CPY #$08
BCC button_cmp

data_extract:
PLA
TAY
PLA
TAX
PLA

return:
RTS


INV:    ;无敌
LDA $6000,X
AND #$08
BEQ INV_RTS
LDA $0450
ORA #$04
STA $0450
LDA #$05
STA $0500,X
INV_RTS:
RTS


TIME:    ;水下时间
LDA $6000,X
AND #$02
BEQ TIME_RTS
LDA #$1E
STA $BA
LDA #$8C
STA $BB
TIME_RTS:
RTS

BLOOD:    ;血量
LDA $6000,X
AND #$04
BEQ BLOOD_RTS
LDA #$80
STA $77
STA $78
STA $79
STA $7A
BLOOD_RTS:
RTS

TOOLS:    ;工具
LDA button+2,X
CMP #$40
BNE TOOLS_RTS
LDA button,X
CMP #$04
BNE TOOLS_RTS
LDA $A8
CMP #$00
BEQ FULLTOOL
LDA #$00
STA $BF
STA $A7
STA $A8
STA $A9
STA $AA
STA $AB
STA $5B
BEQ TOOLS_RTS
FULLTOOL:
LDA #$0A
STA $BF
LDA #$0F
STA $A7
LDA #$63
STA $A8
STA $A9
STA $AA
STA $AB
TOOLS_RTS:
RTS

WEACH:
LDA button+2,X
CMP #$40
BNE WEARTS
LDA button,X
CMP #$08
BNE WEARTS
LDA $73
CMP #$04
BNE WEAINC
LDA #$FF
STA $73
WEAINC:
LDA $73
CLC
ADC #$01
STA $73
STA $74
STA $75
STA $76
WEARTS:
RTS


MOVE_FORCE:
LDA $35
BNE MOVE_FORCE_RTS
LDA $5C
BNE MOVE_FORCE_RTS
LDA button+2,X
CMP #$80
BNE MOVE_FORCE_RTS
L1:
LDA button,X
CMP #$08
BNE L2
LDA $0460
SEC
SBC #$10
STA $0460
L2:
LDA button,X
CMP #$04
BNE L3
LDA $0460
CLC
ADC #$10
STA $0460
L3:
LDA button,X
CMP #$02
BNE L4
LDA $0480
SEC
SBC #$10
STA $0480
L4:
LDA button,X
CMP #$01
BNE L5
LDA $0480
CLC
ADC #$10
STA $0480
L5:
MOVE_FORCE_RTS:
RTS

;[忍者神龟PPU]


KEY_ADDR = $F5
STAGE_TEMP = $6010
TITLE_A = $21
TITLE_A_ON = $01
TITLE_B = $59
TITLE_B_ON = $01
PPU_END = $FF
TIME_LAY = $3A
BUTTON_DEC = $42
BUTTON_INC = $81

.ORG $7000



PHA
TXA
PHA
TYA
PHA
LDA TITLE_A
CMP #TITLE_A_ON    ;比较是否为标题画面
BNE RET
LDA TITLE_B
CMP #TITLE_A_ON    ;比较是否为标题画面
BEQ PPU_STAGE
RET:
PLA
TAY
PLA
TAX
PLA
RTS
PPU_STAGE:    ;STAGE显示程序
LDA PPU_ADDR_DATA
STA $2006
LDA PPU_ADDR_DATA+1
STA $2006    ;坐标设置
LDX #$00
PPU_STAGE_WROTE:    ;写入STAGE字模
LDA STAGE_DATA,X
CMP #PPU_END
BEQ STAGE_CMP
STA $2007
INX
BCC PPU_STAGE_WROTE
STAGE_CMP:
LDA STAGE_TEMP
CMP #$FF    ;关卡数据初始化条件判断
BNE KEY_B
LDA #$00
STA STAGE_TEMP    ;关卡数据初始化
LDA #$57
JSR $DB52    ;按键音效
KEY_B:    ;关卡减少
LDA KEY_ADDR
AND #BUTTON_DEC    ;按键B或左减关
BEQ KEY_A
LDA #$FF    ;重设标题延时
STA TIME_LAY
LDA STAGE_TEMP
CMP #$00    ;关卡比较
BEQ KEY_A
DEC STAGE_TEMP   ;减关
JSR MUSIC    ;按键音效
KEY_A:    ;关卡增加
LDA KEY_ADDR
AND #BUTTON_INC    ;按键A或右加关
BEQ PPU_NUM_WRITE
LDA #$FF
STA TIME_LAY    ;重设标题延时
LDA STAGE_TEMP
CMP #$04    ;关卡比较
BEQ PPU_NUM_WRITE
INC STAGE_TEMP    ;加关
JSR MUSIC    ;按键音效
PPU_NUM_WRITE:
LDA PPU_ADDR_DATA
STA $2006
LDA PPU_ADDR_DATA+1
CLC
ADC #$06
STA $2006    ;坐标设置
LDA STAGE_TEMP
TAX
LDA STAGE_D1,X    ;写入数字
STA $2007
STAHE_WRITE:
LDA STAGE_TEMP
STA $42   ;初始关卡写入
PPU_RTS:
PLA
TAY
PLA
TAX
PLA
RTS


STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
.BYTE $22,$23,$10,$16,$14,$00,$FF

STAGE_D1:   ;关卡数字
.BYTE $01,$02,$03,$04,$05


PPU_ADDR_DATA:
.BYTE $23,$0C

MUSIC:
LDA $8000
PHA
LDA #$00
JSR $CEA7
LDA #$3C
JSR $9057
PLA
JSR $CEA7
RTS



yandagui 发表于 2017-4-2 23:31:01

看情况喽,我现在很想睡觉,困了

狮子座 发表于 2017-4-2 16:49:37

感谢分享!楼主继续加油!

街机爱好者 发表于 2017-4-2 19:47:30

谢谢楼主分享,不错!不错!楼主辛苦了。{:4_103:}

yandagui 发表于 2017-4-2 20:49:00

我记得有人想要忍者神龟我才修改的,那个人跑哪里去了

街机爱好者 发表于 2017-4-2 20:51:45

yandagui 发表于 2017-4-2 20:49
我记得有人想要忍者神龟我才修改的,那个人跑哪里去了

就是我呀,楼主都忘了,呵呵,辛苦了楼主。{:4_104:}

tom55473220 发表于 2017-4-2 21:41:42

thx for sharing.

yandagui 发表于 2017-4-2 21:51:51

街机爱好者 发表于 2017-4-2 20:51
就是我呀,楼主都忘了,呵呵,辛苦了楼主。

也不顶个贴,唉,真是的

街机爱好者 发表于 2017-4-2 21:57:28

yandagui 发表于 2017-4-2 21:51
也不顶个贴,唉,真是的

我一直在顶贴啊。{:4_92:}

yandagui 发表于 2017-4-2 22:18:00

哈哈哈,谢谢了,修改真的好累啊

cococo8858 发表于 2017-4-2 23:20:06

好强大啊。神龟系列也全了。感谢分享。
请问巨巨闲暇的时候,可不可以做一下双截龙全系列的选关旋风版呢,巨巨之前好象只做有三的修改吧。
1和2也很经典好玩,真的很期待啊。

liujunbtx 发表于 2017-4-3 00:32:56

1代没有通关过。。。。。

dabayu 发表于 2017-4-3 01:59:02

感谢分享,修改辛苦了

文子萝卜 发表于 2017-4-3 07:50:23

FC四款忍者神龟中,激龟忍者的难度确实是最难的。感谢撸主的修改

nihao 发表于 2017-4-3 08:24:13

感谢您的分享!赞一个!

找不到服务器 发表于 2017-4-3 10:29:09

龟1还真没玩过

afti 发表于 2017-4-3 12:01:54

感谢楼主分享!

pp12 发表于 2017-4-3 16:50:39

喜欢楼主的修改,顶一个

街机爱好者 发表于 2017-4-3 19:25:27

希望大家都能进来顶顶楼主的贴子,进来支持一下楼主强大的游戏修改,楼主修改每一款游戏真的很不容易, 我们应该珍惜一下这些来之不易的改版游戏,给予楼主强大支持的鼓励,谢谢大家了。{:4_104:}

tariq017 发表于 2017-4-3 22:00:04

感谢分享新游戏
页: [1] 2 3
查看完整版本: [FC][忍者神龟1][END选关]