If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Tetris (Game Boy)/ROM map
Jump to navigation
Jump to search
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)
| |
---|---|