Den "externen" Header sollte man wie gesagt ignorieren (prüfen ob Größe & 0x200 == 0 oder eben nicht). Bei 99.999% aller ROMs funktioniert das auch; nur inoffizielle ROMs, die nicht auf Speicherbank-Größe aufgefüllt wurden, könnten im Extremfall eine Fehlerkennung verursachen. Das braucht man aber eigentlich nicht zu berücksichtigen.
Das Format des internen Headers ist hier dokumentiert. Ein Tool zum Auslesen der Daten ist in vSNES integriert (Extra-Tab im ROM-Loader). Allerdings ist zu beachten, dass der "license code" und/oder der "maker code" als Base36 (0..9A..Z) encodiert sind, deswegen auch die Lücken in der Liste.
Es gibt da auch noch den "ExHiROM" header, der sich noch viel weiter hinten im ROM befindet (iirc normale Position + 128*Speicherbankgröße). Für die SNES-CPU spielt das alles keine Rolle, da liegt der Header immer an 0xFFB0 (iirc), kommt halt drauf an wie die Cartridge verdrahtet ist.