If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!
Pokémon 4 in 1
| Pokémon 4 in 1 |
|---|
|
Also known as: Piká 4 in 1 (Box)
|
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
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 > NES games
Games > Games by publisher > Games published by YanCheng
Games > Games by release date > Games released in 2000
Games > Unlicensed games > Unlicensed NES games



