Akin to RC2014 the BP80 boards like the SC126/130/etc use ROMWBW and a flat 512K/512K memory card so the basic setup you have is
Low 512K ROM
High 512K RAM
At start up the CPU memory all maps to the bottom of the ROM and the ROM code at 0 sets up the memory to map in some RAM. By the time you are in CP/M it's all being managed for you and if you play with the MMU registers it will break. In fact even CP/M is oblivious to what is going on below it 8)
The actual model is fairly simple - part of the register configuration lets you split the memory into chunks, the other one essentially gives you a large number to add to the address the CPU provided. So when you LD A,(08000h) the CPU decides which range it is in and then adds the offset set for that range to give a much bigger address so your LD in fact ends up fetching 0x88000h or similar. It's not part of the instruction set - it's an I/O device between you and the memory - even though it's on chip.
If you are taking over at the hardware level then you can just use the memory management registers in the Z180. If you are wanting to use ROMWBW you'll need to use the ROMWBW services to allocate and switch other banks of memory and playing with the hardware yourself will create a nasty mess fast.
Some of the Fx functions. As you apparently can't give banks back at this point you'll have to reboot after using those functions. You'll also have to be very careful what you call and how you call it under CP/M if banking stuff.
There are a few ways of making use of the banking you'll find used
1. Banks are just used as a glorified ram disk and you copy data to/from it keeping the normal banking
2. Code is carefully carved into chunks akin to CP/M overlays and banking is managed by hand
3. Similar to #2 but the toolchain does some of the work switching banks on function calls as needed. I have SDCC patches to do this
4. Some memory is allocated for the data, and common code (support routines etc). Everything else is arranged by the tool chain and you program as if you had lots of code memory whilst behind the scenes function calls in your high level language bank switch back and forth. AFAIK only the old Zilog development kit ever supported this model. It's also the model used in the very similar Rabbit processors and tool chain.
If you are running under ROMWBW then CP/M will give you a big ramdisc of the remaining memory and the best thing to do in most cases is probably to totally ignore the CPU banking feature and just use the ram disc to manage data. If you are not using CP/M then you can in theory use the HBIOS functions.
Alan