In the 8085 microprocessor there is 64 kb of memory available of which some are assigned to ROM while others are assigned to RAM. My question is, why is ROM always mapped to a lower region of memory map in the 8085 microprocessor?
When the 8085 starts up, it will start fetching instructions from address zero. It is thus necessary that the memory which is located there contain defined contents. That does not imply, however, that address zero must be mapped permanently to ROM. One could build a system with e.g. 2K of ROM, 64K of RAM, and a floppy drive, and use an I/O bit to control whether memory reads come from ROM or RAM. On startup, have all reads come from ROM (writes go to RAM regardless of the control bit), and have the ROM program copy itself to RAM. Then enable reads from RAM, and load software from the floppy. Since the bottom portion of the address space would be RAM, software loaded from floppy would be able to set up interrupt vectors for its own purposes--something that would not be possible if ROM were still mapped there.
I know this is old, but here, from memory. As I recall, the 8080 and 8085 usually had a hardware circuit that designers used which was made up of a single gate that would remap memory after three clocks signals - just enough to execute a JMP instruction. So the first memory locations at 0:0 came from an EPROM, and the gate would swap the EPROM with RAM on the 4th clock cycle at 0:0. That's from my memory 30 years ago. I would look for startup hardware circuits for 8085 home built computers - I'm guessing it is there.
ROM always mapped in lower region of memory map in 8085 microproccesor because after reset it tries to fetch an instruction from location o. If there was RAM at that time the address,the processor fetch random data and would no stat the program. So ROM not moved other region.