LoROM advantages:
- You have ROM, hardware registers, and (the first 8kB of) WRAM all in the same bank, so you need fewer 24-bit absolute addresses and 24-bit pointers, making your code marginally smaller and faster.
- For the same reason, code originally written for the NES or another 6502-based platform can be reused with less work.
HiROM advantages:
- Banks are twice as large, so your code modules can be bigger, meaning you need fewer far JMPs and JSRs and it's easier to take advantage of locality (i.e. keeping data in the same bank as the code that uses it)
- ROM is contiguous in the CPU address space, so you can work with blocks of data that span banks (e.g. large RPG scripts) slightly more easily.
Am I missing anything? Seems to be largely a matter of developer preference; both cartridge mappings allow up to 32MBit of ROM and the advantages and limitations look like a wash to me.
Early games seem to all be LoROM. Is it for the 8-bit code reuse reason, or did Nintendo only introduce HiROM cartridges at a later date? Later games are mostly HiROM, but it depends on the maker: Konami in particular seems to have favored LoROM (Tokimeki Memorial is the only 32MBit LoROM cartridge I can name off the top of my head)
- You have ROM, hardware registers, and (the first 8kB of) WRAM all in the same bank, so you need fewer 24-bit absolute addresses and 24-bit pointers, making your code marginally smaller and faster.
- For the same reason, code originally written for the NES or another 6502-based platform can be reused with less work.
HiROM advantages:
- Banks are twice as large, so your code modules can be bigger, meaning you need fewer far JMPs and JSRs and it's easier to take advantage of locality (i.e. keeping data in the same bank as the code that uses it)
- ROM is contiguous in the CPU address space, so you can work with blocks of data that span banks (e.g. large RPG scripts) slightly more easily.
Am I missing anything? Seems to be largely a matter of developer preference; both cartridge mappings allow up to 32MBit of ROM and the advantages and limitations look like a wash to me.
Early games seem to all be LoROM. Is it for the 8-bit code reuse reason, or did Nintendo only introduce HiROM cartridges at a later date? Later games are mostly HiROM, but it depends on the maker: Konami in particular seems to have favored LoROM (Tokimeki Memorial is the only 32MBit LoROM cartridge I can name off the top of my head)