Add interrupt table

This commit is contained in:
YohannDR 2022-09-08 22:35:29 +02:00
parent 76c66f48a8
commit c5e3735092
4 changed files with 258 additions and 185 deletions

View File

@ -87,4 +87,4 @@ lbl_0800020C:
@ pool
lbl_08000234: .4byte 0x000024C0
lbl_08000238: .4byte 0x0808CA9C
lbl_08000238: .4byte sIntrTable

View File

@ -95,299 +95,299 @@
/* generic_data.c */
i16 sSineYValues[320];
u8 sRandomNumberTable[256];
extern i16 sSineYValues[320];
extern u8 sRandomNumberTable[256];
/* blob_0x808ca9c_0x8239463.c */
u8 blob_0x808ca9c_0x8239463[1755592];
extern u8 blob_0x808ca9c_0x8239463[1755592];
/* samus_visual_data.c */
u8 samus_visual_data[68][3];
extern u8 samus_visual_data[68][3];
/* blob_0x8239530_0x823a533.c */
u8 blob_0x8239530_0x823a533[4100];
extern u8 blob_0x8239530_0x823a533[4100];
/* samus_hitbox_draw_data.c */
u16 samus_draw_distance_offsets[4][4];
i16 samus_hitbox_data[4][3];
u8 samus_environmental_effects_oam_pointers[72];
u16 SamusPullingSelfUp_velocity[4];
extern u16 samus_draw_distance_offsets[4][4];
extern i16 samus_hitbox_data[4][3];
extern u8 samus_environmental_effects_oam_pointers[72];
extern u16 SamusPullingSelfUp_velocity[4];
/* blob_0x823a5bc_0x82b0cab.c */
u8 blob_0x823a5bc_0x82b0cab[485104];
extern u8 blob_0x823a5bc_0x82b0cab[485104];
/* sprite_stats.c */
u8 sRandomTable0_F[56];
i16 dessgeega_sidehopper_in_block_yVelocity[16];
i16 sSpritesFallingSpeed[40];
i16 worker_robot_sleeping_falling_speed[10];
u16 sPrimarySpriteStats[206][9];
u16 sSecondarySpriteStats[77][9];
extern u8 sRandomTable0_F[56];
extern i16 dessgeega_sidehopper_in_block_yVelocity[16];
extern i16 sSpritesFallingSpeed[40];
extern i16 worker_robot_sleeping_falling_speed[10];
extern u16 sPrimarySpriteStats[206][9];
extern u16 sSecondarySpriteStats[77][9];
/* blob_0x82b214e_0x82b2523.c */
u8 blob_0x82b214e_0x82b2523[982];
extern u8 blob_0x82b214e_0x82b2523[982];
/* sprite_debris_data.c */
i16 debris_bouncing_velocity[9];
i16 debris_11_velocity[9];
i16 debris_12_velocity[9];
i16 debris_13_velocity[9];
i16 debris_4_velocity[9];
i16 debris_5_velocity[9];
i16 debris_6_velocity[9];
i16 debris_7_velocity[9];
i16 debris_8_velocity[9];
extern i16 debris_bouncing_velocity[9];
extern i16 debris_11_velocity[9];
extern i16 debris_12_velocity[9];
extern i16 debris_13_velocity[9];
extern i16 debris_4_velocity[9];
extern i16 debris_5_velocity[9];
extern i16 debris_6_velocity[9];
extern i16 debris_7_velocity[9];
extern i16 debris_8_velocity[9];
/* blob_0x82cd604_0x82f7db3.c */
u8 blob_0x82cd604_0x82f7db3[174000];
extern u8 blob_0x82cd604_0x82f7db3[174000];
/* area_banner_data.c */
u16 area_banner_location_text_pal[16];
extern u16 area_banner_location_text_pal[16];
/* blob_0x82f7dd4_0x82fd107.c */
u8 blob_0x82f7dd4_0x82fd107[21300];
extern u8 blob_0x82f7dd4_0x82fd107[21300];
/* geron_data.c */
/* blob_0x82fd79c_0x830d55b.c */
u8 blob_0x82fd79c_0x830d55b[64960];
extern u8 blob_0x82fd79c_0x830d55b[64960];
/* blob_0x830df94_0x8312b97.c */
u8 blob_0x830df94_0x8312b97[19460];
extern u8 blob_0x830df94_0x8312b97[19460];
/* blob_0x8313c4c_0x8326ca7.c */
u8 blob_0x8313c4c_0x8326ca7[77915];
extern u8 blob_0x8313c4c_0x8326ca7[77915];
/* tumbling_missile_speed_data.c */
i16 tumbling_missile_speed[48];
extern i16 tumbling_missile_speed[48];
/* bomb_data.c */
u16 bomb_oam_normal1[4];
u16 bomb_oam_normal2[4];
u16 bomb_oam_normal3[4];
u16 bomb_oam_normal4[4];
u16 bomb_oam_fast1[4];
u16 bomb_oam_fast2[4];
u16 bomb_oam_fast3[4];
u16 bomb_oam_fast4[4];
u16 power_bomb_oam_normal1[4];
u16 power_bomb_oam_normal2[4];
u16 power_bomb_oam_normal3[4];
u16 power_bomb_oam_fast1[4];
u16 power_bomb_oam_fast2[4];
u16 power_bomb_oam_fast3[4];
struct FrameData bomb_oam_normal[5];
struct FrameData bomb_oam_fast[5];
struct FrameData power_bomb_oam_normal[4];
struct FrameData power_bomb_oam_fast[4];
extern u16 bomb_oam_normal1[4];
extern u16 bomb_oam_normal2[4];
extern u16 bomb_oam_normal3[4];
extern u16 bomb_oam_normal4[4];
extern u16 bomb_oam_fast1[4];
extern u16 bomb_oam_fast2[4];
extern u16 bomb_oam_fast3[4];
extern u16 bomb_oam_fast4[4];
extern u16 power_bomb_oam_normal1[4];
extern u16 power_bomb_oam_normal2[4];
extern u16 power_bomb_oam_normal3[4];
extern u16 power_bomb_oam_fast1[4];
extern u16 power_bomb_oam_fast2[4];
extern u16 power_bomb_oam_fast3[4];
extern struct FrameData bomb_oam_normal[5];
extern struct FrameData bomb_oam_fast[5];
extern struct FrameData power_bomb_oam_normal[4];
extern struct FrameData power_bomb_oam_fast[4];
/* missiles_data.c */
struct FrameData missile_oam_forward[3];
struct FrameData missile_oam_diagonal[3];
struct FrameData missile_oam_up_down[3];
struct FrameData super_missile_oam_forward[3];
struct FrameData super_missile_oam_diagonal[3];
struct FrameData super_missile_oam_up_down[3];
struct FrameData missile_tumbling_oam[9];
struct FrameData super_missile_tumbling_oam[9];
struct FrameData particle_missile_trail_oam[8];
struct FrameData particle_super_missile_trail_oam[9];
extern struct FrameData missile_oam_forward[3];
extern struct FrameData missile_oam_diagonal[3];
extern struct FrameData missile_oam_up_down[3];
extern struct FrameData super_missile_oam_forward[3];
extern struct FrameData super_missile_oam_diagonal[3];
extern struct FrameData super_missile_oam_up_down[3];
extern struct FrameData missile_tumbling_oam[9];
extern struct FrameData super_missile_tumbling_oam[9];
extern struct FrameData particle_missile_trail_oam[8];
extern struct FrameData particle_super_missile_trail_oam[9];
/* beam_palette_data.c */
u16 beam_pal[96];
extern u16 beam_pal[96];
/* normal_beam_data.c */
struct FrameData normal_beam_oam_forward[3];
struct FrameData normal_beam_oam_diagonal[3];
struct FrameData normal_beam_oam_up_down[3];
struct FrameData normal_beam_oam_unused1[3];
struct FrameData normal_beam_oam_unused2[3];
struct FrameData normal_beam_oam_unused3[3];
struct FrameData charged_normal_beam_oam_forward[3];
struct FrameData charged_normal_beam_oam_diagonal[3];
struct FrameData charged_normal_beam_oam_up_down[3];
struct FrameData normal_beam_oam_unused4[5];
extern struct FrameData normal_beam_oam_forward[3];
extern struct FrameData normal_beam_oam_diagonal[3];
extern struct FrameData normal_beam_oam_up_down[3];
extern struct FrameData normal_beam_oam_unused1[3];
extern struct FrameData normal_beam_oam_unused2[3];
extern struct FrameData normal_beam_oam_unused3[3];
extern struct FrameData charged_normal_beam_oam_forward[3];
extern struct FrameData charged_normal_beam_oam_diagonal[3];
extern struct FrameData charged_normal_beam_oam_up_down[3];
extern struct FrameData normal_beam_oam_unused4[5];
/* long_beam_data.c */
struct FrameData long_beam_oam_forward[3];
struct FrameData long_beam_oam_diagonal[3];
struct FrameData long_beam_oam_up_down[3];
struct FrameData charged_long_beam_oam_forward[3];
struct FrameData charged_long_beam_oam_diagonal[3];
struct FrameData charged_long_beam_oam_up_down[3];
struct FrameData particle_charged_long_beam_trail_oam[5];
extern struct FrameData long_beam_oam_forward[3];
extern struct FrameData long_beam_oam_diagonal[3];
extern struct FrameData long_beam_oam_up_down[3];
extern struct FrameData charged_long_beam_oam_forward[3];
extern struct FrameData charged_long_beam_oam_diagonal[3];
extern struct FrameData charged_long_beam_oam_up_down[3];
extern struct FrameData particle_charged_long_beam_trail_oam[5];
/* ice_beam_data.c */
struct FrameData ice_beam_oam_forward[3];
struct FrameData ice_beam_oam_diagonal[3];
struct FrameData ice_beam_oam_up_down[3];
struct FrameData ice_beam_oam_unused1[3];
struct FrameData ice_beam_oam_unused2[3];
struct FrameData ice_beam_oam_unused3[3];
struct FrameData charged_ice_beam_oam_forward[3];
struct FrameData charged_ice_beam_oam_diagonal[3];
struct FrameData charged_ice_beam_oam_up_down[3];
struct FrameData particle_charged_ice_beam_trail_oam[5];
extern struct FrameData ice_beam_oam_forward[3];
extern struct FrameData ice_beam_oam_diagonal[3];
extern struct FrameData ice_beam_oam_up_down[3];
extern struct FrameData ice_beam_oam_unused1[3];
extern struct FrameData ice_beam_oam_unused2[3];
extern struct FrameData ice_beam_oam_unused3[3];
extern struct FrameData charged_ice_beam_oam_forward[3];
extern struct FrameData charged_ice_beam_oam_diagonal[3];
extern struct FrameData charged_ice_beam_oam_up_down[3];
extern struct FrameData particle_charged_ice_beam_trail_oam[5];
/* wave_beam_data.c */
struct FrameData wave_beam_oam_forward[8];
struct FrameData wave_beam_oam_diagonal[8];
struct FrameData wave_beam_oam_up_down[8];
struct FrameData wave_beam_oam_unused1[8];
struct FrameData wave_beam_oam_unused2[8];
struct FrameData wave_beam_oam_unused3[8];
struct FrameData charged_wave_beam_oam_forward[8];
struct FrameData charged_wave_beam_oam_diagonal[8];
struct FrameData charged_wave_beam_oam_up_down[8];
struct FrameData particle_charged_wave_beam_trail_oam[5];
extern struct FrameData wave_beam_oam_forward[8];
extern struct FrameData wave_beam_oam_diagonal[8];
extern struct FrameData wave_beam_oam_up_down[8];
extern struct FrameData wave_beam_oam_unused1[8];
extern struct FrameData wave_beam_oam_unused2[8];
extern struct FrameData wave_beam_oam_unused3[8];
extern struct FrameData charged_wave_beam_oam_forward[8];
extern struct FrameData charged_wave_beam_oam_diagonal[8];
extern struct FrameData charged_wave_beam_oam_up_down[8];
extern struct FrameData particle_charged_wave_beam_trail_oam[5];
/* plasma_beam_data.c */
struct FrameData plasma_beam_no_wave_oam_forward[3];
struct FrameData plasma_beam_no_wave_oam_diagonal[3];
struct FrameData plasma_beam_no_wave_oam_up_down[3];
struct FrameData plasma_beam_no_wave_oam_unused1[3];
struct FrameData plasma_beam_no_wave_oam_unused2[3];
struct FrameData plasma_beam_no_wave_oam_unused3[3];
struct FrameData charged_plasma_beam_no_wave_oam_forward[3];
struct FrameData charged_plasma_beam_no_wave_oam_diagonal[3];
struct FrameData charged_plasma_beam_no_wave_oam_up_down[3];
struct FrameData plasma_beam_wave_oam_forward[8];
struct FrameData plasma_beam_wave_oam_diagonal[8];
struct FrameData plasma_beam_wave_oam_up_down[8];
struct FrameData plasma_beam_wave_oam_unused1[6];
struct FrameData plasma_beam_wave_oam_unused2[6];
struct FrameData plasma_beam_wave_oam_unused3[6];
struct FrameData charged_plasma_beam_wave_oam_forward[8];
struct FrameData charged_plasma_beam_wave_oam_diagonal[8];
struct FrameData charged_plasma_beam_wave_oam_up_down[8];
struct FrameData particle_charged_plasma_beam_trail_oam[5];
struct FrameData particle_charged_full_beam_trail_oam[9];
extern struct FrameData plasma_beam_no_wave_oam_forward[3];
extern struct FrameData plasma_beam_no_wave_oam_diagonal[3];
extern struct FrameData plasma_beam_no_wave_oam_up_down[3];
extern struct FrameData plasma_beam_no_wave_oam_unused1[3];
extern struct FrameData plasma_beam_no_wave_oam_unused2[3];
extern struct FrameData plasma_beam_no_wave_oam_unused3[3];
extern struct FrameData charged_plasma_beam_no_wave_oam_forward[3];
extern struct FrameData charged_plasma_beam_no_wave_oam_diagonal[3];
extern struct FrameData charged_plasma_beam_no_wave_oam_up_down[3];
extern struct FrameData plasma_beam_wave_oam_forward[8];
extern struct FrameData plasma_beam_wave_oam_diagonal[8];
extern struct FrameData plasma_beam_wave_oam_up_down[8];
extern struct FrameData plasma_beam_wave_oam_unused1[6];
extern struct FrameData plasma_beam_wave_oam_unused2[6];
extern struct FrameData plasma_beam_wave_oam_unused3[6];
extern struct FrameData charged_plasma_beam_wave_oam_forward[8];
extern struct FrameData charged_plasma_beam_wave_oam_diagonal[8];
extern struct FrameData charged_plasma_beam_wave_oam_up_down[8];
extern struct FrameData particle_charged_plasma_beam_trail_oam[5];
extern struct FrameData particle_charged_full_beam_trail_oam[9];
/* pistol_data.c */
struct FrameData pistol_oam_forward[3];
struct FrameData pistol_oam_diagonal[3];
struct FrameData pistol_oam_up_down[3];
struct FrameData charged_pistol_oam_forward[3];
struct FrameData charged_pistol_oam_diagonal[3];
struct FrameData charged_pistol_oam_up_down[3];
struct FrameData particle_charged_pistol_trail_oam[5];
extern struct FrameData pistol_oam_forward[3];
extern struct FrameData pistol_oam_diagonal[3];
extern struct FrameData pistol_oam_up_down[3];
extern struct FrameData charged_pistol_oam_forward[3];
extern struct FrameData charged_pistol_oam_diagonal[3];
extern struct FrameData charged_pistol_oam_up_down[3];
extern struct FrameData particle_charged_pistol_trail_oam[5];
/* blob_0x832b9e8_0x832ba07.c */
u8 blob_0x832b9e8_0x832ba07[32];
extern u8 blob_0x832b9e8_0x832ba07[32];
/* common_gSpriteData.c */
u16 common_sprites_pal[96];
u8 common_sprites_gfx[14336];
extern u16 common_sprites_pal[96];
extern u8 common_sprites_gfx[14336];
/* hud_data.c */
/* blob_0x8331348_0x8339aa7.c */
u8 blob_0x8331348_0x8339aa7[34656];
extern u8 blob_0x8331348_0x8339aa7[34656];
/* particle_beam_data.c */
struct FrameData particle_shooting_beam_left_right_oam[5];
struct FrameData particle_shooting_beam_diagonally_up_oam[5];
struct FrameData particle_shooting_beam_diagonally_down_oam[5];
struct FrameData particle_shooting_beam_up_oam[5];
struct FrameData particle_shooting_beam_down_oam[5];
struct FrameData particle_bomb_oam[7];
struct FrameData particle_beam_trailing_oam[6];
struct FrameData particle_charging_beam_oam_begin[23];
struct FrameData particle_charging_beam_oam_charged[3];
extern struct FrameData particle_shooting_beam_left_right_oam[5];
extern struct FrameData particle_shooting_beam_diagonally_up_oam[5];
extern struct FrameData particle_shooting_beam_diagonally_down_oam[5];
extern struct FrameData particle_shooting_beam_up_oam[5];
extern struct FrameData particle_shooting_beam_down_oam[5];
extern struct FrameData particle_bomb_oam[7];
extern struct FrameData particle_beam_trailing_oam[6];
extern struct FrameData particle_charging_beam_oam_begin[23];
extern struct FrameData particle_charging_beam_oam_charged[3];
/* particle_misc_data.c */
struct FrameData particle_hitting_something_with_base_beam_oam[5];
struct FrameData particle_hitting_something_with_long_beam_oam[5];
struct FrameData particle_hitting_something_with_ice_beam_oam[6];
struct FrameData particle_hitting_something_with_wave_beam_full_beam_no_plasma_oam[7];
struct FrameData particle_hitting_something_with_plasma_beam_full_beam_oam[8];
struct FrameData particle_hitting_something_invincible_oam[6];
struct FrameData particle_hitting_something_with_missile_oam[8];
struct FrameData particle_hitting_something_with_super_missile_oam[8];
struct FrameData particle_sprite_explosion_huge_oam[14];
struct FrameData particle_small_dust_oam[7];
struct FrameData particle_medium_dust_oam[10];
struct FrameData particle_two_medium_dust_oam[11];
struct FrameData particle_sprite_explosion_small_oam[12];
struct FrameData particle_sprite_explosion_medium_oam[18];
struct FrameData particle_sprite_explosion_big_oam[18];
struct FrameData particle_sprite_explosion_single_then_big_oam[17];
struct FrameData particle_screw_attack_destroyed_oam[9];
struct FrameData particle_shinespark_destroyed_oam[11];
struct FrameData particle_sudo_screw_destroyed_oam[9];
struct FrameData particle_speedbooster_destroyed_oam[9];
struct FrameData particle_freezing_sprite_with_ice_oam[17];
struct FrameData particle_freezing_sprite_with_charged_ice_oam[16];
struct FrameData particle_main_boss_death_oam[18];
struct FrameData WaterDrop_oam[8];
struct FrameData WaterDrop_oam_falling[2];
struct FrameData WaterDrop_oam_splashing[6];
struct FrameData sprite_debris_oam[5];
struct FrameData sprite_debris_oam_unused[7];
extern struct FrameData particle_hitting_something_with_base_beam_oam[5];
extern struct FrameData particle_hitting_something_with_long_beam_oam[5];
extern struct FrameData particle_hitting_something_with_ice_beam_oam[6];
extern struct FrameData particle_hitting_something_with_wave_beam_full_beam_no_plasma_oam[7];
extern struct FrameData particle_hitting_something_with_plasma_beam_full_beam_oam[8];
extern struct FrameData particle_hitting_something_invincible_oam[6];
extern struct FrameData particle_hitting_something_with_missile_oam[8];
extern struct FrameData particle_hitting_something_with_super_missile_oam[8];
extern struct FrameData particle_sprite_explosion_huge_oam[14];
extern struct FrameData particle_small_dust_oam[7];
extern struct FrameData particle_medium_dust_oam[10];
extern struct FrameData particle_two_medium_dust_oam[11];
extern struct FrameData particle_sprite_explosion_small_oam[12];
extern struct FrameData particle_sprite_explosion_medium_oam[18];
extern struct FrameData particle_sprite_explosion_big_oam[18];
extern struct FrameData particle_sprite_explosion_single_then_big_oam[17];
extern struct FrameData particle_screw_attack_destroyed_oam[9];
extern struct FrameData particle_shinespark_destroyed_oam[11];
extern struct FrameData particle_sudo_screw_destroyed_oam[9];
extern struct FrameData particle_speedbooster_destroyed_oam[9];
extern struct FrameData particle_freezing_sprite_with_ice_oam[17];
extern struct FrameData particle_freezing_sprite_with_charged_ice_oam[16];
extern struct FrameData particle_main_boss_death_oam[18];
extern struct FrameData WaterDrop_oam[8];
extern struct FrameData WaterDrop_oam_falling[2];
extern struct FrameData WaterDrop_oam_splashing[6];
extern struct FrameData sprite_debris_oam[5];
extern struct FrameData sprite_debris_oam_unused[7];
/* blob_0x833bd34_0x833cbdf.c */
u8 blob_0x833bd34_0x833cbdf[3756];
extern u8 blob_0x833bd34_0x833cbdf[3756];
/* particle_splash_data.c */
struct FrameData particle_sprite_splash_water_big_oam[10];
struct FrameData particle_sprite_splash_water_huge_oam[10];
struct FrameData particle_sprite_splash_water_small_oam[7];
struct FrameData particle_sprite_splash_lava_big_oam[10];
struct FrameData particle_sprite_splash_lava_huge_oam[10];
struct FrameData particle_sprite_splash_lava_small_oam[7];
struct FrameData particle_sprite_splash_acid_big_oam[10];
struct FrameData particle_sprite_splash_acid_huge_oam[10];
struct FrameData particle_sprite_splash_acid_small_oam[7];
extern struct FrameData particle_sprite_splash_water_big_oam[10];
extern struct FrameData particle_sprite_splash_water_huge_oam[10];
extern struct FrameData particle_sprite_splash_water_small_oam[7];
extern struct FrameData particle_sprite_splash_lava_big_oam[10];
extern struct FrameData particle_sprite_splash_lava_huge_oam[10];
extern struct FrameData particle_sprite_splash_lava_small_oam[7];
extern struct FrameData particle_sprite_splash_acid_big_oam[10];
extern struct FrameData particle_sprite_splash_acid_huge_oam[10];
extern struct FrameData particle_sprite_splash_acid_small_oam[7];
/* blob_0x833d75c_0x8345cc8.c */
u8 blob_0x83d75c_0x8345cc8[34156];
extern u8 blob_0x83d75c_0x8345cc8[34156];
/* bldalpha_data.c */
u16 bldalpha_values_for_clipdata[11];
extern u16 bldalpha_values_for_clipdata[11];
/* blob_0x8345cde_0x875e6a7.c */
u8 blob_0x8345cde_0x875e6a7[4295113];
extern u8 blob_0x8345cde_0x875e6a7[4295113];
/* samus_pointers_data.c */
SamusFunc_T samus_pose_functions_pointers[67];
SamusFunc_T samus_pose_gfx_functions_pointers[67];
extern SamusFunc_T samus_pose_functions_pointers[67];
extern SamusFunc_T samus_pose_gfx_functions_pointers[67];
/* primary_sprite_pointers.c */
@ -395,7 +395,7 @@ Func_T sPrimarySpritesAIPointers[206];
/* blob_0x875ebf8_0x875f1e7.c */
u8 blob_0x875ebf8_0x875f1e7[1520];
extern u8 blob_0x875ebf8_0x875f1e7[1520];
/* secondary_sprites_pointers.c */
@ -403,7 +403,7 @@ Func_T sSecondarySpritesAIPointers[77];
/* blob_0x875f31c_0x875f973.c */
u8 blob_0x875f31c_0x875f973[16234];
extern u8 blob_0x875f31c_0x875f973[16234];
/* projectile_pointers.c */

