Wait and See!

Wait and See! is an unlicensed NES game based on the Russian cartoon Ну, погоди! (Nu, pogodi! - literally Well, Just You Wait!) but with Bugs Bunny in the title 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
The whole bank is filled with the game's source code. Unfortunately, the code is partially damaged by the regular data pattern, 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

?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    SPRITE+7
 * AND    #$7F
 * STA    SPRITE+7

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
 * 从$0200-$02C3，这一段用于CORE.INC

ORG    02C3H DS MOTION             DS      48 ORG      0300H            ;用于確_乓____谋淞? ORG      03CEH LocalObject        DS      16
 * - 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.
 * +--->未用，系统保留.
 * 注：对特定的动性，其解释__式____户自定义. 该解释用于GetNextSnap.
 * 局部敌物表，每项一位，共128项/关.
 * 定__该____在本关是