Wait and See!

来自GameWiki
跳转至: 导航搜索

Title Screen

Wait and See!

开发商: Dragon
发行商: Dragon
游戏平台: Unlicensed NES
发行于全球: 1997


SourceIcon.png 本游戏有未使用的源代码.
DevTextIcon.png 本游戏有隐藏了与开发相关的文字.


Wait and See! is an unlicensed NES game based on the Russian cartoon Ну, погоди! (Nu, pogodi! - literally Well, Just You Wait!, closer to You dare!) but with Bugs Bunny on the title screen for some reason.

Development Text

Text probably left by TomSoft Studio, the program used to develop this game.

TomSoft Studio. E-mail:tomsoft@ihw.co.cn. Tel:(029)7223482

tomsoft-1997

Source Code

模板:Needstranslation

The whole bank $1D is filled with the game's source code. Unfortunately, the code is partially damaged by the regular data pattern FF FF ?? ?? 00 00 00 00, some parts of the source code have been restored, some are still missing. Note, that hard tabs were changed to 4 spaces as was originally intended in the line drawing below.

            ___     08                  ;下坡
            BNE     ?NoIceLand
            LDA     SPRITE
            CLC
            ADC     #$02
            STA     SPRITE
            LDA     SPRITE+1
            ADC     #$0
            STA     SPRITE+1

;           LDA     SPRITE+7
;           AND     #$7F
;           STA     SPRITE+7
?NoIceLand:
            RTS
;-----------------------------------------------------
Just__e:
            LDA     MOTION+4
            AND     #$04
            BEQ     ?NextBG0
            LDA     #$04
            JMP     ?JustEnd
?NextBG0:
            LDA     MOTION+4
            AND     #$08
            BEQ     ?JustEnd
            LDA     ___8
?JustEnd:
            RTS
;-----------------------------------------------------
ProceStage3:
            LDA     SCRPAGE_X
            BEQ     ?InBlackScreen
            CMP     #__
            BEQ     ?InBlackScreen
            CMP     #29
            BEQ     ?InBlackScreen
            CMP     #38
            BNE     ?NoInStar
?InBlackScreen:
            LDA     #$0
            SEC
            SBC     SPRITE
            CMP     #48
            BCS     ?NoRightEnd

            LDA     PORT2001
            AND     #$E7
            STA     PORT2001            ;关显示屏


            LDA     MOTION+5
            ORA     #$60                ;主角置死亡标志,__时____亡动性结束
            STA     MOTION+5

            LDA     NUMBER_LIFE
            CLC
            ADC     #$01
            STA     NUMBER_LIFE         ;消除假死亡的生命减少

            LDA     SCRPAGE_X
            CLC
            ADC     #$02
            STA     Countinue_X

            LDA     #$FF
            STA     CLOSE_FLAG          ;表示不是真正的死亡
?NoRightEnd:
            LDA     #$FF
            JMP     ?ProceEnd
?NoInSt__:
            LDA     MOTION+4
            AND     #$10
            BEQ     ?NoInRail
            LDA     MOTION
            AND     #$3F
            BNE     ?NoInRail
            LDA     #$FF
            JMP     ?ProceEnd
?NoInRail:
            LDA     __0
?ProceEnd:
            RTS
;-----------------------------------------------------
PassStage:
            LDX     STAGE
            CPX     #$FF
            BEQ     ?OverStage
            L__     ____eData,X
            CMP     SCRPAGE_X
            BNE     ?NoOverStage
            LDA     SCREEN_X
            SEC
            SBC     SPRITE
            CMP     #40
            BCS     ?NoOverStage

            LDA     #$FF
            STA     _LOSE_FLAG              ;保持原有的心和生命的数值
?OverStage:
            LDA     STAGE
            CLC
            ADC     #$01
            STA     H_BUFFER+1              ;保存关的数目

            LDA     #$2C
            STA     BG_PAL01
            LDA     #$0C
            STA     BG_PAL01+1
            LDA     #$0F
            STA     BG_PAL01+2

            LDA     #$17
            STA     BG_PAL02
            LDA     #$07
            STA     BG_PAL02+1
            ___     #$0F
            STA     BG_PAL02+2
            
            LDA     #$FF
            JMP     ?StageEnd
