Here is a very general explanation:
So... lets say you need a 64K chip but you don't have any. You have a 128K chip with the same basic pinout. The 128K chip is broken up (internally) into two 64K memory blocks (64K high +64K Low = 128K). The chip toggles between the high and low block by a trigger signal on one of the legs. Ground that leg and it reads the only the low memory, let the leg float (or tie it to +5... I don't remember as it has never been necessary) and it reads the high memory.
So, there are several ways to do what you want. The easiest is to take your file, open it in an editor, copy the contents, paste the contents at the bottom (doubling the file) and save it. Now instead of a 64K file you should have a 128K file. Burn it onto your 128K EPROM. Now you have the exact same information in both high and low memory. Now tie that trigger pin to ground so the chip will ONLY access the low memory and you have what is essentially a 64K chip.
Using the same formula, if you knew how to ONLY program the bottom half of the memory you could just leave the top blank but that is a google problem. Double the program and you don't have to learn anything new....
Some years ago I posted the specifics of this procedure on this board somewhere when I had to replace a bad masked ROM on my Paperboy.