yandagui 发表于 2017-3-31 23:41:15

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

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

[忍者神龟2]

时间:2017.3.31
作者:FlameCyclone .ORG $B9E0
ora_data:
.BYTE $08,$04,$02,$01,$80,$40,$20,$10
and_data:
.BYTE $F7,$FB,$FD,$FE,$7F,$BF,$DF,$EF

button = $F8
flag = $6000
pause = $3D

.org $BA00

PHA
TXA
PHA
TYA
PHA
JSR KEY_OPERATE
JSR INV
JSR LIFE
JSR BLOOD
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 #$80
STA $A001    ;6000-7FFF写入启用
LDA #$00
STA $6000    ;数据初始化
STA $6001    ;数据初始化
LDA #$7F
STA $600F
pause_cmp:
LDA pause
CMP #$01
BEQ 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 #$05
STA $93,X
INV_RTS:
RTS


LIFE:    ;生命
LDA $6000,X
AND #$04
BEQ LIFE_RTS
LDA #$09
STA $4D,X
LIFE_RTS:
RTS


BLOOD:    ;血量
LDA $6000,X
AND #$01
BEQ BLOOD_RTS
LDA #$38
STA $0568,X
BLOOD_RTS:
RTS


.ORG $FEFE
JSR $FF60
NOP

.ORG $FF60
STA $F8,X
STY $3A,X
PHA
TXA
PHA
TYA
PHA
LDA #$02
JSR $DB11    ;调用系统切页
PLA
TAY
PLA
TAX
PLA
JSR $BA00
RTS

;[忍者神龟PPU]

.ORG $BC00

STY $4014    ;补上覆盖的精灵写入指令
PHA
TXA
PHA
TYA
PHA
LDA $018
CMP #$01    ;比较是否为标题画面
BNE RET
LDA $019
CMP #$01    ;比较是否为标题画面
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 #$FF
BEQ STAGE_CMP
STA $2007
INX
BCC PPU_STAGE_WROTE
STAGE_CMP:
LDA $6010
CMP #$FF    ;关卡数据初始化条件判断
BNE KEY_B
LDA #$00
STA $6010    ;关卡数据初始化
KEY_B:    ;关卡减少
LDA $F8
AND #$42    ;按键B或左减关
BEQ KEY_A
LDA #$FF
STA $40
LDA $6010
CMP #$00    ;关卡比较
BEQ KEY_A
DEC $6010   ;减关
LDA #$57
JSR $DB52    ;按键音效
KEY_A:    ;关卡增加
LDA $F8
AND #$81    ;按键A或右加关
BEQ PPU_NUM_WRITE
LDA #$FF
STA $40
LDA $6010
CMP #$0B    ;关卡比较
BEQ PPU_NUM_WRITE
INC $6010    ;加关
LDA #$57
JSR $DB52    ;按键音效
PPU_NUM_WRITE:
LDA PPU_ADDR_DATA
STA $2006
LDA PPU_ADDR_DATA+1
CLC
ADC #$06
STA $2006    ;坐标设置
LDA $6010
TAX
LDA STAGE_D1,X    ;写入数字
STA $2007
LDA PPU_ADDR_DATA
STA $2006
LDA PPU_ADDR_DATA+1
CLC
ADC #$0B
STA $2006    ;坐标设置
LDA $6010
TAX
LDA STAGE_D2,X    ;写入数字
STA $2007
STAHE_WRITE:
LDA $6010
STA $42   ;初始关卡写入
PPU_RTS:
PLA
TAY
PLA
TAX
PLA
RTS


STAGE_DATA:    ;关卡文字S,T,A,G,E,X,-,X字模数据
.BYTE $1D,$1E,$0B,$11,$0F,$00,$00,$00,$1E,$19,$00,$00,$00,$FF

STAGE_D1:   ;关卡数字
.BYTE $02,$02,$03,$03,$04,$04,$05,$05,$06,$07,$08,$08

STAGE_D2:   ;场景数字
.BYTE $02,$03,$02,$03,$02,$03,$02,$03,$02,$02,$02,$03

PPU_ADDR_DATA:
.BYTE $23,$4B





.ORG $FE21
JSR $FF40

.ORG $FF40
LDA $BCDF
CMP #$7F
BNE ADDRFF56
LDA $0018
CMP #$04
BNE $FF52
LDA $6010
STA $0042
JSR $BC00
RTS
ADDRFF56:
STY $4014
RTS

内容:
    1.关卡选择:   标题时,左或B减,右或A加;
    2.一击必杀:   暂停后,按B键切换;
    3.无敌锁定:   暂停后,按上键切换;
    4.生命加满:   暂停后,按下键切换;
    5.血量锁满:   暂停后,按右键切换;
http://www.emu618.org/data/attachment/album/201703/31/234012a25mlhm25yfm92d1.pnghttp://www.emu618.org/data/attachment/album/201703/31/234012jqcaxb2qfjqb9q6f.pnghttp://www.emu618.org/data/attachment/album/201703/31/234013ocdfrfinxczdygdj.pnghttp://www.emu618.org/data/attachment/album/201703/31/234013ktphkb0t0xeh0hgf.pnghttp://www.emu618.org/data/attachment/album/201703/31/234014z71q6znq31k76y3d.png

FlameCyclone.ys168.com
www.nesbbs.com
**** Hidden Message *****

liujunbtx 发表于 2017-4-1 00:07:33

这游戏最终BOSS不好打。。。。。

狮子座 发表于 2017-4-1 00:25:27

楼主辛苦了!

找不到服务器 发表于 2017-4-1 02:17:52

辛苦了,改得漂亮

cheap9003 发表于 2017-4-1 07:23:11

2代难度比3代更大

cococo8858 发表于 2017-4-1 07:32:39

感谢修改。这作感觉比三代还要好玩。

文子萝卜 发表于 2017-4-1 07:56:33

每一分的付出都应该获得相应的回报。3分送上,顶你{:4_137:}

dabayu 发表于 2017-4-1 09:11:46

谢谢分享,修改辛苦了

tariq017 发表于 2017-4-1 11:03:47

感谢楼主分享新游戏

wjb19780515 发表于 2017-4-1 11:37:59

不管东西咋样 还是先谢谢了

pp12 发表于 2017-4-1 14:24:09

楼主厉害,顶一个

街机爱好者 发表于 2017-4-1 19:10:25

楼主终于圆了我的梦想,楼主真的太辛苦了,谢谢,谢谢,谢谢,谢谢。{:4_159:}

afti 发表于 2017-4-1 20:34:57

感谢楼主分享!

wincyd 发表于 2017-4-2 08:31:18

辛苦了,改得漂亮

yandagui 发表于 2017-4-2 20:47:58

真的没人看了

upup 发表于 2017-4-3 14:35:08

感谢分享

yandagui 发表于 2017-4-4 11:40:10

已经适配nestopia模拟器

langsha8888 发表于 2017-4-4 12:40:34

谢谢分享

she370192822 发表于 2017-4-5 17:11:09

下载玩玩看 小时候最爱

来了来 发表于 2017-4-7 01:10:02

好的游戏
页: [1] 2 3
查看完整版本: [FC][忍者神龟2][END选关]