Este código es de pokeemerald pero en pokefirered no debería ser muy diferente ya que lo único que hay que hacer es cambiar el callback desde el cual se comienza el proceso de guardado. Lo podemos encontrar en start_menu.c, en la función InitSave.
En el interior de la función vemos el callback...