-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
supporting banked memory #14
Comments
Yes, that's what I do for the NC200. There's a tiny stub BIOS which pages out the entire 64kB address space and calls the supervisor program to do the real work. This results in the CCP loading at 0xe800 and a maximum TPA of 0xf000, which compares well to CP/M 3; plus there's a 48kB disk cache, enough to store five complete tracks from floppy, which (usually) massively boosts performance. I looked briefly at CP/M 3, but found it too overcomplicated. The directory hash table and automatic deblocking would be nice to have, particularly on big disks, but given that CP/M is supposed to be simple I decided against it. |
Yes, that what I needed to do back 1978 with NorthStar system as the disk controller was at 0xE800 CP/M3 or MPM is a handful till you've done it once or twice. I haven't proved to myself it adds much save for when you go to multiuser or networked systems. All of the exxistant software for CP/M assumes 64K flat address and at least 32-58k of it usable by the application. Alternate 3 is for the systems with CP/M3 (example is my Visual 1050) is to leave the BIOS and BDOS alone and replace just the CCP with ZCPR (all those were PD at their intro back well before GNU/MIT/Copyleft/CCC or the one used with ZS/ZRDOS. Source you have to dig for but since the WC-CP/M-CDR can be found on line its there. CP//M has been modular since V2 in that your not married to the provided CCP, or BDOS. I wish we had a discussion area. |
Zsdos has a follow on the B/P bios to help with banked and cross system hardware compatability. http://www.classiccmp.org/cpmarchives/cpm/mirrors/home.att.net/~halbower/index.html#bpbios That is also GLD work. |
Banking has been one of the devils of CP/M for the various levels to 2.2. This is mostly due
to there not being any standard. CP/M3 (aka CP/M+) and MPM made it desirable but not any specific form is called out.
It is possible to run CP/M 2 and ZS/ZRdos in banked systems as there are no prohibitions but generalized solutions of one size fits some are hard to come by due to wide variations in hardware.
The PCW is one I have seen this side of the pond (scarce but not rare) and likely easier to find as
well making it a good choice for implementation.
The most common applications of banking for any system is that bulky uses of memory
like video buffers, ramdisk, and large disk buffers can be outside the nominal 64K map
leaving as much space as possible for applications. General use is putting much of the
BIOS as possible in banked space.
The text was updated successfully, but these errors were encountered: