and I know that setting up ports in machine_start is not the approved way, but in this way the changes do not interfere
with my other local changes. I will move them later in the proper place, but this should be enough to kill tagmap lookups.
among other things, this allowed to remove around a thousand of machine() parameters
passed to re-get the state class at each bankswitch operation. readability says thanks.
eventually, nes_mmc and its pieces (nes_pcb, nes_ines & nes_unif) will contain a cart slot device and allow for
things like on-cart sound chips and eeprom devices to be properly emulated
device_memory_interface::space() assert against NULL and
return a reference, and pushed references throughout all
address space usage in the system. Added a has_space()
method to check for those rare case when it is ambiguous.
[Aaron Giles]
Also reinstated the generic space and added fatal error
handlers if anyone tries to actually read/write from it.
read/write handlers to take an address_space & instead
of an address_space *. Also update pretty much all other
functions to take a reference where appropriate.
[Aaron Giles]