Wow, thanks Axelay and arnoldemu!
Using overscan seems to be a much better option than the one that I started with.
Though I still have to entirely "digest" all what you've written (I haven't programmed for cpc in some time), rethink the buffering and memory mappings:)...
If I wanted to use banks 0,2 and 3 for the screens then I would have to "only" stop using interrupts or are there some other restrictions when using &0000-&003f is considered?
I ask because the possibility of mapping every other extended memory bank to &4000-&7fff is very attractive...
Though I don't think I'd need all the memory.
I won't be using firmware.
I think that single buffering won't do because there will be a lot to redraw (the main sprite is somewhat big)...
EDIT:
(just for reference - as maybe someone else will want to use the information from this topic...)
Using Axelay's code, the screens' memory looks like this (if I haven't made a mistake..):
The screens are 32 chars (8 pixels high).
I screen
The 8 lines of the first 25 chars are located in:
&x030 - &x75f
&x830 - &xf5f
where x=4,5,6,7
The 8 lines of the last 7 chars are in:
&x000 - &x22f
&x800 - &xa2f
where x=8,9,a,b
II screen
The 8 lines of the first 7 chars are located in:
&x5d0 - &x7ff
&xdd0 - &xfff
where x=8,9,a,b
The 8 lines of the next 25 chars are in:
&x000 - &x7cf
&x800 - &xfcf
where x=c,d,e,f
Free areas:
&x230 - &x5cf
&xa30 - &xdcf
where x=8,9,a,b
and 16 small areas of &30 bytes (&x000 - &x02f for x=4,5,6,7 and &x7d0 - &x7ff for x=c,d,e,f).