If you have the time, it would be useful if you put a regular rom like maxam at ie. pos 14 on the M4 board (and no other rom at that pos in xmem) and disable the M4 rom itself.
Does it boot and will maxam work?
The XMEM (like most oster ROM extension), when connected will drive the bus during access to ROM in they slot range.
ROM access is indicated by ROMEN low and the ROM selection in range 1-6,8-31 (0-6,8-31 in boot mode to override the basic/system ones)
This will happen whatever the content of the ROM is, be it 'empty' or valid.
So when using the M4 with an XMEM the only available slots are slot 7(that you cannot override on a 6128), and slot after 32(not initialised).
The only way to make this work would be :
- remove the ROM device from the xmem so it cannot drive the data bus and create a data contention. The xmem will be act as a RAM extension only.
- or use a MotherX4 like card that chain the ROMEN/ROMDIS so the order of the connector decide the priority of the ROM extension.
About C4CPC and plus ROM mapping :
- after booting, the C4CPC will behave like a regular cartridge, unless you knock at the uC door via strict order reading within the ROM.
- 32 ROM in a cartridge are mapped from upper ROM slot 128 to slot 160, with slot 128 mirrored as lower ROM, slot 129 as upper ROM 0 and slot 130 as upper slot 7 (or 0, if EXT signal is grounded)
- the cartridge will obey the ROMDIS signal for every slot, so you can mask any ROM with an external interface.
A problem may happen if :
- you unintentionally knock at the C4CPC uC door (4 consecutive read in specific upper rom slot), and try to read/execute from a ROM within the cartridge
- the RAMDIS signal you send is too short and the C4CPC is corrupting the data you send. The ROMDIS sould be as long as the ROMEN, which is as long a the MREQn/RDn signal from the Z80 + the combinatorial delay.