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.

Tetris (Game Boy)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(initial dump)
(→‎WRAM: Are these sprite0 / sprite1 / etc. ids of sprites to load ? I don't have the time to delve into this game right now, additional info would be welcome (or a link to a disasm project if there is one))
Line 2: Line 2:


==WRAM==
==WRAM==
  Address Description
  Address Size    Description
  ------- -----------
  ------- ----    -----------
  C000   oam_buffer
  C000           oam_buffer
  C0A0   score_bcd
  C0A0           score_bcd
  C0A3   ptrs_to_cleared_lines
  C0A3           ptrs_to_cleared_lines
  C0AC   singles
  C0AC           singles
  C0B1   doubles
  C0B1           doubles
  C0B6   triples
  C0B6           triples
  C0BB   tetrises
  C0BB           tetrises
  C0C0   fastdrop_bonus_sum
  C0C0           fastdrop_bonus_sum
  C0C2   drops
  C0C2           drops
  C0C5   modeb_score_sheet_item
  C0C5           modeb_score_sheet_item
  C0C6   vblank_do_score_sheet
  C0C6           vblank_do_score_sheet
  C0C7   slow_drop
  C0C7           slow_drop
  C0CE   fastdrop_bonus_added
  C0CE           fastdrop_bonus_added
  C200   sprite0
  C200           sprite0
  C210    sprite1
  C210           sprite1
  C220   sprite2
C213   1      Next Tetromino
  C230   sprite3
  C220           sprite2
  C240   sprite4
  C230           sprite3
  C250   sprite5
  C240           sprite4
  C260   sprite6
  C250           sprite5
  C270   sprite7
  C260           sprite6
  C280   sprite8
  C270           sprite7
  C290   sprite9
  C280           sprite8
  C2A0   spritea
  C290           sprite9
  C2B0   spriteb
  C2A0           spritea
  C2C0   spritec
  C2B0           spriteb
  C2D0   sprited
  C2C0           spritec
  C2E0   spritee
  C2D0           sprited
  C2F0   spritef
  C2E0           spritee
  C300   next_piece_table_mp_and_demo
  C2F0           spritef
  C400   garbage_from_opponent
  C300           next_piece_table_mp_and_demo
  C800   ingame_screen_vram
  C400           garbage_from_opponent
  C9A4   top3_name_offset
  C800           ingame_screen_vram
  D000   scores_b
  C9A4           top3_name_offset
  D654   scores_a
  D000           scores_b
  DF70   sound_mode_df70
  D654           scores_a
  DF71   current_sound
  DF70           sound_mode_df70
  DF7E   step_num_30_to_1_or_0
  DF71           current_sound
  DF7F   current_step
  DF7E           step_num_30_to_1_or_0
  DFBF   enable_au3
  DF7F           current_step
  DFE0   stored_jt_idx0_play_snd_maybe
  DFBF           enable_au3
  DFE1   stored_jt_idx1
  DFE0           stored_jt_idx0_play_snd_maybe
  DFE8   bg_music
  DFE1           stored_jt_idx1
  DFF5   sample_counter_maybe
  DFE8           bg_music
  DFF6   freq_lo
  DFF5           sample_counter_maybe
  DFF6           freq_lo
 
==HRAM==
==HRAM==
  Address Description
  Address Description

Revision as of 23:14, 31 January 2022

Chip tiny.png The following article is a RAM map for Tetris (Game Boy).

WRAM

Address Size    Description
------- ----    -----------
C000            oam_buffer
C0A0            score_bcd
C0A3            ptrs_to_cleared_lines
C0AC            singles
C0B1            doubles
C0B6            triples
C0BB            tetrises
C0C0            fastdrop_bonus_sum
C0C2            drops
C0C5            modeb_score_sheet_item
C0C6            vblank_do_score_sheet
C0C7            slow_drop
C0CE            fastdrop_bonus_added
C200            sprite0
C210            sprite1
C213    1       Next Tetromino
C220            sprite2
C230            sprite3
C240            sprite4
C250            sprite5
C260            sprite6
C270            sprite7
C280            sprite8
C290            sprite9
C2A0            spritea
C2B0            spriteb
C2C0            spritec
C2D0            sprited
C2E0            spritee
C2F0            spritef
C300            next_piece_table_mp_and_demo
C400            garbage_from_opponent
C800            ingame_screen_vram
C9A4            top3_name_offset
D000            scores_b
D654            scores_a
DF70            sound_mode_df70
DF71            current_sound
DF7E            step_num_30_to_1_or_0
DF7F            current_step
DFBF            enable_au3
DFE0            stored_jt_idx0_play_snd_maybe
DFE1            stored_jt_idx1
DFE8            bg_music
DFF5            sample_counter_maybe
DFF6            freq_lo

HRAM

Address Description
------- -----------
FF80    input
FF81    input_delta
FF85    vblank_handler_done
FF86    sprite_tmp_valid
FF87    sprite_tmp_y
FF88    sprite_tmp_x
FF89    sprite_tmp_id
FF8A    sprite_tmp_prio
FF8B    sprite_tmp_flip
FF8C    sprite_tmp_pal
FF8D    obj_attr_dest_hi
FF8E    obj_attr_dest_lo
FF8F    obj_attr_dest_num
FF90    sprite_coord_y
FF91    sprite_coord_x
FF92    sprite_final_x
FF93    sprite_final_y
FF94    copy_of_sprite_tmp_pal
FF95    sprite_hidden
FF96    sprite_addr_hi
FF97    sprite_addr_lo
FF98    drop_state
FF99    drop_delay_counter
FF9A    drop_delay
FF9B    tetrimino_collided
FF9C    line_clear_flash_ctr
FF9E    lines_bcd_lo
FF9F    lines_bcd_hi
FFA0    tmp_storage
FFA0    new_clears
FFA1    irq_save
FFA6    frame_countdown0
FFA7    frame_countdown1
FFA9    level
FFAA    lr_repeat_delay
FFAB    pause
FFAC    p1_height
FFAD    p2_height
FFAE    last_randrange_inc4_mod1c
FFAF    next_piece_addr_hi
FFB0    next_piece_addr_lo
FFB2    oam_y
FFB3    oam_x
FFB4    bg_tile_from_sprite_lo
FFB5    bg_tile_from_sprite_hi
FFB6    dma_routine
FFC0    game_mode
FFC1    song_selection
FFC2    mode_a_level
FFC3    mode_b_level
FFC4    mode_b_height
FFC5    multiplayer
FFC6    countdown_multiplier
FFC7    show_name_input
FFC8    top3_slot
FFC9    c9_hi_addr_unknown
FFCA    ca_lo_addr_idx_12f5
FFCB    serial_master_slave
FFCC    serial_irq_status
FFCD    rst28_serial_xfer
FFCE    serial_data_queued
FFCF    serial_data_vblank_delayed
FFD0    mp_menu_selection_peer
FFD2    ffd2_mp_related
FFD3    ffd3_mp_related
FFD4    ffd4_mp_related
FFD5    ffd5_mp_related
FFDC    garbage_lines_mp
FFE0    print_zeroes_bool
FFE0    print_enable
FFE1    game_state
FFE2    frame_ctr_unused
FFE3    vblank_state
FFE4    demo_number
FFE5    fastdrop_bonus
FFE6    level_playfield_offset
FFE8    new_highscore_bool
FFE9    demo_is_recording
FFEA    demo_input_repeat
FFEB    demo_input_ptr_hi
FFEC    demo_input_ptr_lo
FFED    demo_input
FFEE    input_nodemo
FFF0    mp_song_select_update
FFF3    rocket_sprite
FFF4    expert_mode
FFFB    score_mod_ptr_hi_maybe
FFFC    score_mod_ptr_lo_maybe