Hi,
I have been looking into the KC85 (note: not KC85/1) series of computers for a while. They share much of their architecture, are cassette-based, very expandable systems (two module slots in the base system, four module slots each in up to four expansion chassis) and can be upgraded to massive (4 MB) amounts of memory. Floppy support was vendor-provided towards the end of their life, which consisted of at least two expansion chassis (one for the floppy system, one per drive) and supported "MicroDOS" (a clone of CP/M 2).
Since the floppy system is quite rare (and is basically a full Z80 system with its own 64 KB of memory), I am looking into running CP/M on the base system only. Unfortunately, the memory map does not match CP/M well and I don't have a good idea on how to make it work well. I am using the KC85/4 as a baseline as it has 128 KB RAM built-in; previous models can be upgraded with a module.
The memory map consists of four 16 KB pages.
* 0000h..3FFFh is always RAM ("RAM0").
* 4000h..7FFFh is always RAM ("RAM4").
* 8000h..BFFFh is the problem ("RAM8").
* C000h..DFFFh is always ROM ("CAOS C" or "BASIC").
* E000h..FFFFh is always ROM ("CAOS E").
Only RAM8 is mappable, and it may contain:
* RAM Bank 0 or 1 (all 16 KB), which are built-in.
* Additional memory modules (all 16 KB).
* Pixel RAM 0 (all 16 KB; the top 1.5 KB are extremely slow).
* Pixel RAM 1 (10 KB; top 6 KB are shared with Pixel RAM 0).
* Color RAM 0/1 (10 KB; same).
Setting up a 32 KB system is easy, but it won't be very useful. Therefore, I am looking at a 48 KB configuration, with BIOS and BDOS living in RAM8. Which contains all banked and video memory in the system. Additionally, the built-in operating system (CAOS - Cassette Aided Operating System) requires some low memory and the IX register for itself, so I would like to take over the machine fully, which requires a very large BIOS. On the other hand, it could happily live in video memory...
edit: Both the keyboard and cassette systems, as well as the optional SIO module, use interrupts in IM2. Especially the keyboard won't be much fun without.
Do you know any trickery on how to make this somewhat efficient?
I have been looking into the KC85 (note: not KC85/1) series of computers for a while. They share much of their architecture, are cassette-based, very expandable systems (two module slots in the base system, four module slots each in up to four expansion chassis) and can be upgraded to massive (4 MB) amounts of memory. Floppy support was vendor-provided towards the end of their life, which consisted of at least two expansion chassis (one for the floppy system, one per drive) and supported "MicroDOS" (a clone of CP/M 2).
Since the floppy system is quite rare (and is basically a full Z80 system with its own 64 KB of memory), I am looking into running CP/M on the base system only. Unfortunately, the memory map does not match CP/M well and I don't have a good idea on how to make it work well. I am using the KC85/4 as a baseline as it has 128 KB RAM built-in; previous models can be upgraded with a module.
The memory map consists of four 16 KB pages.
* 0000h..3FFFh is always RAM ("RAM0").
* 4000h..7FFFh is always RAM ("RAM4").
* 8000h..BFFFh is the problem ("RAM8").
* C000h..DFFFh is always ROM ("CAOS C" or "BASIC").
* E000h..FFFFh is always ROM ("CAOS E").
Only RAM8 is mappable, and it may contain:
* RAM Bank 0 or 1 (all 16 KB), which are built-in.
* Additional memory modules (all 16 KB).
* Pixel RAM 0 (all 16 KB; the top 1.5 KB are extremely slow).
* Pixel RAM 1 (10 KB; top 6 KB are shared with Pixel RAM 0).
* Color RAM 0/1 (10 KB; same).
Setting up a 32 KB system is easy, but it won't be very useful. Therefore, I am looking at a 48 KB configuration, with BIOS and BDOS living in RAM8. Which contains all banked and video memory in the system. Additionally, the built-in operating system (CAOS - Cassette Aided Operating System) requires some low memory and the IX register for itself, so I would like to take over the machine fully, which requires a very large BIOS. On the other hand, it could happily live in video memory...
edit: Both the keyboard and cassette systems, as well as the optional SIO module, use interrupts in IM2. Especially the keyboard won't be much fun without.
Do you know any trickery on how to make this somewhat efficient?
Last edited: