News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Max Cartridge Size?  (Read 20141 times)

henke37

  • Hero Member
  • *****
  • Posts: 643
    • View Profile
Re: Max Cartridge Size?
« Reply #20 on: February 22, 2014, 08:11:58 pm »
I think you are mixing up compiling with linking. NES era games were never compiled, they were written in assembly. But they might have been linked by a linker during the build process.

Morinis

  • Hero Member
  • *****
  • Posts: 506
  • Cupcakes and Pizza
    • View Profile
    • My YouTube
Re: Max Cartridge Size?
« Reply #21 on: February 22, 2014, 11:03:03 pm »
Yeah, assembled not compiled.  I have no excuse to correct that grammar error  :P
ROM Hacker, Reviewer and Critic.

Don't Know What Else To Say So... <3 You!

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 7086
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: Max Cartridge Size?
« Reply #22 on: February 23, 2014, 01:20:49 am »
So understanding that things CAN be expanded on virtual ROM's that have to rely on it's proper assembly coding, does the data have to be compiled in the same manner in order for it to work?  For example of what I mean is of how Konami compiled their Castlevania NES games and how Capcom compiled their Mega Man NES games in different programming formats.  If one were to expand say like Mega Man I, does the expanded banked data have to be compiled and split up like the data of the ROM you are working on or can it be compiled into a forward and strait manner?  Kinda like adding new, clean understandable and easy to follow assembly language onto the pre-existing, split up data.

It depends on the mapper. For most NES mappers, the last 16KB of PRG-ROM needs to stay at the end but you can double the PRG-ROM size (assuming it's not already at the maximum for its mapper) by adding empty space right before that last 16K.

Technically, there were several variants of many mappers. Such as mapper 2 "UxROM", There is UMROM, UNROM and UOROM. UNROM has a 128K PRG limit and UOROM has a 256K limit. With a ROM, you can just expand a UNROM ROM to UOROM pretty easily.
But one can assume when the games were originally written that the higher-capacity PCBs probably cost more to make which is why devs might not have always gone for the highest size ROM.
"My watch says 30 chickens" Google, 2018