PDA

View Full Version : CP/M users and extended addressing



Allison
May 3rd, 2005, 11:56 AM
Over the years there were many variations of extended addressing for
mostly Z80 systems using MMU or bank switching. We also had Z180/64180, Z280 and other variations with their paging or MMU logic to get beyond the 16 bit address range. most were only compatable with that makers design and some were much to difficult to use effectively.

Now I've used bare Z80 , Z180s , Z280s in large address space configurations such as Compupro, CCS and other designs. I've even added bank switched memory to 8085 based systems.

Prequalifier: CP/M-80 or clone and not CP/M+, MPM.

The question: Though there are systems with more than 64k of ram the only common use I've seen the "extra" beyond 64k ram used for was
RAMdisk. Were there any uses out there other than personal projects that used CP/M-80 and memory beyond 64k? I suspect no but, I'm curious.



Allison

CP/M User
May 3rd, 2005, 11:33 PM
"Allison" wrote:

> Over the years there were many variations of extended addressing for
> mostly Z80 systems using MMU or bank switching. We also had
> Z180/64180, Z280 and other variations with their paging or MMU logic to
> get beyond the 16 bit address range. most were only compatable with
> that makers design and some were much to difficult to use effectively.

> Now I've used bare Z80 , Z180s , Z280s in large address space
> configurations such as Compupro, CCS and other designs. I've even
> added bank switched memory to 8085 based systems.

> Prequalifier: CP/M-80 or clone and not CP/M+, MPM.

> The question: Though there are systems with more than 64k of ram the
> only common use I've seen the "extra" beyond 64k ram used for was
> RAMdisk. Were there any uses out there other than personal projects
> that used CP/M-80 and memory beyond 64k? I suspect no but, I'm
> curious.

Somebody sent me a copy of CP/M v2.2 which had been modified to address the extra 64k in my Amstrad CPC6128, but the way it arranged itself to CP/M Plus (which I'm going out of the scope of) was different. It stored itself into the first 64k. In this situtation you'd have a completely empty 64k, but like all things it's banked in chunks of 16k. So I guess it would be handy as a RAMDrive (better for storing data - rather copying files to it I dare say).

As it was though, CP/M-80 (or v2.2 in my case) didn't address the extra banking features of my machine unless you modified it - or had some program talking to the hardware in the machine & putting stuff there. CP/M Plus came with CP/M v2.2 on the CPC 6128 for addressing the second memory.

CP/M User.

Allison
May 4th, 2005, 06:05 AM
"Allison" wrote:

Somebody sent me a copy of CP/M v2.2 which had been modified to address the extra 64k in my Amstrad CPC6128, but the way it arranged itself to CP/M Plus (which I'm going out of the scope of) was different. It stored itself into the first 64k. In this situtation you'd have a completely empty 64k, but like all things it's banked in chunks of 16k. So I guess it would be handy as a RAMDrive (better for storing data - rather copying files to it I dare say).

As it was though, CP/M-80 (or v2.2 in my case) didn't address the extra banking features of my machine unless you modified it - or had some program talking to the hardware in the machine & putting stuff there. CP/M Plus came with CP/M v2.2 on the CPC 6128 for addressing the second memory.

CP/M User.


Ah, no news though. I asked, or tried to if there were any real use of that
ram?

I've have and have built several systems with extended memory with either bank switching or the more versitile scatter/gather MMU with 4k
page size. In every system that extra space usually ends up as ramdisk.
IE: cp/M systems do nothing for an application with it save for the bios treats it as usable fast disk space.

However in one I have CP/M-80 V2.2 running paged so that rather than reload (warmboot) the CCP/BDOS I literally swap it back in to logial space via the bios. I've gone as far as burry a task manager in the bios to multi-task by putting say an editor in one address space, CCP accessable
in another and even running a database in a third. The task manager then interacts with the user to "surface" the hibernating task desired. However,
this is on the edge of really being MP/M application.

The other use of the space was a large bios for hard disks that had lots of buffers and if done without banking would easily limit the system to under 52k. By putting the bulk bios in banked space and switching it in and out as needed I could have a 63k system as far as applications go but still
have a bios with 16 disks, LRU buffers for them and Buffered IO.

I'm looking at those systems or users that have applied that added space
for other than ramdisk.

Why?

I'm designing and building a 8085 system, mostly for no good reason.
In the design phase I'm looking at a pile of cheap 128kx8 Rams
and EEroms and designing a memory manager into the system. It's a case of "hey I have em, why not use em.". Then I realize other than
disk simulation it has been rare that I even used that space for program execution. I find myself asking should I do a minimal memory (64k
ram + shadowed boot roms) or go for a mapped/banked model? While I've decided what I'll do it's all paper mostly. The route I've gone is
banked but very different from the usual.

Any thoughts out there? I'm trying to stimulate ideas.


Allison