Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!rice!uw-beaver!zephyr.ens.tek.com!tekcrl!tekgvs!toma From: toma@tekgvs.LABS.TEK.COM (Tom Almy) Newsgroups: comp.sys.ibm.pc Subject: Re: 640K limit Message-ID: <6680@tekgvs.LABS.TEK.COM> Date: 17 Jan 90 00:06:05 GMT References: <4668.25aed7f2@uwovax.uwo.ca> <1468@blackbird.afit.af.mil> <28808@amdcad.AMD.COM> <729@jethro.Corp.Sun.COM> Reply-To: toma@tekgvs.LABS.TEK.COM (Tom Almy) Organization: Tektronix, Inc., Beaverton, OR. Lines: 20 In article <729@jethro.Corp.Sun.COM> acm@sun.UUCP (Andrew MacRae) writes: >Simple. IBM/MicroSoft *should* have used soft pointers to the I/O memory >areas. They made the same mistake that was made with CP/M, hardcoding >areas of memory for specific uses. For those who don't remember, CP/M >was hardcoded so that the kernal *had* to reside in the top 4kb of a 64kb >address space, forever limiting its applications to 60kb in size. Not true! It could reside anywhere in the 64kb address space, and if the address space happened to be larger (I don't know how?) you could still put it anywere because you accessed DOS with "CALL 5". You had to be trickier with BIOS calls, but with CP/M 3.0 you could do BIOS calls with "CALL 5" as well. Also CP/M 3.0 was capable of bank switching (if the hardware supported it) so that the bulk of the OS, as well as disk buffers could be placed outside the user 64k address space. It would be like placing MS/DOS in expanded memory. Tom Almy toma@tekgvs.labs.tek.com Standard Disclaimers Apply