?NoOverStage:
            LDA     #$00
?StageEnd:
            RTS
StageData:
            DB      33,34,36,39__,3__
;-----------------------------------------------------
ProceTitle:
            LDA     #$7
            STA     STAGE

            LDA     #$17
            STA     BG_PAL01
            LDA     #$28
            STA     BG_PAL01+1
            LDA     #$0F
            STA     BG_PAL01+2

            LDA     #$17
            STA     BG_PAL02
            LDA     #$27
            STA     BG_PAL02+1
            LDA     #$0F
            STA     BG_PAL02__
            LDA     #15
            STA     MOTION
            LDA     #$0
            STA     MOTION+1

            LDA     #108
            STA     SPRITE
            LDA     #$0
            STA     SPRITE+1
            LDA     #79
            STA     SPRITE+_
            LDA     #$0
            STA     SPRITE+3
            STA     SPRITE+7

            LDA     #15
            STA     MOTION+6
            LDA     #$01
            STA     MOTION+7
            LDA     #120
            STA     SPRITE+1__
            LDA     #$0
            STA     SPRITE+11
            LDA     #79
            STA     SPRITE+12
            LDA     #$0
            STA     SPRITE+13
            STA     SPRITE+17

            LDA     #53
            STA     MOTION+12
            LDA     #$0
            STA     MOTION+13
            LDA     #128
            STA     SPRITE+20
            LDA     #0
            STA     SPRITE+21
            LDA     #200
            STA     SPRITE+22
            LDA     #0
            STA     SPRITE+__
            STA     SPRITE+27
            RTS
;-----------------------------------------------------
Game_Over:
            LDA     #$09
            STA     STAGE

            LDA     #$27
            STA     BG_PAL01
            LDA     #$27
            STA     BG_PAL01+1
            LDA     #$37
            STA     BG_PAL01+2

            LDA     #$3F
            STA     BG_PAL02
            LDA     #$2D
            STA     BG_PAL02+1
            LDA     #$00
            STA     BG_PAL02+2


            LDA     #51
            ORA     #$80                ;最后1个分镜不归0
            STA     MOTION
            LDA     #$0
            STA     MOTION+1

            LDA     #130
            STA     SPRITE
            LDA     #$0
            STA     SPRITE+1
            LDA     #200
            STA     SPRITE+2
            LDA     #$0
            STA     SPRITE+3
            STA     SPRITE+7

            RTS
;-----------------------------------------------------
ProcePassStage:
            LDA     #52
            STA     MOTION
            LDA     H_BUFFER+1
            CLC
            ADC     #$05
            STA     MOTION+1

            LDA     #20
            STA     SPRITE
            LDA     #$0
            STA     SPRITE+1
            LDA     #160
            STA     SPRITE+2
            LDA     #$0
            STA     SPRITE+3
            STA     SPRITE+7            ;过关牌的起始坐盻_
            LDA     #$0
            STA     MOTION+6
            LDA     #$01
            STA     MOTION+7

            LDA     #8
            STA     SPRITE+10
            LDA     #$0
            STA     SPRITE+11
            LDA     #160
            STA     SPRITE+12
            LDA     #0
            STA     SPRITE+13
            RTS
;-----------------------------------------------------
GameOverAction:
            LDA     MOTION+6
            CMP     __06__
            BNE     ?Countinue
            LDA     MOTION+7
            BNE     ?Countinue
            JMP     ?NoEndFrame
?Countinue:
            LDA     MOTION+5
            AND     #$40
            BEQ     ?NoEndFrame

            ___     MOTION+6
            CMP     #$06
            BEQ     ?NoFirst

            LDA     #$06
            STA     MOTION+6
            LDA     #$1
            STA     MOTION+7
            STA     MOTION+8
            STA     MOTION+9
            STA     MOTION+10
            STA     MOTION+11

            LDA     #8
            STA     SPRITE+10
            LDA     #$0
            STA     SPRITE+11
            LDA     #200
            STA     SPRITE+12
            LDA     #$0
            STA     SPRITE+13
            STA     SPRITE+17
