Mir ist noch was aufgefallen.
Wenn ich ein ROM mit einem falschen Checksum repariere, aber die Romgröße nicht zum Header passt, bleibt die Checksum dennoch fehlerhaft.
Beispiel: Final Fantasy Ultima (FF II Hack).
Die ROM ist 2MB ($0B) aber im Header ($7FD7) steht nur 1MB ($0A).
Gibt auch andere ROMs, bei denen das so ist.
Wäre also sinnvoll, die Größe des ROMs mit der Angabe im Header bei $xFD7 zu vergleichen.
$07 = 128KB
$08 = 256KB
$09 = 512KB
$0A = 1MB
$0B = 2MB
$0C = 4MB
$0D = 8MB
$0E = 16MB
$0F = 32MB
Wobei die letzten beiden offiziell gar nicht existieren.
Ist eine ROM also z.B. 1.5MB muss der nächstgrößte Wert genommen werden, also $0B für 2MB.
Bei 512KB dann $0A für 1MB usw.
Hoffe es ist alles verständlich.