The 6502's 16-bit address bus can address 65536 (64K) different memory locations. This memory space is shared by RAM, program code (ROM) and all input/output (video processor, sound generator, keyboard interface, etc).
There are some restrictions imposed by the 6502's design: on reset it looks at the top of the address space for a pointer to executable code, so this area must be ROM. The bottom of the address space is used for zero-page registers and the CPU stack, so this must normally be RAM. The rest of the memory layout is a blank canvas, and can be defined by the designer of the computer system.
Different computer designers placed components in different memory locations. On the Apple I, the cassette interface was at &C100, whereas on the BBC Micro it was &FE08. Programs would be written with explicit references to these memory locations in their code. The result of this is that they wouldn't run on other machines without being rewritten.
In the same manner, an emulator needs to place these components in the memory locations used on the original machine, as that's where the software will expect to find them.
It is possible to use the same 6502 CPU emulator with different interface chips and memory maps, to simulate different machines. The MAME emulator is a good example of this.