I see. What are the technical reasons for this limit?
The old CHS addressing method that was present in any disk BIOS call, so all things had to be compatible. Hard disks have 512-byte logical sectors, and are addressed with limits of 1024 cylinders, 16 heads and 63 sectors. 512*1024*16*63 is approximately 504MiB or 528MB.
The 16 heads was IDE/ATA limit, while 1024 cylinders is a BIOS limit. Newer, larger hard drives physically expanded the cylinders above 1024 but BIOS limits does not allow this so newer BIOSes do a geometry translation and instead expands logically the 16 heads to 256, the new BIOS limit being 512*1024*256*63 or about 8 gigs. Still compatible with old BIOS addressing.
(and to overcome that ~8gig limit linear LBA addressing method is used in even newer bioses with enhanced disk IO calls)
Plus, were there a lot of hard drives over 512MB anyway when we had early ISA only 486 motherboards.