actually there are seven
You have to beat the elite 4 and get the National Dex.
beet the elite 4 talk to celio and then you can go to all the islands
On Seafoam Islands.
There are 7 non-event islands.
i think there are only 3 islands Acually there are 7 islands
On Cinnabar Islands.
at seafoam islands
Seafoam Islands
first you bet the elite 4 and then go to ciolol and then you need to find the gems
indigo plateau (not counting the islands) 4-7 island (including the islands and u get 2 pick ur last island)
If you mean the 9 islands its in Firered or Leafgreen.
After getting the national pokedex get the ruby and give it to celio. he will give you the rainbow pass for islands 4-7.