But then I think that if I have a modern microcontroller, why should I bother with the "historical" processor at all? :-(
A good point. I guess it depends on what your reasons are for using the "historical" processor . If it's just so you can call it 'retro' like those 'valve' amps with LEDs instead of heaters, then it doesn't matter if the CPU is doing nothing at all.
My reasons for using a Z80 are:-
1. Because I like the simplicity of programming in 8 bits, particularly Z80 machine code which is fun to write.
2. To reproduce the look and feel of
real 80's hardware, using the original chips wherever possible.
3. To do things that were impractical back then due to the expense and lack of knowledge, eg. add a hard drive, Ethernet or USB.
4. See if an 8 bit system can be made to do things that were considered impossible 'back in the day', eg. play full motion video.
5. Make a sophisticated 8 bit computer like a C64 or Amstrad CPC with custom chips for video and sound etc., using GALs, CPLDs or MCUs that were not available to hobbyists.
also possibly RAM and EPROM replacement
EPROMS were a pain because they were slow to program and took ages to erase, and static RAM was expensive so we struggled with DRAM controllers and slow memory. Nowadays large parallel EEPROMs and fast static RAMs are cheap. A bootloader is also useful for developing system software (I built an EPROM emulator to do the same job, but it worked off a parallel printer port which modern PC's don't have).
But I draw the line at having a 'coprocessor' which actually does most of the work. I want the
Z80 talking to an SD Card or high speed serial port for transfering files etc., and not end up writing piles of code for some modern chip (if I wanted to do that then I would just use the 'coprocessor' for everything and not bother with the Z80).