The lower nibble that identifies the size for both carts is 0 which indicates size 256KB.

Is there a need to add a check for larger ROMs when size = 0?

the roms i dumped that were undersized would not work at all on an emulator despite HxD saying they were identical but the incorrect size and it wasnt until i forced the size to the correct amount (as mentioned above) the emulator actually ran it perfectly.

so if possible yes when set to default (0) please add a check so it can detect larger roms sizes, there is only two rom sizes above 256kb and thats 512kb (ending 7FFF0) and 1024kb (ending FFFF0)

i see 0 as the default option and would hope the retrode would do what it can to make sure my roms for any console are the correct size and the option to force a size should only be used if the default setting fails but bare in mind for most people there not gonna know its failing because the rom is undersized so there can be confusion there.

I checked the SMS/GG code to see what the cart heuristics looks like. The code relies on the size in the ROM header with a supplemental modifier based on the product code. The product code modifier looks specific to the SMS ROMs.

I've added a check for GG carts coded size "0" (256KB). These are the carts that could be 256KB, 512KB, or 1MB. The code fixes Garfield, Sonic 2, and the other 512KB and 1MB carts.

I checked the SMS/GG code to see what the cart heuristics looks like. The code relies on the size in the ROM header with a supplemental modifier based on the product code. The product code modifier looks specific to the SMS ROMs.

I've added a check for GG carts coded size "0" (256KB). These are the carts that could be 256KB, 512KB, or 1MB. The code fixes Garfield, Sonic 2, and the other 512KB and 1MB carts.

The problem was fixed long ago, but from what I recall reading on SMS Power, games above 256KB (at least for SMS, but perhaps the practice carried over to GG dev since it was a similar console) didn't state a larger size as the BIOS would take longer to verify the cart. I'm guessing the point in the BIOS checking the cart was to check if it was inserted and working and checking only 256KB was perhaps considered enough to get the point.