DropDatabase
New Member
Hi
My I8080 based system (Altair copy) has 1MB of RAM currently arranged as 16 pages of 4K with each page having 16 banks. I can switch in each bank easily with a single OUT call to a port (can be set to any port I like) with the high nyble representing the bank and the low nyble the page. So sending say 0X3F to the port, switches bank 3 into the last 4K. All of this is not however set in stone and I have a lot of flexibility to adjust things. I did it this way as it was extremely simple to use and understand and works great for my own software. I would however like to get the system running banked CP/M 3.0 or another bank switched OS. I'm finding it difficult to find much info about it though. Is there any documentation around explaining how bank switching is supposed to be controlled? I did come across something about it using port 40, but not much more in-depth than that, also I don't know if it meant 40 decimal, oct or hex.
Thanks for reading,
Don
My I8080 based system (Altair copy) has 1MB of RAM currently arranged as 16 pages of 4K with each page having 16 banks. I can switch in each bank easily with a single OUT call to a port (can be set to any port I like) with the high nyble representing the bank and the low nyble the page. So sending say 0X3F to the port, switches bank 3 into the last 4K. All of this is not however set in stone and I have a lot of flexibility to adjust things. I did it this way as it was extremely simple to use and understand and works great for my own software. I would however like to get the system running banked CP/M 3.0 or another bank switched OS. I'm finding it difficult to find much info about it though. Is there any documentation around explaining how bank switching is supposed to be controlled? I did come across something about it using port 40, but not much more in-depth than that, also I don't know if it meant 40 decimal, oct or hex.
Thanks for reading,
Don