Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Tetris (Game Boy)/ROM map: Difference between revisions
Jump to navigation
Jump to search
(initial dump) |
m (Xkeeper moved page Tetris (Game Boy):ROM map to Tetris (Game Boy)/ROM map: normalize subpages and titles) |
(No difference)
|
Latest revision as of 02:42, 24 January 2024
The following article is a ROM map for Tetris (Game Boy).
Bank 0+1
Address Description ------- ----------- 0000 RST_00 0008 RST_08 0010 RST_10 0018 RST_18 0020 RST_20 0028 RST_28 0030 RST_30 0038 RST_38 0040 VBlankInterrupt 0048 LCDCInterrupt 0050 TimerOverflowInterrupt 0058 SerialTransferCompleteInterrupt 005B Jump_000_005b 0060 JoypadTransitionInterrupt 006B fcn_0000006b 0078 serial_state_00 0086 serial_state_00.title_screen 0094 serial_state_00.not_syncpoint_55 009C serial_state_00.set_clk 009F serial_state_01 00A4 serial_state_02 00BA serial_state_03 0100 entry0 0101 jmp_to_main 0104 HeaderLogo 0134 HeaderTitle 0144 HeaderNewLicenseeCode 0146 HeaderSGBFlag 0147 HeaderCartridgeType 0148 HeaderROMSize 0149 HeaderRAMSize 014A HeaderDestinationCode 014B HeaderOldLicenseeCode 014C HeaderMaskROMVersion 014D HeaderComplementCheck 014E HeaderGlobalChecksum 0150 main 0156 main.wait_vb_oam1 015D main.wait_vb_oam2 0166 hl_add_de_bcd_6digits 017E vblank_irq_handler 0199 vblank_irq_handler.no_serial 01FB vblank_irq_handler.skip_score_printing 020C clear_wram 0214 clear_wram.loop_bc 021B main2 0233 main2.wait_vblank 0260 main2.times_256 026B main2.times_4096 027A main2.times_8192 0286 main2.times_256_2 028F main2.times_128 029A main2.relocate_dma_routine 02C4 frame_synced_loop 02DB frame_synced_loop.loop_b 02E0 frame_synced_loop.no_counter_dec 02ED frame_synced_loop.wait_for_vblank_handler 02F8 next_state 0369 state_24_copyright_load 037E state_24_copyright_load.loop_to_c400 0393 state_25_copyright_wait 03A0 state_35_copyright_timeout 03A9 input_delta_nz_03a9 03AE state_06 03CE state_06.until_cc00 03E9 state_06.times_12 041F demo_prepare 045A demo_prepare.not_last_demo 0479 state_07_title_screen 0488 state_07_title_screen.wait_for_demo 04A2 state_07_title_screen.serial_xfer_not_finished 04CD state_07_title_screen.wait_serial 04D7 state_07_title_screen.start_2p 04D9 state_07_title_screen.exit 04E7 state_07_title_screen.set_expert_mode 04F0 state_07_title_screen.no_expert 04F3 state_07_title_screen.toggle_1p_2p 04F5 state_07_title_screen.apply_1p_2p 04FE state_07_title_screen.use_1p_sprite 0502 state_07_title_screen.select_2p 0507 state_07_title_screen.select_1p 0509 state_07_title_screen.set_1p 050C demo_check_end 052D demo_check_end.start_not_pressed 053A demo_check_end.if_last_demo 0542 demo_playback 0555 demo_playback.no_repeat 0571 demo_playback.repeat 0574 demo_playback.common 0583 demo_record 05AD demo_record.input_repeat 05B3 demo_restore_input 05C0 start_xfer 05C7 state_2a 05D1 state_2a.reentry 05F7 state_2b_mp_music_selection 0613 state_2b_mp_music_selection.master 0620 state_2b_mp_music_selection.menu_continue 0644 state_2b_mp_music_selection.slave 065D state_2b_mp_music_selection.schedule_data_out 0664 state_2b_mp_music_selection.to_state_16 066C state_2b_mp_music_selection.start_or_a_pressed 0670 start_xfer2 0677 state_16_start_mp 068F state_16_start_mp.while_b 0696 state_16_start_mp.reentry 06C8 state_16_start_mp.loop_b 0705 data_0705 0725 memcpy_hl_de_b 072C state_17_072c 0743 jr_000_0743 074A jr_000_074a 0755 jr_000_0755 075F start_not_pressed 076A jr_000_076a 076D Jump_000_076d 078A jr_000_078a 078E jr_000_078e 07A2 jr_000_07a2 07AA jr_000_07aa 07AC jr_000_07ac 07B4 jr_000_07b4 07BD jr_000_07bd 07D6 jr_000_07d6 07DB jr_000_07db 07E1 jr_000_07e1 07E8 jr_000_07e8 07EE jr_000_07ee 07F6 height_coords_player1 07F8 data_07f8 07FA data_07fa 07FC data_07fc 07FE data_07fe 0800 data_0800 0802 height_coords_player2 0804 data_0804 0806 data_0806 0808 data_0808 080A data_080a 080C data_080c 080E copy_coords_maybe 0825 state_18 0828 Jump_000_0828 08A4 jr_000_08a4 08C4 loaded_to_c080 08D4 data_08d4 08E4 state_19 08ED jr_000_08ed 08F2 jr_000_08f2 08FD jr_000_08fd 0903 jr_000_0903 0916 jr_000_0916 0918 jr_000_0918 0923 jr_000_0923 0925 jr_000_0925 093D jr_000_093d 0948 jr_000_0948 094A jr_000_094a 0964 jr_000_0964 096D jr_000_096d 0974 jr_000_0974 0985 jr_000_0985 0995 jr_000_0995 09A2 jr_000_09a2 09AA jr_000_09aa 09BB jr_000_09bb 09C6 Jump_000_09c6 09E4 jr_000_09e4 09F6 Jump_000_09f6 0A00 jr_000_0a00 0A06 jr_000_0a06 0A14 jr_000_0a14 0A24 jr_000_0a24 0A26 jr_000_0a26 0A2F jr_000_0a2f 0A3E jr_000_0a3e 0A4C jr_000_0a4c 0A5C jr_000_0a5c 0A65 jr_000_0a65 0A70 jr_000_0a70 0A7E jr_000_0a7e 0A8C fcn_00000a8c 0A93 jr_000_0a93 0A98 burn_cycles 0A9B burn_cycles.loop 0AA1 randomizer_mp 0AAA jr_000_0aaa 0AAD jr_000_0aad 0AAE jr_000_0aae 0ABB jr_000_0abb 0AC9 jr_000_0ac9 0AD2 state_1c 0AF1 jr_000_0af1 0B02 jr_000_0b02 0B0A jr_000_0b02.loop_18 0B1C jr_000_0b02.loop 0B21 jr_000_0b02.loop_10 0B2A jr_000_0b02.break 0B31 state_1a 0B73 jr_000_0b73 0B83 jr_000_0b83 0B94 jr_000_0b94 0B9B fcn_00000b9b 0BA5 jr_000_0ba5 0BA8 jr_000_0ba8 0BB5 jr_000_0bb5 0BC7 jr_000_0bc7 0BD6 jr_000_0bd6 0BF0 fcn_00000bf0 0C1C jr_000_0c1c 0C1E jr_000_0c1e 0C25 jr_000_0c25 0C27 jr_000_0c27 0C2E jr_000_0c2e 0C3A jr_000_0c3a 0C4D jr_000_0c4d 0C50 jr_000_0c50 0C60 jr_000_0c60 0C64 jr_000_0c64 0C7C jr_000_0c7c 0C82 jr_000_0c82 0C8C fcn_00000c8c 0C98 fcn_00000c8c.else 0CA2 fcn_00000c8c.if_end 0CAA fcn_00000c8c.loop_c1 0CB3 fcn_00000c8c.loop_c2 0CB5 fcn_00000c8c.loop_b1 0CCD fcn_00000c8c.loop_c3 0CD2 fcn_00000c8c.loop_b2 0CEB state_1b 0D03 jr_000_0d03 0D09 jr_000_0d09 0D13 jr_000_0d13 0D27 jr_000_0d27 0D32 state_1d 0D40 jr_000_0d40 0D4F jr_000_0d4f 0D65 jr_000_0d65 0D7E jr_000_0d7e 0D8B jr_000_0d8b 0D91 jr_000_0d91 0D99 state_20 0DAD jr_000_0dad 0DB6 jr_000_0db6 0DBD fcn_00000dbd 0DE5 jr_000_0de5 0E03 jr_000_0e03 0E0F jr_000_0e0f 0E13 jr_000_0e13 0E23 state_1e 0E31 jr_000_0e31 0E40 jr_000_0e40 0E56 jr_000_0e56 0E6F jr_000_0e6f 0E7C jr_000_0e7c 0E82 jr_000_0e82 0E8A state_21 0E9E jr_000_0e9e 0EA7 jr_000_0ea7 0EAE fcn_00000eae 0ECF jr_000_0ecf 0EF3 jr_000_0ef3 0F03 jr_000_0f03 0F07 jr_000_0f07 0F17 Call_000_0f17 0F33 jr_000_0f33 0F39 jr_000_0f39 0F3C data_0f3c 0F60 fcn_00000f60 0F69 jr_000_0f69 0F6F fcn_00000f6f 0FB9 jr_000_0fb9 0FC1 jr_000_0fc1 0FDB jr_000_0fdb 0FE0 jr_000_0fe0 0FEB jr_000_0feb 100F jr_000_100f 1029 jr_000_1029 102E jr_000_102e 1039 jr_000_1039 1052 jr_000_1052 1062 jr_000_1062 106A fcn_0000106a 1072 jr_000_1072 1085 fcn_00001085 10A3 jr_000_10a3 10AC jr_000_10ac 10B0 jr_000_10b0 10B2 jr_000_10b2 10B5 jr_000_10b5 10BB jr_000_10bb 10C2 jr_000_10c2 10C6 jr_000_10c6 10CA jr_000_10ca 10D1 jr_000_10d1 10D8 fcn_000010d8 10DA jr_000_10da 10E8 jr_000_10e8 10ED data_10ed 10F3 data_10f3 10FE data_10fe 1109 data_1109 1112 state_1f 113A jr_000_113a 113F fcn_0000113f 1158 jr_000_1158 115A jr_000_115a 1160 jr_000_1160 1167 state_26 11B2 fcn_000011b2 11E6 state_27 11FC state_28 1205 jr_000_1205 121C state_29 1225 jr_000_1225 1244 state_02 1277 jr_000_1277 127B state_03 129D jr_000_129d 12AD jr_000_12ad 12B3 state_2c 12F5 text_congrats_12f5 1305 state_2d 131B state_34_rocket 1324 state_2e 1351 state_2f_start_thrusters 1367 state_30 1370 jr_000_1370 137E state_31 13B1 jr_000_13b1 13B5 state_32 13CF jr_000_13cf 13DF jr_000_13df 13E5 state_33 13FA animate_rocket_thruster 140C jr_000_140c 141B data_141b 1422 data_1422 1429 data_1429 1430 data_1430 1437 fill_every_20th_HL_from_DE_B_times 1444 state_08 144F state_08.setup_gfx 147D state_08.if_mode_a 148C state_09 148D load_stored_u16_and_idx_to_de 1492 update_music_menu_sprite 14A8 a_type_menu_coord 14AA b_type_menu_coord 14AC c_type_menu_coord 14AE off_menu_coord 14B0 state_0f_menu_music 14C8 jr_000_14c8 14E0 jr_000_14e0 14E7 jr_000_14e7 14EB jr_000_14eb 14F3 jr_000_14f3 14FE jr_000_14fe 1509 jr_000_1509 1512 jr_000_1512 1517 store_music_selection 1521 jr_000_1521 1525 state_0e 154B jr_000_154b 1553 jr_000_1553 155E jr_000_155e 155F jr_000_155f 1563 jr_000_1563 1572 jr_000_1572 1577 jr_000_1577 157B state_10 15BA jr_000_15ba 15BC jr_000_15bc 15BF state_11_a_level_select 15F1 jr_000_15f1 15F6 jr_000_15f6 1603 jr_000_1603 1607 jr_000_1607 160D jr_000_160d 1615 menu_mode_a_level_coords 1617 data_1617 1619 data_1619 161B data_161b 161D data_161d 161F data_161f 1621 data_1621 1623 data_1623 1625 data_1625 1627 data_1627 1629 state_12 1670 jr_000_1670 1672 jr_000_1672 1675 jr_000_1675 167A state_13_mode_b_level 16AE jr_000_16ae 16B3 jr_000_16b3 16C0 jr_000_16c0 16C4 jr_000_16c4 16CA jr_000_16ca 16D2 mode_b_level_coords 16E6 jr_000_16e6 16EB state_14_mode_b_height 1715 button_down_1715 1717 jr_000_1717 1719 jr_000_1719 171D button_r_171d 1722 jr_000_1722 172F jr_000_172f 1733 button_l_1733 1739 button_u_1739 1741 mode_b_height_coords 174E copy_coords_prelude 1755 load_mp_height_sprite 1766 sprite_flash_10_frames 1776 load_C_sprites 1779 load_C_sprites.loop 178A clear_c000_a0 1790 jr_000_1790 1795 update_scores_a 17A0 jr_000_17a0 17A7 jr_000_17a7 17AF process_mode_b_params 17BA jr_000_17ba 17C1 jr_000_17c1 17C6 jr_000_17c6 17CD jr_000_17cd 17D5 copy_6_nibbles_to_byte_wo_prefix 17D7 jr_000_17d7 17E7 jr_000_17e7 17F1 jr_000_17f1 17F7 memcpy_de_hl_3_descending 17F9 memcpy_de_hl_B_descending 1800 insert_highscore_and_blit_top3 1808 jr_000_1808 180E jr_000_180e 1819 jr_000_1819 1822 jr_000_1822 1834 jr_000_1834 183C jr_000_183c 1841 jr_000_1841 1858 jr_000_1858 1862 jr_000_1862 1866 jr_000_1866 1880 jr_000_1880 188B jr_000_188b 18AA jr_000_18aa 18AD jr_000_18ad 18B6 jr_000_18b6 18CA copy_top3_to_vram 18D6 jr_000_18d6 18D7 jr_000_18d7 18D9 jr_000_18d9 18F7 jr_000_18f7 18FC fill_c9a4_with_60_3x0e_rowlen_2e 1906 jr_000_1906 1909 jr_000_1909 1913 state_15_highscore 191B jr_000_191b 1921 jr_000_1921 1941 jr_000_1941 1944 jr_000_1944 1968 jr_000_1968 197C jr_000_197c 197F jr_000_197f 1987 jr_000_1987 1992 jr_000_1992 1998 jr_000_1998 1999 jr_000_1999 19A0 jr_000_19a0 19A8 jr_000_19a8 19B0 jr_000_19b0 19BB jr_000_19bb 19C2 jr_000_19c2 19C5 jr_000_19c5 19CC jr_000_19cc 19E7 jr_000_19e7 19EE Jump_000_19ee 19FE wait_hblank_write_a_to_hl 19FF wait_hblank_write_b_to_hl 1A07 state_0a_start_game 1A3F jr_000_1a3f 1A71 jr_000_1a71 1A8F jr_000_1a8f 1A98 jr_000_1a98 1AA6 jr_000_1aa6 1AD6 jr_000_1ad6 1AE0 jr_000_1ae0 1AE8 update_level_speed 1AF9 jr_000_1af9 1AFA jr_000_1afa 1B06 level_drop_delays 1B1B fcn_00001b1b 1B23 jr_000_1b23 1B26 jr_000_1b26 1B28 jr_000_1b28 1B2F jr_000_1b2f 1B35 jr_000_1b35 1B40 data_1b40 1B68 draw_garbage_blocks 1B69 jr_000_1b69 1B6F do_1b6f 1B72 jr_000_1b72 1B74 jr_000_1b74 1B7F jr_000_1b7f 1B8B jr_000_1b8b 1B8D jr_000_1b8d 1BA0 jr_000_1ba0 1BA1 jr_000_1ba1 1BAD jr_000_1bad 1BC2 jr_000_1bc2 1BC8 jr_000_1bc8 1BCE state_00_game_running 1BF4 jr_000_1bf4 1C03 jr_000_1c03 1C0A jr_000_1c0a 1C0D handle_start_select 1C3F jr_000_1c3f 1C4D jr_000_1c4d 1C50 jr_000_1c50 1C5A jr_000_1c5a 1C6A jr_000_1c6a 1C88 fcn_00001c88 1CA1 jr_000_1ca1 1CAA jr_000_1caa 1CC1 jr_000_1cc1 1CC9 loc_00001cc9 1CCB fcn_00001ccb 1CD3 jr_000_1cd3 1CDD data_1cdd 1CE2 state_01 1D06 state_04 1D0F jr_000_1d0f 1D23 jr_000_1d23 1D26 state_05 1D62 state_05.loop_b 1D66 state_05.skip_for_lvl0 1D84 fcn_00001d84 1D8B fcn_00001d84.loop_b 1D93 fcn_00001d84.loop_b2 1DA2 fcn_00001d84.loop_b3 1DB1 fcn_00001d84.nibble_to_byte_even 1DB7 fcn_00001d84.nibble_to_byte_odd 1DC0 state_0b 1DCE state_22_mode_b_lines_min 1DFA jr_000_1dfa 1E0F jr_000_1e0f 1E18 jr_000_1e18 1E31 data_1e31 1E3B jr_000_1e3b 1E41 state_23 1E51 jr_000_1e51 1E6A jr_000_1e6a 1E86 jr_000_1e86 1E89 jr_000_1e89 1E8F jr_000_1e8f 1E95 jr_000_1e95 1ED7 score_sum_up_items 1F12 score_sum_up_items.sum_up 1F16 state_0c 1F1F state_0d 1F37 jr_000_1f37 1F6C jr_000_1f6c 1F6E jr_000_1f6e 1F71 jr_000_1f71 1F7D memcpy_hl_de_Crows_8cols_rowlen_20 1F80 jr_000_1f80 1F91 fcn_00001f91 1FC3 jr_000_1fc3 1FC9 jr_000_1fc9 1FD7 set_playfield_c8_to_a_vblank_action_02_blit_line17 1FDD set_playfield_to_a_maybe 1FE5 jr_000_1fe5 1FE8 jr_000_1fe8 1FF2 clear_2_lines_at_cbc2 1FFC jr_000_1ffc 1FFE jr_000_1ffe 2007 draw_next_piece 2024 jr_000_2024 2033 jr_000_2033 2041 randomizer 2043 jr_000_2043 2046 jr_000_2046 2047 jr_000_2047 2054 jr_000_2054 2062 jr_000_2062 2065 jr_000_2065 2071 jr_000_2071 2083 piece_down_after_timeout 209C move_down 20A4 jr_000_20a4 20B1 jr_000_20b1 20B5 jr_000_20b5 20C2 piece_down 2100 jr_000_2100 2103 jr_000_2103 2124 jr_000_2124 2126 transfer_fastdrop_bonus 2127 transfer_fastdrop_bonus.loop_c 212E transfer_fastdrop_bonus.break 213E drop2_clear_lines 2153 drop2_clear_lines.loop_b 2156 drop2_clear_lines.loop_c 216B drop2_clear_lines.next_line 219B drop2_clear_lines.mode_b 21AA drop2_clear_lines.common 21CF drop2_clear_lines.exit 21D8 drop2_clear_lines.pop_hl 21DB drop2_clear_lines.mode_b_lines_min 21E0 drop3_animate_line_clear 21F6 drop3_animate_line_clear.next_line 2206 drop3_animate_line_clear.not_sixth_iter 2208 drop3_animate_line_clear.loop_c 2211 drop3_animate_line_clear.loop 221F drop3_animate_line_clear.seventh_iter 222A drop3_animate_line_clear.exit 222E drop3_animate_line_clear.flash_odd 2238 drop3_animate_line_clear.loop_b 2248 drop3_animate_line_clear.no_lines_cleared 224D shift_lines_down 225A shift_lines_down.load_next_ptr 2265 shift_lines_down.next_line 2268 shift_lines_down.next_col 2287 shift_lines_down.loop_b 2293 reset_cleared_lines 2299 jr_000_2299 229E vblank_action_02_blit_line17 22AD vblank_action_03_blit_line16 22BC vblank_action_04_blit_line15 22CB fcn_000022cb 22DA fcn_000022da 22E9 fcn_000022e9 22F8 vblank_action_08_blit_line11_and_unknown 230F vblank_action_08_blit_line11_and_unknown.exit 2315 vblank_action_08_blit_line11_and_unknown.vblank_enabled 2323 fcn_00002323 2332 fcn_00002332 2341 fcn_00002341 2350 fcn_00002350 235F fcn_0000235f 236E fcn_0000236e 237D fcn_0000237d 238C vblank_action_10_blit_line3_next_level 239E vblank_action_11_print_score_to_pause 23B7 vblank_action_12_print_score_to_ingame 23CC vblank_action_13_blit_line0 23E9 vblank_action_13_blit_line0.jr_000_23e9 23FF vblank_action_13_blit_line0.mode_a 241E vblank_action_13_blit_line0.jr_000_241e 2428 vblank_action_13_blit_line0.jr_000_2428 242B vblank_action_13_blit_line0.exit 242F vblank_action_13_blit_line0.access_vram 243B print_score 244B level_advance 247E level_advance.loop 2494 level_advance.break 249D convert_byte_to_bcd 24A2 convert_byte_to_bcd.loop 24AA convert_byte_to_bcd.break 24AC memcpy_hl_de_10_incr_vaction 24AE memcpy_hl_de_10_incr_vaction.loop_b 24BB move_and_rotate 24DA jr_000_24da 24E0 jr_000_24e0 24EA jr_000_24ea 24EE validate_rotation 2509 jr_000_2509 2527 jr_000_2527 253A jr_000_253a 2549 jr_000_2549 254C jr_000_254c 255E jr_000_255e 2573 collision_detection 2578 collision_detection.loop 2596 jr_000_2596 259A jr_000_259a 25A1 drop1_sprite_to_bg 25AB drop1_sprite_to_bg.next_subsprite 25BD drop1_sprite_to_bg.wait_hblank 25CF drop1_sprite_to_bg.exit 25D9 score_sum_item 25F7 score_sum_item.upper_digit_is_zero 25FC score_sum_item.loop_b 2618 score_sum_item.loop_b2 2626 score_sum_item.print_THIS_STAGE_sum 2639 score_sum_item.hl_points_to_zero 263A Jump_000_263a 2651 reset_scores 2657 jr_000_2657 2660 jr_000_2660 2671 prepare_2_sprites_as_objs_at_c000 2673 prepare_a_sprite_as_objs_at_c000 2683 prepare_1_sprite_as_objs_at_c010 2696 prepare_1_sprite_as_objs_at_c020 26A9 memset_hl_8e_20_rowlen_20 26B0 jr_000_26b0 26B6 memcpy_hl_de_until_val_ff 26BE nop_irq_handler 26BF data_26bf 26C7 preview_initializer_26c7 26CF preload_2c00 26D5 data_26d5 26DB menu_mode_a_level_sprite_template 26E1 data_26e1 26E7 data_26e7 26ED data_26ed 26F3 data_26f3 26F9 data_26f9 26FF data_26ff 2705 data_2705 270B data_270b 2711 data_2711 2717 data_2717 271D data_271d 2723 data_2723 2729 data_2729 272F data_272f 2735 orchestra_sprites 273B data_273b 2741 data_2741 2747 data_2747 274D data_274d 2753 data_2753 2759 data_2759 275F data_275f 2765 data_2765 276B data_276b 2771 data_2771 2777 data_2777 277D data_277d 2783 data_2783 2789 data_2789 278F data_278f 2795 set_range_9800_9bff_to_2f 2798 set_for_400_upto_HL_to_2f 279B jr_000_279b 27A4 memcpy_de_hl_bc 27AD load_font 27C3 load_font_tiles 27CC jr_000_27cc 27D7 load_intro_tiles 27E4 load_tiles_BCbytes_from_HL 27EA serial_state_04 27EA state_36 27EB load_map_ingame_screen 27EE load_map_12rows_14cols_HL 27F0 load_map_Brows_14cols_HL 27F3 jr_000_27f3 2804 copy_lines_DE_HL_until_ff_sidefx 2807 jr_000_2807 281A jr_000_281a 2820 wait_vblank_stop_lcd 2828 jr_000_2828 2839 unknown_tiles_2839 2889 score_summary_bg 293E unknown_tiles_293e 2976 unknown_tiles_2976 29A6 read_input 29E3 sprite_coord_to_bg_addr 29F6 sprite_coord_to_bg_addr.loop_for_b 2A10 bg_addr_to_sprite_coord_unused 2A18 bg_addr_to_sprite_coord_unused.loop_b 2A36 print_decimal_len_6_chained 2A3A print_decimal_len_6 2A3C print_decimal_len_2xC 2A3F print_decimal_len_2xC.next_byte 2A50 print_decimal_len_2xC.write_upper_digit 2A66 print_decimal_len_2xC.write_lower_digit 2A6F print_decimal_len_2xC.upper_digit_nz 2A77 print_decimal_len_2xC.lower_digit_nz 2A7F dma_c000_reloc_to_ffb6 2A85 dma_c000_reloc_to_ffb6.loop 2A89 compute_oam_data 2A97 compute_oam_data.next_sprite_recursion 2AA9 compute_oam_data.subsprite_end_reached 2AAE compute_oam_data.sprite_hidden 2AB0 compute_oam_data.sprite_not_hidden 2AB5 compute_oam_data.loop2 2AD8 compute_oam_data.next_subsprite 2AF0 compute_oam_data.skip_subsprite_coord 2AF4 compute_oam_data.subsprite_not_fd_or_ff 2AF8 compute_oam_data.ordinary_subsprite 2B0B compute_oam_data.negative_y_offset 2B15 compute_oam_data.y_offsets_applied 2B2A compute_oam_data.negative_x_offset 2B34 compute_oam_data.x_offsets_applied 2B46 compute_oam_data.not_hidden 2B48 compute_oam_data.y_decided 2B64 sprite_lookup_table 2C20 Lblock_E 2C20 sprite_patterns 2C24 sprite_2c24 2C28 sprite_2c28 2C2C sprite_2c2c 2C30 Jblock_W 2C34 sprite_2c34 2C38 sprite_2c38 2C3C sprite_2c3c 2C40 Iblock_E 2C44 sprite_2c44 2C48 sprite_2c48 2C4C sprite_2c4c 2C50 Oblock_E 2C54 sprite_2c54 2C58 sprite_2c58 2C5C sprite_2c5c 2C60 Zblock_S 2C64 sprite_2c64 2C68 sprite_2c68 2C6C sprite_2c6c 2C70 Sblock_S 2C74 sprite_2c74 2C78 sprite_2c78 2C7C sprite_2c7c 2C80 Tblock_N 2C84 sprite_2c84 2C88 sprite_2c88 2C8C sprite_2c8c 2C90 sprite_2c90 2C94 sprite_2c94 2C98 sprite_2c98 2C9C sprite_2c9c 2CA0 sprite_2ca0 2CA4 sprite_2ca4 2CA8 sprite_2ca8 2CAC sprite_2cac 2CB0 sprite_2cb0 2CB4 sprite_2cb4 2CB8 sprite_2cb8 2CBC sprite_2cbc 2CC0 sprite_2cc0 2CC4 sprite_2cc4 2CC8 sprite_2cc8 2CCC sprite_2ccc 2CD0 sprite_2cd0 2CD4 sprite_2cd4 2CD8 sprite_2cd8 2CDC sprite_2cdc 2CE0 sprite_2ce0 2CE4 sprite_2ce4 2CE8 sprite_2ce8 2CEC sprite_2cec 2CF0 sprite_2cf0 2CF4 sprite_2cf4 2CF8 sprite_2cf8 2CFC sprite_2cfc 2D00 sprite_2d00 2D04 sprite_2d04 2D08 sprite_2d08 2D0C sprite_2d0c 2D10 sprite_2d10 2D14 sprite_2d14 2D18 sprite_2d18 2D1C sprite_2d1c 2D20 sprite_2d20 2D24 sprite_2d24 2D28 sprite_2d28 2D2C sprite_2d2c 2D30 sprite_2d30 2D34 sprite_2d34 2D38 sprite_2d38 2D3C sprite_2d3c 2D40 sprite_2d40 2D44 sprite_2d44 2D48 sprite_2d48 2D4C sprite_2d4c 2D50 sprite_2d50 2D54 sprite_2d54 2D58 tileset_Lblock_E 2D68 tileset_Lblock_N 2D7A tileset_Lblock_W 2D89 tileset_Lblock_S 2D9A tileset_Jblock_W 2DAC tileset_Jblock_S 2DBD tileset_Jblock_E 2DCB tileset_Jblock_N 2DDC tileset_Iblock_E 2DEB tileset_Iblock_N 2DFC tileset_Iblock_W 2E0B tileset_Iblock_S 2E1C tileset_Oblock_E 2E2E tileset_Oblock_N 2E40 tileset_Oblock_W 2E52 tileset_Oblock_S 2E64 tileset_Zblock_S 2E76 tileset_Zblock_E 2E86 tileset_Zblock_N 2E98 tileset_Zblock_W 2EA8 tileset_Sblock_S 2EB9 tileset_Sblock_E 2ECA tileset_Sblock_N 2EDB tileset_Sblock_W 2EEC tileset_Tblock_S 2EFA tileset_Tblock_E 2F0B tileset_Tblock_N 2F1C tileset_Tblock_W 2F2D tileset_2f2d 2F36 tileset_2f36 2F3F tileset_2f3f 2F48 tileset_2f48 2F51 tileset_2f51 2F55 tileset_2f55 2F59 tileset_2f59 2F5D tileset_2f5d 2F61 tileset_2f61 2F65 tileset_2f65 2F69 tileset_2f69 2F6D tileset_2f6d 2F71 tileset_2f71 2F75 tileset_2f75 2F79 tileset_2f79 2F84 tileset_2f84 2F8F tileset_2f8f 2FA3 tileset_2fa3 2FB8 tileset_2fb8 2FC1 tileset_2fc1 2FCA tileset_2fca 2FD1 tileset_2fd1 2FD8 tileset_2fd8 2FE3 tileset_2fe3 2FEE tileset_2fee 3003 tileset_3003 3019 tileset_3019 3022 tileset_3022 302B tileset_302b 3032 tileset_3032 3039 tileset_3039 3040 tileset_3040 3047 tileset_3047 304E tileset_304e 3055 tileset_3055 305C tileset_305c 3067 tileset_3067 306E tileset_306e 3075 tileset_3075 307C tileset_307c 3083 tileset_3083 308C tileset_308c 3095 tileset_3095 309E tileset_309e 30A7 tileset_30a7 30B0 tileset_30b0 30B9 tileset_30b9 30C0 tileset_30c0 30C7 sprite_30c7 30CB tileset_30cb 30EA sprite_30ea 30EE sprite_30ee 30F2 sprite_30f2 30F6 sprite_30f6 30FA sprite_30fa 30FE sprite_30fe 3102 sprite_3102 3106 sprite_3106 310A sprite_310a 310E sprite_310e 3112 sprite_3112 3116 tileset_3116 311C tileset_311c 3125 tileset_3125 312B tileset_312b 3131 tileset_3131 313A tileset_313a 3146 tileset_3146 315D tileset_315d 3164 tileset_3164 317C tileset_317c 318E tileset_318e 319D tileset_319d 31A3 tileset_31a3 31A9 coord_4by4 31C9 coord_1by8 31D9 coord_7by2 31F5 coord_2by2_topleft_6by4_below 322D coord_3by3 323F tiles_323f 3E8F type_a_game_map 3FF7 type_b_game_map_3ff7 415F font_tiles_1bpp 415F font_tiles_1bpp.image_1bpp 4297 misc_tiles 4297 misc_tiles.image 4A07 copyright_bg_map 4A07 copyright_bg_map.data 4B6F start_screen_bg_map.data 4B6F start_screen_bg_map 4CD7 type_select_bg_map 4CD7 type_select_bg_map.data 4E3F type_a_menu_bg_map 4E3F type_a_menu_bg_map.data 4FA7 type_b_menu_bg_map 510F data_510f 51C4 data_51c4 5214 maybe_mp_game_bg_map_5214 537C state_18_bg_map 5424 foobar1 54CC foobar2 54E4 foobar3 551C foobar4 55AC tiles_mario_luigi_rocket 62AC data_62ac 62B0 demo_inputs 6450 data_6450 6480 jumptable_6480 6482 data_6482 6484 data_6484 6486 data_6486 6488 data_6488 648A data_648a 648C data_648c 648E data_648e 6490 jumptable_6490 6492 data_6492 6494 data_6494 6496 data_6496 6498 data_6498 649A data_649a 649C data_649c 649E data_649e 64A0 jumptable_64a0 64A2 data_64a2 64A4 data_64a4 64A6 data_64a6 64A8 jumptable_64a8 64AA data_64aa 64AC data_64ac 64AE data_64ae 64B0 jumptable_64b0 64B2 data_64b2 64B4 data_64b4 64B6 data_64b6 64B8 data_64b8 64BA data_64ba 64BC data_64bc 64BE data_64be 64C0 data_64c0 64C2 data_64c2 64C4 data_64c4 64C6 data_64c6 64C8 data_64c8 64CA data_64ca 64CC data_64cc 64CE data_64ce 64D0 data_64d0 64D2 return 64D3 _snd_step 64E8 jr_001_64e8 64FA step_00 650F _snd_step_exit 6524 step_01_cont_with_30 6550 step_20_load_ch2_tone_exit 6553 jr_001_6553 6558 step_28_18_load_ch2_tone_exit 655D step_02_cont_with_0 6563 iterate_and_exit 657B ch2_tone_657b 657F ch2_tone_657f 6583 Call_001_6583 6589 Call_001_6589 658F Call_001_658f 6595 Call_001_6595 659B data_659b 65A0 data_65a0 65A5 data_65a5 65AA jt_6480_idx_0x00 65B2 jt_6480_idx_0x08 65C6 jt_6480_idx_0x01 65CE jt_6480_idx_0x0c 65D3 jr_001_65d3 65E4 jr_001_65e4 65E7 data_65e7 65EC data_65ec 65F1 jt_6480_idx_0x06 65F7 jt_6480_idx_0x0e 660E Jump_001_660e 6617 jr_001_6617 661D jr_001_661d 6623 data_6623 6628 jt_6480_idx_0x03 6640 data_6640 6645 data_6645 664A data_664a 664F data_664f 6654 jt_6480_idx_0x07 6660 jt_6480_idx_0x0f 6680 jr_001_6680 6685 jr_001_6685 668A jr_001_668a 668F jr_001_668f 6692 jr_memcpy_ff10_hl_5 6695 data_6695 669A data_669a 66A5 data_66a5 66AF jt_6480_idx_0x05 66C3 jt_6480_idx_0x0d 66E1 load_ch1_env_and_freq 66EC data_66ec 66F7 data_66f7 66FC jt_6480_idx_0x02 6714 jt_6480_idx_0x0a 6734 jt_6480_idx_0x04 6740 data_6740 6745 data_6745 6749 data_6749 674D data_674d 6751 data_6751 6755 nr43_data_6755 6779 nr42_data_6779 679D jt_6480_idx_0x12 67A5 jt_6480_idx_0x13 67AD jt_6480_idx_0x17 67D4 jt_6480_idx_0x10 67DC jt_6480_idx_0x11 67E4 jt_6480_idx_0x16 67E9 Jump_001_67e9 67FB ch3_wave 6800 play_ch3_data_6ed9 6817 freq_lo_tremble 682A jr_001_682a 6832 jr_001_6832 683C ch3_stuff 685C mode3_data_685c 685F data_685f 686B play_ch3_data_6ea9 6880 jr_001_6880 6883 jr_001_6883 6894 jr_001_6894 68A5 jr_001_68a5 68B6 ch3_changes_pitch_or_pattern_unknown 68D8 jr_001_68d8 68DC jr_001_68dc 68DE jr_001_68de 68E2 jr_001_68e2 6908 jr_001_6908 690D fcn_0000690d 6932 jr_001_6932 6936 Jump_001_6936 6956 load_mode1_HL 695D load_mode2_HL 6964 load_mode3_HL 696B load_mode4_HL 6970 memcpy_c_hl_b_pop_bc 6978 fn_lookup_for_Aminus1_store_A_incr_e 697C fn_lookup_for_Aminus1_incr_e 698B inc_or_reset_DE_if_DEplus1 6996 jr_001_6996 6998 load_waveram_hl_10 699B jr_001_699b 69A5 _snd_init 69C7 snd_reset 69DD call_stored_jt_idx_0_or_1_set7_df9f 69F0 jr_001_69f0 69FC jr_001_69fc 69FD run_dff8_or_dff9_if_set 6A10 jr_001_6a10 6A1C jr_001_6a1c 6A1D jr_001_6a1d 6A21 progress_music_maybe 6A3C load_data_from_6a3c 6A44 jr_001_6a44 6A4D jr_001_6a4d 6A65 fcn_00006a65 6A8F Jump_001_6a8f 6A9A jr_001_6a9a 6AA4 jr_001_6aa4 6AA5 jr_001_6aa5 6AA8 jr_001_6aa8 6AAC jr_001_6aac 6AB1 jr_001_6ab1 6ABE unknown_data_6abe 6B02 deref_word_hl_to_de 6B0D memcpy_de_hl_2 6B13 preload_stuff_from_64b0 6B64 jr_001_6b64 6B6A jr_001_6b6a 6B7D transfer_wave_patterns_DE 6B89 Jump_001_6b89 6BB3 jr_001_6bb3 6BB9 inc_HL 6BBF jr_001_6bbf 6BC5 fcn_00006bc5 6BCE double_deref_HL_to_B 6BD5 jr_001_6bd5 6BD8 Jump_001_6bd8 6BEF jr_001_6bef 6C04 jr_001_6c04 6C09 Jump_001_6c09 6C10 jr_001_6c10 6C24 jr_001_6c24 6C3B jr_001_6c3b 6C44 fcn_00006c44 6C52 loop_sets_df90_dfa0_etc 6C5C Jump_001_6c5c 6C5E Jump_001_6c5e 6C8B jr_001_6c8b 6CB7 jr_001_6cb7 6CBC Jump_001_6cbc 6CC4 jr_001_6cc4 6CD3 jr_001_6cd3 6CED jr_001_6cd3.noreset 6CF8 jr_001_6cf8 6CFC jr_001_6cfc 6D01 jr_001_6d01 6D0A jr_001_6d0a 6D0D jr_001_6d0d 6D16 jr_001_6d16 6D34 jr_001_6d34 6D39 Jump_001_6d39 6D4A jr_001_6d4a 6D57 jr_001_6d57 6D5E fcn_00006d5e 6D67 unknown_sound_mode_freq_low_6d67 6D89 jr_001_6d89 6D8B jr_001_6d8b 6DA1 jr_001_6da1 6DA6 jr_001_6da6 6DB2 jr_001_6db2 6DBF jr_001_6dbf 6DC1 jr_001_6dc1 6DC2 jr_001_6dc2 6E94 data_6e94 6EA9 wave_pattern_6ea9 6EA9 wave_pattern_6ea9.data 6EB9 wave_pattern_6eb9 6EC9 wave_pattern_6ec9 6ED9 wave_pattern_6ed9 6EE9 wave_pattern_6ee9 6EF9 ptr_from_64b0_tab_6ef9 6F05 ptr_from_64b0_tab_6f05 6F0E ptr_from_64b0_tab_6f0e 6F2B ptr_from_64b0_tab_6f2b 6F3F table_64b0_entry_0x00 6F4A table_64b0_entry_0x01 6F55 table_64b0_entry_0x02 6F60 table_64b0_entry_0x03 6F6B table_64b0_entry_0x04 6F76 table_64b0_entry_0x05 6F81 table_64b0_entry_0x06 6F8C table_64b0_entry_0x07 6F97 table_64b0_entry_0x08 6FA2 table_64b0_entry_0x09 6FAD table_64b0_entry_0x0a 6FB8 table_64b0_entry_0x0b 6FC3 table_64b0_entry_0x0c 6FCE table_64b0_entry_0x0d 6FD9 table_64b0_entry_0x0e 6FE4 table_64b0_entry_0x0f 6FEF table_64b0_entry_0x10 6FFA ptr_from_64b0_tab_6ffa 7016 data_from_6ffa_7016 7034 data_from_6ffa_7034 704D data_from_6ffa_704d 7093 data_from_6ffa_7093 7142 ptr_from_64b0_tab_7142 714C ptr_from_64b0_tab_714c 7156 ptr_from_64b0_tab_7156 7162 ptr_from_64b0_tab_7162 72B8 ptr_from_64b0_tab_72b8 72C6 ptr_from_64b0_tab_72c6 72D4 ptr_from_64b0_tab_72d4 730B data_730b 733F data_733f 7367 data_7367 73C9 data_73c9 7543 ptr_from_64b0_tab_7543 754B ptr_from_64b0_tab_754b 7551 ptr_from_64b0_tab_7551 758D ptr_from_64b0_tab_758d 7595 ptr_from_64b0_tab_7595 759B ptr_from_64b0_tab_759b 75FC ptr_from_64b0_tab_75fc 7600 ptr_from_64b0_tab_7600 7602 ptr_from_64b0_tab_7602 763B ptr_from_64b0_tab_763b 7641 ptr_from_64b0_tab_7641 7663 ptr_from_64b0_tab_7663 7675 fcn_00007675 7876 ptr_from_64b0_tab_7876 787E ptr_from_64b0_tab_787e 7886 ptr_from_64b0_tab_7886 7A00 ptr_from_64b0_tab_7a00 7A2A ptr_from_64b0_tab_7a2a 7A6F ptr_from_64b0_tab_7a6f 7A73 ptr_from_64b0_tab_7a73 7A75 ptr_from_64b0_tab_7a75 7ADF ptr_from_64b0_tab_7adf 7AE3 ptr_from_64b0_tab_7ae3 7AE7 ptr_from_64b0_tab_7ae7 7B65 ptr_from_64b0_tab_7b65 7B6B ptr_from_64b0_tab_7b6b 7B6F ptr_from_64b0_tab_7b6f 7B73 ptr_from_64b0_tab_7b73 7C28 ptr_from_64b0_tab_7c28 7C2A ptr_from_64b0_tab_7c2a 7C2C ptr_from_64b0_tab_7c2c 7C7C Call_001_7c7c 7D11 ptr_from_64b0_tab_7d11 7D21 ptr_from_64b0_tab_7d21 7E48 ptr_from_64b0_tab_7e48 7E4A ptr_from_64b0_tab_7e4a 7E4C ptr_from_64b0_tab_7e4c 7E9D ptr_from_64b0_tab_7e9d 7EA9 ptr_from_64b0_tab_7ea9 7EB5 ptr_from_64b0_tab_7eb5 7FF0 snd_step 7FF3 snd_init
Generate next Tetromino
ROM0:2062 21 00 C2 ld hl,C200 ROM0:2065 36 00 ld (hl),00 ;wC200 = 0x00 ROM0:2067 2C inc l ROM0:2068 36 18 ld (hl),18 ;wC201 = 0x18 ROM0:206A 2C inc l ROM0:206B 36 3F ld (hl),3F ;wC202 = 0x3F ROM0:206D 2C inc l ROM0:206E FA 13 C2 ld a,(C213) ;load next Tetromino in accumulator ROM0:2071 77 ld (hl),a ;wC203 = Tetromino ROM0:2072 E6 FC and a,FC ;Tetromino & 252 ROM0:2074 4F ld c,a ROM0:2075 F0 E4 ld a,(ff00+E4) ROM0:2077 A7 and a ROM0:2078 20 05 jr nz,207F ;if(hFFE4 ≠ 0), jump to 0:207F ROM0:207A F0 C5 ld a,(ff00+C5) ROM0:207C A7 and a ROM0:207D 28 1D jr z,209C ROM0:207F 26 C3 ld h,C3 ROM0:2081 F0 B0 ld a,(ff00+B0) ROM0:2083 6F ld l,a ;hl = 0xC3xx ROM0:2084 5E ld e,(hl) ;e = (hl) ROM0:2085 23 inc hl ;hl++ ROM0:2086 7C ld a,h ROM0:2087 FE C4 cp a,C4 ROM0:2089 20 03 jr nz,208E ;if(h ≠ 0xC4), jump to 0:208E ROM0:208B 21 00 C3 ld hl,C300 ;hl = C300 ROM0:208E 7D ld a,l ROM0:208F E0 B0 ld (ff00+B0),a ;hFFB0 = l ROM0:2091 F0 D3 ld a,(ff00+D3) ROM0:2093 A7 and a ROM0:2094 28 2A jr z,20C0 ROM0:2096 F6 80 or a,80 ROM0:2098 E0 D3 ld (ff00+D3),a ROM0:209A 18 24 jr 20C0 ROM0:209C 26 03 ld h,03 ROM0:209E F0 04 ld a,(ff00+04) ROM0:20A0 47 ld b,a ROM0:20A1 AF xor a ROM0:20A2 05 dec b ROM0:20A3 28 0A jr z,20AF ROM0:20A5 3C inc a ROM0:20A6 3C inc a ROM0:20A7 3C inc a ROM0:20A8 3C inc a ROM0:20A9 FE 1C cp a,1C ROM0:20AB 28 F4 jr z,20A1 ROM0:20AD 18 F3 jr 20A2 ROM0:20AF 57 ld d,a ROM0:20B0 F0 AE ld a,(ff00+AE) ROM0:20B2 5F ld e,a ROM0:20B3 25 dec h ROM0:20B4 28 07 jr z,20BD ROM0:20B6 B2 or d ROM0:20B7 B1 or c ROM0:20B8 E6 FC and a,FC ROM0:20BA B9 cp c ROM0:20BB 28 E1 jr z,209E ROM0:20BD 7A ld a,d ROM0:20BE E0 AE ld (ff00+AE),a ROM0:20C0 7B ld a,e ROM0:20C1 EA 13 C2 ld (C213),a ;write next Tetromino to wC213 ROM0:20C4 CD EA 26 call 26EA ROM0:20C7 F0 9A ld a,(ff00+9A) ROM0:20C9 E0 99 ld (ff00+99),a ROM0:20CB C9 ret
Internal Data for Tetris (Game Boy)
| |
---|---|