.DEFINE reg_joypad ($00) .DEFINE reg_lcd_controller ($40) .DEFINE reg_lcd_status ($41) .DEFINE reg_viewport_y ($42) .DEFINE reg_viewport_x ($43) .DEFINE reg_bg_palette ($47) .DEFINE reg_obj0_palette ($48) .DEFINE reg_interrupt_enable ($ff) .DEFINE VRAM_start $8000 .DEFINE OAM_start $FE00 .DEFINE dungeon_generation_step $20 .DEFINE intial_duplication_probablity $01 .DEFINE mem_bunny_x_px ($c000) .DEFINE mem_bunny_y_px ($c001) .DEFINE mem_button_direction ($c002) .DEFINE mem_moving_sprite_direction ($c003) .DEFINE mem_moving_animation_step ($c004) .DEFINE mem_sprite_direction ($c005) .DEFINE mem_bunny_x ($c006) .DEFINE mem_bunny_y ($c007) .DEFINE mem_viewport_x ($c008) .DEFINE mem_viewport_y ($c009) .DEFINE mem_rng_state_1 ($c00a) ; 2 bytes .DEFINE mem_rng_state_2 ($c00b) ; 2 bytes .DEFINE mem_map_loading_flags ($c00c) ; bit 0: if the object should be reloaded (scroll or first load) ; bit 1: if the interactions should be checked (at the end of a movement) .DEFINE next_free_head_higher_bytes $c7 .DEFINE mem_next_free_head_lower_bytes ($c6ff) .DEFINE mem_dungeon_generation_heads $c700 ; Takes the memory from c700 to c717 ; struct head { ; direction: u8 (really u3 but padding), ; x: u8, ; y: u8, ; } .DEFINE mem_dungeon_map $c800 ; Takes the memory from c800 to c87f .DEFINE mem_room_list $c880 ; Takes the memory from c880 to c89f .DEFINE mem_number_of_rooms ($c8a0) ; struct room { ; x: u8, ; sizex: u8, ; y: u8, ; sizey: u8, ; } .DEFINE mem_object_list $c900 ; Takes the memory from c900 to c97f ; struct objects { ; sprite: u8, ; x: u8, ; y: u8, ; interaction: u16 ; _padding: u24 ; } .DEFINE mem_entites_list $c9800 ; Until IDK WHERE ; struct entity { ; sprite: u8, ; x: u8, ; y: u8, ; direction: u3, ; } .DEFINE enum_direction_left $01 .DEFINE enum_direction_right $02 .DEFINE enum_direction_up $03 .DEFINE enum_direction_down $04