yes. remove the COL/BW jumpers would be nice. The RTC may be able to store the configuration. How to replace the jumpers in HW, that I haven't thought about.
In the RTC eeprom I wanted to store which portion of a larger hard drive to use, to have multiple logical hard drives (until someone manages to change PCOS to support more drives and larger ones).
Since I made an IDE controller & RTC clock board for the original M20, I think it was the correct place to store it.
I can actually store the hardware configuration in the ATMEGA 164 eeprom. I have a bunch of BIOS patches that I apply to the olivetti bios to support certain devices (IDE, RTC, sound, etc).
When I have some time, I'll change the ATMEGA firmware to patch the bios on the fly, so one could upload (via serial) the original bios and a list of patches and then decide which patch to apply
through a menu. From the atmega serial port it would be trivial to control. From the M20 bootloader it would be a little bit trickier but not impossible, since the ATMEGA has full control of the boot process.
I am going to implement this to disable the chip selects for my I/O devices (IDE, Sound and RTC).
One way to implement it would be to read the hardware configuration from the ATMEGA EEPROM and inject some Z8001 code which then writes it to latches in the PLDs before giving control to the M20 bios.
The bios would be unchanged. I hope this is clear enough...
The problem is that I ran out of I/O pins in the PLDs. I am using ALL of them. I even had to add a 3 to 8 decoder for some chip selects to free a couple of pins.
While the configuration is read from a port (port 0x21), and that could be maintained without the DIP switches, the BW and 4/8 color signals are needed in the VGA controller PLD to process the color planes
properly. Currently these signals are fed directly to the VGA controller from the dip switch.
Hence the feature you are asking would be hard to implement with the current PLDs. I managed to implement the 8 color mode with a larger PLD with exactly 100% of the PLD blocks.
So it's currently not possible to add additional features that require more PLD resources, especially the VGA controller. The floppy drive selection (160,320,640) on the other end, could definitely be done.
One could always use larger PLDs or a single FPGA, but then it would become harder to keep the board through hole and 5V.
Sorry, this is kind of off-topic here!