Pokémon 4 in 1
Pokémon 4 in 1 |
---|
Also known as: Piká 4 in 1 (Box) This game has uncompiled source code. |
Pokémon 4 in 1 is a multicart that contains 4 games, all of which feature Pikachu.
Contents
Unused Music
Picaslot
The song used for the intro and title screen in most Union Bond RPGs is present in Picaslot's music data. Enable FCEUX cheat 000B:03 before selecting Picaslot on the menu to hear it in-game.
Revisional Differences
Pet 4 in 1
An alternate, Pikachu-free version exists simply called Pet 4-in-1. The menu replaces Pikachu with a bear and the graphics for Pet Slot were changed, although any other Pikachu sprites are very lazy edits. The graphics for the Union Bond screen have been deleted.
Pet Slot and Pet Dance were included separately on the Power Joy Supermax 30-in-1, but it's unknown whether the multicart was ever released in full. However, it can be accessed on the 30-in-1 by pressing B on Pet Dance's title screen.
Funclick
Another hack of Picaclick, although this is separated from the other games. Pikachu is replaced with an edited version of the Haribo kid, but otherwise, it's the same.
Assembler Output
At 0x39812 in the ROM is a pretty large chunk of assembler output.
Thu Nov 3 1994 12:59 Page 1 2500 A.D. 6502 Macro Assembler - Version 4.01a ------------------------------------------------ Input Filename : MOL00.asm Output Filename : MOL00.obj 1 2 0000 INCLUDE MOL.KEY 3 4 ;------- Singlekey ---------------- 5 0001 RIGHTKEY EQU 01H 6 0002 LEFTKEY EQU 02H 7 0004 DOWNKEY EQU 04H 8 0008 UPKEY EQU 08H 9 0010 STARTKEY EQU 10H 10 0020 SELECTKEY EQU 20H 11 0080 AKEY EQU 80H 12 0040 BKEY EQU 40H 13 ;------- Doublekey ---------------- 14 0088 AUPKEY EQU 88H 15 0044 BDOWNKEY EQU 44H 16 0030 SELECTSTARTKEY EQU 30H 17 00C0 ABKEY EQU C0H 18 000C UPDOWNKEY EQU 0CH 19 0081 ARIGHTKEY EQU 81H 20 0042 BLEFTKEY EQU 42H 21 ;-------------- DEFULT ------------------- 22 ;_0KEY EQU SELECTKEY 23 ;_1KEY EQU STARTKEY 24 ;_2KEY EQU AKEY 25 ;_3KEY EQU UPKEY 26 ;_4KEY EQU BKEY 27 ;_5KEY EQU LEFTKEY 28 ;_6KEY EQU RIGHTKEY 29 ;_7KEY EQU AUPKEY 30 ;_8KEY EQU DOWNKEY 31 ;_9KEY EQU BDOWNKEY 32 ;-------------- YOUR DEFINE ---------------------- 33 ;_0KEY EQU BKEY 34 ;_1KEY EQU UPKEY 35 ;_2KEY EQU AKEY 36 ;_3KEY EQU LEFTKEY 37 ;_4KEY EQU ABKEY 38 ;_5KEY EQU RIGHTKEY 39 ;_6KEY EQU SELECTKEY 40 ;_7KEY EQU DOWNKEY 41 ;_8KEY EQU STARTKEY 42 ;_9KEY EQU SELECTSTARTKEY 43 44 ;_0KEY EQU AKEY 45 ;_1KEY EQU DOWNKEY 46 ;_2KEY EQU BKEY 47 ;_3KEY EQU RIGHTKEY Thu Nov 3 1994 12:59 Page 2 48 ;_4KEY EQU ABKEY 49 ;_5KEY EQU LEFTKEY 50 ;_6KEY EQU STARTKEY 51 ;_7KEY EQU UPKEY 52 ;_8KEY EQU SELECTKEY 53 ;_9KEY EQU SELECTSTARTKEY 54 55 0080 _0KEY EQU AKEY 56 0004 _1KEY EQU DOWNKEY 57 0040 _2KEY EQU BKEY 58 0001 _3KEY EQU RIGHTKEY 59 0002 _4KEY EQU LEFTKEY 60 0010 _5KEY EQU STARTKEY 61 0008 _6KEY EQU UPKEY 62 0020 _7KEY EQU SELECTKEY 63 64 65 66 ;_6KEY EQU BKEY 67 ;_1KEY EQU UPKEY 68 ;_2KEY EQU AKEY 69 ;_3KEY EQU LEFTKEY 70 ;_4KEY EQU UPDOWNKEY 71 ;_5KEY EQU RIGHTKEY 72 ;_0KEY EQU BLEFTKEY 73 ;_7KEY EQU DOWNKEY 74 ;_8KEY EQU ARIGHTKEY 75 ; 76 77 78 0000 INCLUDE MOL.VAR 79 80 0000 NYJSTARTPGTBANK EQU 0 81 ;====== ADDRESS MAPS ============================================ 82 0000 ORG 0000H 83 SYMBOLS 84 85 ;********************************************************************* 86 ; .SYMBOLS 87 ;********************************************************************* 88 ; .PAGE0 89 ;================================================================== 90 0000 BANK_NO DS 1 91 0001 GAME_NO DS 1 92 ;================================================================ 93 ;------------------------------------- 94 ;------------------------------------ 95 96 ;********************* Music and sound ***************************** 97 ;madr EQU 4CH ; 0000H,0001H 98 ;madrt EQU 4EH ; 0002H,0003H 99 ;madr1 EQU 50H ; 0004H,0005H 100 101 ;tmp_lo EQU 52H 102 ;tmp_hi EQU 53H 103 ;bgm_flg EQU 54H 104 ;bgm_no EQU 55H Thu Nov 3 1994 12:59 Page 3 105 ;ibgm_flg EQU 56H 106 ;snd1_flg EQU 57H 107 ;snd1_type EQU 58H 108 ;snd2_flg EQU 59H 109 ;snd2_type EQU 5AH 110 ;snd_type EQU 5BH 111 ;jmp00_no EQU 5CH 112 ;********************* 113 ;********************* 114 ; ORG 005DH 115 ;;;WaitingBuffer:UseInAllSub;;; 116 00E0 NMI_addr0 EQU E0H ;jmp00_no+1 ;DS 2 117 ;addr0 EQU E2H ;DS 2 118 00E4 addr1 EQU E4H ;DS 2 119 00E6 addr2 EQU E6H ;DS 2 120 00E8 addr3 EQU E8H ;DS 2 121 00EA addr4 EQU EAH ;DS 2 122 00EC addr EQU ECH ;DS 2 123 ;------------------------------------- 124 00EE temp_lo EQU EEH ;DS 1 125 00EF temp_hi EQU EFH ;DS 1 126 00F0 addr_lo EQU F0H ;DS 1 127 00F1 addr_hi EQU F1H ;DS 1 128 129 00F2 Xaddr EQU F2H ;DS 1 130 00F3 Yaddr EQU F3H ;DS 1 131 ;================================================================ 132 0100 ORG 0100H 133 134 0100 molrecflg DS 4 ;=$12$34$56$78 HasRecords!DoNotClear!!! 135 0104 BLOCK_REC DS 2 ;EQU molrecbuf+3 136 137 ;================================================================ 138 139 0200 ORG 0200H 140 141 ;================================================================ 142 143 0300 ORG 0300H 144 145 ;================================================================ 146 0300 transvramidx DS 1 ; 147 0301 transvramflg DS 1 ;=0:NoTrans =1:DoTrans||Translating 148 0302 transvrambuf DS 1+128 149 ;+0:d0-d6需传送的数据段数(小于等于16段) 150 ;+1:d0-d6:数据长度 d7=0:横向传送;d7=1:纵向传送) 151 ;+2+3:需传送的数据首地址(PPUaddr)+2:Hi +3:Lo 152 ;+ ... 数据内容 153 ;+ ... +1:d0-d6:数据长度 d7=0:横向传送;d7=1:纵向传送) 154 ; ... +2+3:需传送的下一段数据首地址(PPUaddr) 155 ;+ ... 下一段数据内容 156 ; Etc. 157 ;---------------------------------------------------------------- 158 0383 blk_fall_flg ds 1 159 ;=0:trans scr 160 ;=1:trans color area 161 0384 same_fall_flg ds 1 Thu Nov 3 1994 12:59 Page 4 162 ;=0:trans scr 163 ;=1:trans color area 164 ;------- IO PORTS REGISTERS & SYSTEM CONTROLERS ----------------- 165 0385 rg_2000H DS 1 ;NMI controler(D7) 166 ;SPRITE mode(D5) 167 ;TEXT/SPRITE LIB switch(D3-D4) 168 ;VRAM vertical/horizon(D2) 169 ;PAGE displaying(D0-D1) 170 0386 rg_2001H DS 1 ;SCR_CONTROLER 171 ;TEXT DISPLAY ENABLE(D3) 172 ;SPRITE DISPLAY ENABLE(D4) 173 0387 rg_2002H DS 1 174 0388 rg_2003H DS 1 175 0389 rg_2004H DS 1 176 038A TVx DS 1 ;X posi. of backgnd on screen($2005 1st) 177 038B TVy DS 1 ;Y posi. of backgnd on screen($2005 2nd) 178 ;------------------------- 179 038C leftlimit DS 1 180 038D rightlimit DS 1 181 038E uplimit DS 1 182 038F downlimit DS 1 183 0008 LEFTLIMIT EQU 8 184 00F8 RIGHTLIMIT EQU 248 185 0008 UPLIMIT EQU 8 186 00F0 DOWNLIMIT EQU 240 187 ;------------------------- 188 0390 COUNT DS 1 189 0391 BTEMP DS 1 190 0392 JSTATUS1 DS 1 191 0393 JSTATUS2 DS 1 192 0394 TOGGLE1 DS 1 193 0395 TOGGLE2 DS 1 194 0396 LAST_JOY1 DS 1 195 0397 LAST_JOY2 DS 1 196 0398 TOGGLE DS 1 ;TOGGLE=TOGGLE1||TOGGLE2 197 198 0399 toggle_buf DS 1 199 ;------------------------- 200 039A key_buff0 DS 1 201 ;=0:Enable'AKEY' 202 039B key_buff1 DS 1 203 ;=0:Enable'LEFTKEY' & 'RIGHTKEY' &'UPKEY' & 'DOWNKEY' 204 ;--+--+--+--+--+--+--+--+-- 205 ;;******************** Music & sound ********************************* 206 ;; The following variables must in this order 207 ;chnl DS 1 208 ;tp DS 1 209 ;tempo DS 1 210 ;keyshf DS 4 ; Key shift 211 ;work DS 1 212 ;workx DS 1 213 ;ovride DS 1 214 ;mvol1 DS 4 ; Master volume for channel 1,2,4 add 215 ;var1 DS 4 ; or substract VAR per nmi in ADR mode 216 ;tmp1 DS 4 ; mi count for each note 217 ;madrl DS 4 ; Score index during playing 218 ;madrh DS 4 Thu Nov 3 1994 12:59 Page 5 219 ;mod1 DS 4 ; Envelope mode: 1 = A, 2 = D, 220 ;env1 DS 4 221 ;sld1 DS 4 222 ;vol1 DS 4 223 ;atk1 DS 4 224 ;dcy1 DS 4 225 ;sus1 DS 4 226 ;rel1 DS 4 227 ;vols1 DS 4 ; Sustain volume 228 ;ctr1 DS 4 ; Working counter for each ADSR mode 229 ;seqcl DS 4 ; Sequence countro1 for jump command 230 ;seqch DS 4 231 ;; The above variables must in this order 232 ;bgm_tmp DS 120 ; BGM temperary buffer for BGM 233 ;bgm_sef DS 1 ; Insert BGM flag, must be initialized 0 234 ;tr1 DS 1 235 ;tr2 DS 1 236 ;-------MUSIC END--------------------------------------------------- 237 039C game_flg DS 1 238 ;InitFlag 239 039D game_over DS 1 240 ;=0:ContinueGame 241 ;=1:GameOver(NoBlockConnected) 242 ;------------------------ 243 039E game DS 1 244 ;=0:PKQ Click 245 ;=1:PAC 246 ;=2:ELS 247 ;=3:... 248 ;------------------------ 249 039F area_x DS 1 ;X0,Y0 of GameArea(16Pixel) 250 03A0 area_y DS 1 251 03A1 area_x_size DS 1 ;Length&Width of GameArea(16Pixel) 252 03A2 area_y_size DS 1 253 ;------------------------ 254 03A3 fall_flg DS 1 255 ;=00H:Needn'tFallDown 256 ;=XXH:NeedFallDown 257 ;------------------------ 258 ;以下变量用于初始化: 259 03A4 max_element_num DS 1 260 ;初始化中可消除区域允许包含的最大元素个数 261 03A5 max_aarea_num DS 1 262 ;初始化中可消除区域最大个数 263 ;------- ProcSameBlocksVars ----- 264 ;----- 全局变量 --------- 265 03A6 same_blk_num DS 1 266 03A7 same_blk_no DS 1 267 03A8 same_blk_x0 DS 1 268 03A9 same_blk_x1 DS 1 269 03AA same_blk_y0 DS 1 270 03AB same_blk_y1 DS 1 271 ;----- 显示变量 --------- 272 03AC same_blk_roll_now DS 1 273 ;为节约时间,每个主循环只处理一行! 274 ;以same_blk_roll_now作INDEX 275 03AD same_blk_frm DS 8 Thu Nov 3 1994 12:59 Page 6 276 0002 BLK_ROLL_TIME EQU 2 277 ;ActiveBlockRollSpeed 278 03B5 same_blk_time DS 8 279 ;------------------------ 280 03BD top DS 2 ;top score 281 03BF total DS 2 282 03C1 point DS 2 283 ;------------------------ 284 03C3 curmovflg DS 1 285 ;=0:NotMoved 286 ;>=1:Moved 287 ;------------------------ 288 03C4 blk_0_no DS 8 289 ;UsedInInit 290 ;------------------------ 291 03CC blk_no DS 1 ;=x*y 292 ;------------------------ 293 03CD old_blk_x_no DS 1 294 03CE old_blk_y_no DS 1 295 ;------------------------ 296 03CF blk_x_no DS 1 297 03D0 blk_y_no DS 1 298 ;=FFH:OutOfBlockRange 299 03D1 blk_x_num DS 1 300 03D2 blk_y_num DS 1 301 03D3 blk_buff DS 256 302 ;------------------------ 303 ;D0D1D2D3=0000B Backgnd(or:FalenDownOK!) 304 ;D0D1D2D3=0001B-0011B:4SortsBlock 305 ;D0D1D2D3=1111B:BlockBeDestroy(ToBeFallDownNow!) 306 ;------------------------ 307 04D3 blk_refresh DS 1 308 ;=0:NeedNotRefresh 309 ;!=0:NeedRefresh 310 ;=============================================== 311 312 0010 FRMBUFLENGTH EQU 16 313 04D4 FRAME_BUF DS 64 314 ; 16*4:4SpritesAltogether! 315 ;+0:d0d1d2d3d4d5d6:ActionNo 316 ; d7:=0NotInited/=1Inited 317 ; =ffh:NoActionToShow! 318 ;+1:FrameNo 319 ;+2:FrameKeepTime(V_Blanking) 320 ;+3+4:X PosiLo & PosiHi 256个点进位 321 ;+5+6:Y PosiLo & PosiHi 256个点进位 322 ;VarsBelowOnlyUseBy"ShortRun"And"LongRun" 323 ;+7: X-Offset ;d7=0:x++ d7=1:x-- 324 ;+8: Y-Offset ;d7=0:y++ d7=1:y-- 325 ;+9: 本分镜持续时间V-Blanking number 326 ; =0:保持本分镜=other:持续时间 327 ;+A:(AddIn'FuZhou') WhichSpriteNo?(Of'SPRITE_INDEX') 328 ;+B:Last "FRAME_BUF" 329 ;------- 330 ;run_x DS 2 ;Virtual"TVx" 331 ;run_y DS 2 ;Virtual"TVy" 332 ;------------------------- Thu Nov 3 1994 12:59 Page 7 333 0514 ACTION_BUF0 DS 2 334 0516 ACTION_BUF1 DS 2 335 ;------------------------- 336 0518 PPU_BANK DS 6 337 ;------- CulculateVars --------------------------------------------- 338 051E cul_buffer ds 10 339 0528 hex_buffer ds 4 340 052C dec_buffer ds 10 341 0536 oper_buf0 ds 4 342 053A oper_buf1 ds 4 343 ;------------------------------------------------------------------- 344 053E minute0 DS 1 345 053F second0 DS 1 346 0540 minisec0 DS 1 347 0541 minute1 DS 1 348 0542 second1 DS 1 349 0543 minisec1 DS 1 350 0544 _1NMI DS 1 351 ;;----------------------- 352 0545 x_ofset ds 1 353 0546 y_ofset ds 1 354 ;------------------------- 355 0547 yaboyflg DS 1 ;=0:Not'Yaboy'Title 356 ;=1,3,5,7:Init'Yaboy'Title 357 ;=2,4,6,8:Running'Yaboy'Title 358 0548 yaboyno DS 1 ; 359 0549 yaboybuf DS 1 ; 360 ;------------------------- 361 054A color_area DS 64 362 ;================================================================ 363 ;MOVED FROM PAGE 0 364 058A x_rg DS 2 365 058C y_rg DS 2 366 058E counter DS 1 367 058F screenflag DS 1 368 0590 window DS 1 369 0591 Xposition DS 1 370 0592 Yposition DS 1 371 0593 asciidata DS 1 372 0594 length DS 1 373 0595 Xlength DS 1 374 0596 Ylength DS 1 375 0597 a_rg DS 1 376 0598 x_size DS 1 377 0599 y_size DS 1 378 059A souce_prog_old7 DS 1 379 059B souce_prog_id6 DS 1 380 059C souce_prog_id7 DS 1 381 059D NOENEMY DS 1 382 ;=0:CanDead 383 ;=1:NoEnemy 384 ;------------------------------------ 385 059E souce_data_id DS 1 386 059F dest_data_id DS 1 387 ;------------------- 388 05A0 x_count DS 1 389 05A1 y_count DS 1 Thu Nov 3 1994 12:59 Page 8 390 391 05A2 counter0 DS 1 392 05A3 counter1 DS 1 393 05A4 counter2 DS 1 394 05A5 counter3 DS 1 395 ;------------------- 396 05A6 buffer0 DS 1 397 05A7 buffer1 DS 1 398 05A8 buffer2 DS 1 399 05A9 buffer3 DS 1 400 05AA buffer4 DS 1 401 05AB buffer5 DS 1 402 05AC buffer6 DS 1 403 05AD buffer7 DS 1 404 05A6 buffer: EQU buffer0 ;DS 1 405 05AE NMIWAITFLG DS 1 406 05AF NMIWAITBUF DS 1 407 408 05B0 NMI_a_rg DS 1 409 05B1 NMI_length DS 1 410 05B2 x_posi DS 2 411 05B4 y_posi DS 2 412 05B6 A_buffer DS 1 413 05B7 X_buffer DS 1 414 05B8 Y_buffer DS 1 415 05B9 x_old DS 1 416 05BA y_old DS 1 417 05BB x_buff DS 1 418 05BC y_buff DS 1 419 ;--------------- 420 05BD NMI_BUF DS 1 421 ;--------------- 422 05BE sound_no ds 1 ;donotchange!!! 423 ;--------------- 424 05BF SPRFRS_FLG DS 1 425 ;=SPRITEFRASH_E:EnableSpriteDMA 426 ;=SPRITEFRASH_F:ForbidSpriteDMA 427 0088 SPRITEFRASH_E EQU 88H 428 00EE SPRITEFRASH_F EQU
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Games > Games by content > Games with revisional differences
Games > Games by content > Games with uncompiled source code
Games > Games by content > Games with unused music
Games > Games by developer > Games developed by Union Bond
Games > Games by platform
Games > Games by publisher > Games published by YanCheng
Games > Games by release date > Games released in 2000
Games > Unlicensed games > Unlicensed NES games
The Cutting Room Floor > Unimportant Awards > NES games