?NoFirst:
            LDA     SPRITE+10
            CMP     #130
            BCC     ?NoEndFrame
            LDA     #$0
            STA     MOTION+7
            STA     MOTION+8
            STA     MOTION+9
            ___     _________
            ORG         C000H  
_MainGetAction      DS      3
_MainGetFrame       DS      3
_ChangeNumber       DS      3
_InstallKey         DS      _
 ____5H         ;DS 2 
NMI_FLAG        EQU             0027H           ;DS 1
;======================================================
ADDR5           EQU             0028H           ;____
ADDR6           EQU             002AH           ;DS 2
ADDR7           EQU             002CH           ;DS 2
JUMPCOUNT       EQU             002EH           ;DS 1 存放跳跃次数
ACTION_B__K     EQU             002FH           ;DS 1 
Y_VERTICA       EQU             0030H           ;DS 1 存放主角自由落体偏移量
WINDOWBUFFER    EQU             0031H           ;DS 192 存放主角代码的PNT缓冲区
;以下单__用____乐的0页变量
;======================================================
;从$0200-$02C3,这一段用于CORE.INC

            ORG     02C3H
                    DS
;--------------------- MOTION ------------------------
;MOTION:
;       Byte1:  +---+---+---+---++---+---+---+---+FF即表明该动作为空。
;                 |   |  \-----------v----------/
;                 |   |              +----------->角色号。(0..62)
;                 |   +-------------------------->X 向翻转。
;                 +------------------------------>初始化旗标。0:该动性未做初始化。
;                                                       1:该动性初始化完成。
;       Byte2:  +---+---+---+---++---+---+---+---+
;                 |   |   |  \---------v--------/
;                 |   |   |            +--------->动性编号。
;                 |   |   +---------------------->循环使能。0:不允许循环。
;                 |   |                                 本动性完成后自动回到预备式。
;                 |   |                                 1:允许循环。重复本动性。
;                 |   |                                 对于主角,若该位使能且新动性
;                 |   |                                 与旧动性相同,忽略这种变化。
;                 |   +-------------------------->碰撞使能。0:不允许碰撞。
;                 |                                     1:允许碰撞。
;                 +------------------------------>按键使能。0:不允许接受按键。(仅用于主角)
;                                                       1:允许接受按键。
;       Byte3:  +---+---+---+---++---+---+---+---+
;                \--v--/ \-----------v----------/
;                   |                +----------->分镜计数器,即第几张分镜。
;                   +---------------------------->敌物类型:
;                                                       00:一般对象。
;                                                       01:局部对象。
;                                                       10:全局对象。
;                                                       11:未定义。
;       Byte4:  +---+---+---+---++---+---+---+---+分____延时计数器。V_BLANK
;                \------v------/  \------v------/
;                       |                |
;                       |                +------->延时计数值。
;                       +------------------------>应____长度。
;       Byte5:  +---+---+---+---++---+---+---+---+ActerID,角色id.
;       Byte6:  +---+---+---+---++---+---+---+---+部件控制字。初始化用,
;                 |   |   |  \--------v---------/
;                 |   |   |           |
;                 |   |   |           +----------->控制字补充说明。
;                 |   |   +----------------------->控__字____
;                 |   |                             1: 位移移动控制字有效。
;                 |   |                                其动画移动位移由控
;                 |   |                                制字补充说明决定。
;                 |   |                                胀ㄐ钥刂谱郑灾视?
;                 |   |                                控制字扩充说明决定。
;                 |   +--------------------------->初始化方向控制字。
;                 |                                 0: __动____原方向初始化。
;                 |                                 1: 根据主角位置初始化。
;                 +------------------------------->未用,系统保留。
;           注:对特定的动性,其解释__式____户自定义。该解释用于GetNextSnap。
MOTION              DS      48
;=======================================================
         ORG       0300H            ;用于確_乓____谋淞?
;=======================================================
         ORG       03CEH
LocalObject         DS      16
;局部敌物表,每项一位,共128项/关。
;定__该____在本关是