View File

@ -6,7 +6,78 @@
#include "syscalls.h"
#include "update_input.h"
// Temp place
static const i16 sSineYValues[320] = {
0, 6, 12, 18, 25, 31, 37, 43, 49, 56, 62, 68, 74, 80,
86, 92, 97, 103, 109, 115, 120, 126, 131, 136, 142,
147, 152, 157, 162, 167, 171, 176, 181, 185, 189, 193,
197, 201, 205, 209, 212, 216, 219, 222, 225, 228, 231,
234, 236, 238, 241, 243, 244, 246, 248, 249, 251, 252,
253, 254, 254, 255, 255, 255, 256, 255, 255, 255, 254,
254, 253, 252, 251, 249, 248, 246, 244, 243, 241, 238,
236, 234, 231, 228, 225, 222, 219, 216, 212, 209, 205,
201, 197, 193, 189, 185, 181, 176, 171, 167, 162, 157,
152, 147, 142, 136, 131, 126, 120, 115, 109, 103, 97,
92, 86, 80, 74, 68, 62, 56, 49, 43, 37, 31, 25, 18, 12,
6, 0, -6, -12, -18, -25, -31, -37, -43, -49, -56, -62,
-68, -74, -80, -86, -92, -97, -103, -109, -115, -120,
-126, -131, -136, -142, -147, -152, -157, -162, -167,
-171, -176, -181, -185, -189, -193, -197, -201, -205,
-209, -212, -216, -219, -222, -225, -228, -231, -234,
-236, -238, -241, -243, -244, -246, -248, -249, -251,
-252, -253, -254, -254, -255, -255, -255, -256, -255,
-255, -255, -254, -254, -253, -252, -251, -249, -248,
-246, -244, -243, -241, -238, -236, -234, -231, -228,
-225, -222, -219, -216, -212, -209, -205, -201, -197,
-193, -189, -185, -181, -176, -171, -167, -162, -157,
-152, -147, -142, -136, -131, -126, -120, -115, -109,
-103, -97, -92, -86, -80, -74, -68, -62, -56, -49, -43,
-37, -31, -25, -18, -12, -6, 0, 6, 12, 18, 25, 31, 37,
43, 49, 56, 62, 68, 74, 80, 86, 92, 97, 103, 109, 115,
120, 126, 131, 136, 142, 147, 152, 157, 162, 167, 171,
176, 181, 185, 189, 193, 197, 201, 205, 209, 212, 216,
219, 222, 225, 228, 231, 234, 236, 238, 241, 243, 244,
246, 248, 249, 251, 252, 253, 254, 254, 255, 255, 255
};
static const u8 sRandomNumberTable[251] = {
53, 11, 235, 164, 249, 33, 138, 195, 58, 150, 167, 169,
196, 154, 26, 233, 1, 50, 31, 15, 10, 230, 54, 229, 232,
182, 200, 89, 170, 209, 27, 143, 39, 146, 91, 67, 204,
158, 240, 191, 34, 110, 156, 185, 250, 211, 221, 92, 181,
129, 114, 101, 35, 141, 145, 121, 238, 68, 197, 118, 107,
198, 74, 16, 216, 93, 144, 190, 188, 32, 171, 239, 173, 139,
134, 72, 44, 111, 37, 28, 123, 251, 199, 160, 254, 253, 147,
157, 96, 109, 115, 59, 105, 243, 217, 14, 4, 205, 38, 0, 202,
6, 83, 201, 75, 57, 172, 192, 86, 219, 102, 155, 189, 122,
212, 218, 3, 108, 247, 29, 120, 126, 165, 85, 152, 179, 80,
21, 73, 64, 2, 65, 79, 69, 13, 132, 99, 51, 207, 18, 41, 215,
226, 127, 255, 220, 128, 124, 184, 70, 17, 45, 30, 178, 242,
193, 90, 43, 241, 194, 187, 25, 48, 62, 20, 168, 214, 163,
119, 234, 246, 210, 252, 228, 224, 174, 159, 106, 61, 97, 63,
162, 137, 183, 42, 40, 236, 84, 12, 81, 95, 104, 112, 130,
56, 22, 23, 231, 206, 88, 227, 9, 113, 8, 208, 76, 177, 248,
135, 49, 222, 55, 142, 117, 203, 186, 149, 125, 133, 103, 161,
151, 245, 140, 19, 87, 213, 244, 98, 47, 77, 166, 225, 136,
94, 100, 36, 82, 46, 52, 5, 71, 176, 24, 66, 131, 148, 237,
116, 180, 78
};
const Func_T sIntrTable[13] = {
sub_08003380,
CallbackCallSerialCommunication,
CallbackCallTimer3,
CallbackCallVblank,
CallbackCallHBlank,
CallbackCallVCount,
Callback_Empty,
Callback_Empty,
Callback_Empty,
Callback_Empty,
Callback_Empty,
Callback_Empty,
Callback_Empty,
};
void agbmain(void)
{

View File

@ -13,6 +13,8 @@ extern Func_T gTimer3Callback;
// Functions
void sub_08003380(void); // DMA 2 interrupt code
void CallbackCallVblank(void);
void CallbackSetVBlank(Func_T callback);
void CallbackCallHBlank(void);