Now, with the bit ACBG is possible to switch the input COMPARATOR+ between D6 and 1.2V (internal voltage reference). This operation works but only if the bit ACIE is 1. This is a failure, because the function of ACIE is only to activate the analog interruptions, not to operate with the comparator.
Yes, that is in the real device.
But Simulide does not run the comparator continuously, this would use cpu even when it is not needed, specially in this case because comparator is enabled by default.
So the comparator only runs when interrupt is enabled or ACO is readed.
Triggering a compare action when ACO is readed was failing, that is why it was not running properly if interrupt was not enabled.
Similar things happen with most peripherals, for example Timers are not running continuously, they calculate when some event will happen in the future and schedule an event for that time.
This makes things much more complicated, but much more efficient.
Running the MCU's cpu and 15 or 20 peripherals continuously would use a lot of cpu in your PC.
The other falilure is in the input COMPARATOR- that it should switch between D7 and ADMUX (to access the analog pins A0 to A5) with the ACME and ADEN bits, but it is fixed always ponting to D7 (regarless of the values of the ACME and ADEN bits). See my schematics and program or see the datasheet, chapter 22.
Connecting Comparator to ADC multiplexer was not implemented.
I'm working in it and it's mostly completed.