nala@ihlpl.ATT.COM (A. Flora-Holmquist) (12/08/88)
Greetings, My father-in-law owns a PS-2 mod 50 and runs DOS 3.2. He would like to know what version of DOS allows him to use more than 640kb for an application and what are the advantages of DOS 4.0 over DOS 3.x versions? Thanks , Al Flora-Holmquist att!ihlpl!nala
brown@nicmad.UUCP (Vidiot (Vid-e-it)) (12/09/88)
In article <8043@ihlpl.ATT.COM> nala@ihlpl.ATT.COM (A. Flora-Holmquist) writes:
<Greetings,
<
<My father-in-law owns a PS-2 mod 50 and runs DOS 3.2. He would like to
<know what version of DOS allows him to use more than 640kb for an
<application and what are the advantages of DOS 4.0 over DOS 3.x versions?
NO version of DOS allows for anything except 640K. OS/2 programs will.
Programs like Lotus 1-2-3 use expanded memory to do stuff. This skirts the
DOS memory issue.
Sorry for the bad news.
--
harvard-\ att--\
Vidiot ucbvax!uwvax!astroatc!nicmad!brown
rutgers-/ decvax--/
ARPA/INTERNET: brown%nicmad.UUCP@spool.cs.wisc.edu
maa@nbires.nbi.com (Mark Armbrust) (12/10/88)
In article <3521@nicmad.UUCP> brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: >In article <8043@ihlpl.ATT.COM> nala@ihlpl.ATT.COM (A. Flora-Holmquist) writes: > >NO version of DOS allows for anything except 640K. OS/2 programs will. >Programs like Lotus 1-2-3 use expanded memory to do stuff. This skirts the >DOS memory issue. > I guess I better not tell this to my Tandy 2000 with 768K of memory or my NBI 2000 with 800K of DOS memory. The problem is that PC clones have video memory starting at 0C000h which limits contiguous low memory (The only memory normally used by DOS) to 640K. This is a design limitation that made sense when the PC was first introduced with only 64K of memory and 640K seemed like more than you would ever need in a PERSONAL computer. Note that the first "personal" computer I owned [1/3 of] was an IBM 1620 with 20K of memory and a card read/punch and console typewriter for I/O. We later got a line printer and two disk drives (1 meg each on a 5? platter 16" diameter pack). It's amazing where this industry has gone in the last 20 years; where do you suppose it will be 20 years hence? Happy Hacking Mark D got a line printer and two disk drives (1 meg on a 4 platter
16012_3045@uwovax.uwo.ca (Paul Gomme) (12/10/88)
In article <3521@nicmad.UUCP>, brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: > In article <8043@ihlpl.ATT.COM> nala@ihlpl.ATT.COM (A. Flora-Holmquist) writes: > <Greetings, > < > <My father-in-law owns a PS-2 mod 50 and runs DOS 3.2. He would like to > <know what version of DOS allows him to use more than 640kb for an > <application and what are the advantages of DOS 4.0 over DOS 3.x versions? > > NO version of DOS allows for anything except 640K. OS/2 programs will. > Programs like Lotus 1-2-3 use expanded memory to do stuff. This skirts the > DOS memory issue. > > Sorry for the bad news. > -- > harvard-\ att--\ > Vidiot ucbvax!uwvax!astroatc!nicmad!brown > rutgers-/ decvax--/ > ARPA/INTERNET: brown%nicmad.UUCP@spool.cs.wisc.edu
larry@tapa.UUCP (Larry Pajakowski) (12/11/88)
You can cheat on the 640k barrier with a 386 or an All Charge Card. QEMM from Quaterdeck will allow you to use memory below the vidio RAM if it is avialable. It alwyas isn't. We use CGA cards (ugh!) because the video RAM starts at paragraph B800 thus giving us 738k to do DOS development in. We couldn't do the database work in much less. All Charge Card purports to do the same. I have one and will be trying it on a 286 system. I believe 386toTheMax might do something similar. We've been using QEMM for about 1.5 years know starting with V1.1 and really like it.
simon@ms.uky.edu (Simon Gales) (12/11/88)
In article <593@tapa.UUCP> larry@tapa.UUCP (Larry Pajakowski) writes: >You can cheat on the 640k barrier with a 386 or an All Charge Card. > ... With a 386 box, running DOS 3.x, how does one cheat on the 640k limit. Yes the box has bios shadow ram and exteded memory, but how exactly can a 386 help you break DOS's 640k limit? -- /--------------------------------------------------------------------------\ Simon Gales@University of Ky UUCP: {rutgers, uunet}!ukma!simon Arpa: simon@ms.uky.edu MaBell: 263-2285/257-3597 BitNet: simon@UKMA.BITNET
mcdonald@uxe.cso.uiuc.edu (12/11/88)
>Note that the first "personal" computer I owned [1/3 of] was an IBM 1620 with >20K of memory and a card read/punch and console typewriter for I/O. We later That's 20K DECIMAL DIGITS of memory - 6bits per digit, 4 for the number, one parity, one flag bit. "Word" length was up to the full memory length, one add instruction could add two 9000 digit long words. The system clock actually slowed to 10Hz when the typewriter was working (literally, the logic ran at 10 Hz. Not 10 kilohertz or 10 Megahertz, really 10 Hertz). The first personal computer I "owned" was a PDP-8e - a RISC machine with a 3.3 Mhz clock and 12bit words. :-)
brown@nicmad.UUCP (Vidiot (Vid-e-it)) (12/12/88)
In article <10687@s.ms.uky.edu> simon@ms.uky.edu (Simon Gales) writes: <In article <593@tapa.UUCP> larry@tapa.UUCP (Larry Pajakowski) writes: <>You can cheat on the 640k barrier with a 386 or an All Charge Card. <> ... < <With a 386 box, running DOS 3.x, how does one cheat on the 640k limit. <Yes the box has bios shadow ram and exteded memory, but how exactly can <a 386 help you break DOS's 640k limit? PS/MS-DOS does not, nor can it ever, access anything except the first 1 MB of memory. The first 640K being RAM and the rest being various hardware. DOS is designed for the lowest common chip, the 8088, which only knows 1MB. Even if you run Windows/386, DesqVIEW or VM/386, the DOS partition that is created can only run like an 8088, ie, 640K of user memory for programs. The only way to get more is to run OS/2 and applications designed for OS/2. -- harvard-\ att--\ Vidiot ucbvax!uwvax!astroatc!nicmad!brown rutgers-/ decvax--/ ARPA/INTERNET: brown%nicmad.UUCP@spool.cs.wisc.edu
cs4571ao@ariel.unm.edu (12/13/88)
The first PC I owned was a MIKE-2 with an 8008 processor, a keypad front panel, and 4K of RAM, connected to a SWTP 40 column, 12 line terminal. Storage was by a Digital Group cassette interface, storing data at a screaming 1200 baud. The next PC was a Digital Group computer with 48K of memory (power user :)), part of which was 16 k of graphics memory. And the same cassette interface. I now have a Zenith Z286 with 1 Meg of ram and a hard drive. And I'm lusting for more RAM but can't afford it yet (though 1 MEG of ram costs less than either computer cost me originally). How times change! Pat O'Connell
nelson@sun.soe.clarkson.edu (Russ Nelson) (12/13/88)
In article <3534@nicmad.UUCP> brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: In article <10687@s.ms.uky.edu> simon@ms.uky.edu (Simon Gales) writes: <In article <593@tapa.UUCP> larry@tapa.UUCP (Larry Pajakowski) writes: <>You can cheat on the 640k barrier with a 386 or an All Charge Card. PS/MS-DOS does not, nor can it ever, access anything except the first 1 MB of memory. Well, strictly speaking, you're wrong. You can access 1 MB + 64 K - 16 bytes directly via HIMEM.SYS, and up to 8 Meg indirectly through EMS. Given that you have to load a segment register to access memory (ack), you may as well be forced to make an EMS memory manager. Just doesn't add that much complexity. -- --russ (nelson@clutx [.bitnet | .clarkson.edu]) To surrender is to remain in the hands of barbarians for the rest of my life. To fight is to leave my bones exposed in the desert waste.
maa@nbires.nbi.com (Mark Armbrust) (12/13/88)
In article <3534@nicmad.UUCP> brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: > >PS/MS-DOS does not, nor can it ever, access anything except the first 1 MB >of memory. The first 640K being RAM and the rest being various hardware. >DOS is designed for the lowest common chip, the 8088, which only knows 1MB. > >Even if you run Windows/386, DesqVIEW or VM/386, the DOS partition that is >created can only run like an 8088, ie, 640K of user memory for programs. > With Windows 2.1 is supplied a driver, HIMEM.SYS, that allows applications that know how to use it to get to slightly less than 64K of memory above the one megabyte limit. It makes use of a feature? of the 286/386 chips: when the physical address is calculated, there is a carry into the A20 line. AT's have an I/O bit controlled by the keyboard coprocessor called "A20 gate" that normally forces A20 to 0 so that these overflow addresses will wrap around back to 0. The convention is that a segment register is set to 0xFFFE, and then 65503 bytes of memory are available at offsets 0x0020 - 0xFFFF. To use this memory, A20 gate must be disabled. A20 gate was included in the AT design to allow programs that expected the address to wrap in the 8088 way to run on AT's. Happy Hacking, Mark
vu0112@bingvaxu.cc.binghamton.edu (Cliff Joslyn) (12/13/88)
When I was your age, son, we had to lick the road clean every morning. .. :-) -- O----------------------------------------------------------------------> | Cliff Joslyn, Cybernetician at Large | Systems Science, SUNY Binghamton, vu0112@bingvaxu.cc.binghamton.edu V All the world is biscuit shaped. . .
Ralf.Brown@B.GP.CS.CMU.EDU (12/13/88)
In article <3534@nicmad.UUCP>, brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: }Even if you run Windows/386, DesqVIEW or VM/386, the DOS partition that is }created can only run like an 8088, ie, 640K of user memory for programs. } }The only way to get more is to run OS/2 and applications designed for OS/2. When I finally get a working ALL ChargeCard for my 286, I will be able to run a 960K DOS partition (it does require that direct-video-write programs be patched, but the software includes patches and a loader for about 150 popular programs). -- UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf -=-=-=- Voice: (412) 268-3053 (school) ARPA: ralf@cs.cmu.edu BIT: ralf%cs.cmu.edu@CMUCCVMA FIDO: Ralf Brown 1:129/31 Disclaimer? I |Ducharm's Axiom: If you view your problem closely enough claimed something?| you will recognize yourself as part of the problem.
gardner@kodak.UUCP (dick gardner) (12/13/88)
In article <3534@nicmad.UUCP> brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: >In article <10687@s.ms.uky.edu> simon@ms.uky.edu (Simon Gales) writes: ><In article <593@tapa.UUCP> larry@tapa.UUCP (Larry Pajakowski) writes: ><>You can cheat on the 640k barrier with a 386 or an All Charge Card. ><> ... >< ><With a 386 box, running DOS 3.x, how does one cheat on the 640k limit. ><Yes the box has bios shadow ram and exteded memory, but how exactly can ><a 386 help you break DOS's 640k limit? > >PS/MS-DOS does not, nor can it ever, access anything except the first 1 MB >of memory. The first 640K being RAM and the rest being various hardware. >DOS is designed for the lowest common chip, the 8088, which only knows 1MB. > >Even if you run Windows/386, DesqVIEW or VM/386, the DOS partition that is >created can only run like an 8088, ie, 640K of user memory for programs. > >The only way to get more is to run OS/2 and applications designed for OS/2. >-- The ONLY way (if you want much smaller programs that run much faster) is to run QNX and applications designed for QNX. For now, DOS runs as a guest under QNX, but soon, the Quantum people will introduce a new product, RUNDOS, that will allow multiple copies of DOS applications run directly as tasks. Stay tuned for more developments. =#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=# Dick Gardner -- Eastman Kodak Co. Rochester, New York 14652-4201 Phone: (716) 477-1002 UUCP: {allegra,rutgers}!rochester!kodak!gardner "Brain as big as a planet and you want me to do WHAT??!?!!?" ------- Marvin, the Paranoid Android =#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#
mcdonald@uxe.cso.uiuc.edu (12/13/88)
<<With a 386 box, running DOS 3.x, how does one cheat on the 640k limit. <<Yes the box has bios shadow ram and exteded memory, but how exactly can <<a 386 help you break DOS's 640k limit? (see below for several answers) <PS/MS-DOS does not, nor can it ever, access anything except the first 1 MB <of memory. The first 640K being RAM and the rest being various hardware. <DOS is designed for the lowest common chip, the 8088, which only knows 1MB. This is, in a sense, true -- PC-DOS has no way on its own to access more than the memory below the screen memory. However, this is not necessarily 640K. On a PC with only a CGA there is 640+64+32 = 736K available. On a PC with NO screen memory ( yes, they exist, a friend of mine has a VERY non-clone machine that is that way - he wrote the bios himself) you can have 768K. However, nothing prohibits a program RUNNING UNDER PC-DOS from using a 386 in any way it pleases. See below. <Even if you run Windows/386, DesqVIEW or VM/386, the DOS partition that is <created can only run like an 8088, ie, 640K of user memory for programs. I believe that this is indeed quite true. <The only way to get more is to run OS/2 and applications designed for OS/2. This is ABSOLUTELY NOT TRUE. NOT TRUE. Read my lips: not true. You can run Xenix or some other Unix variant on your 286 or 386. These are not so limited. On a 386 some Unixes are real 32bit sustems, some aren't. On a 386 you can also run a "386 extender" program in genuine 386 mode. This is not quite PURE "running under PC-DOS" - but is indeed IS "running under PC-DOS". Its impurity comes from the fact that you have something between your 386 code and PC-DOS - either the Phar Lar or AI ARchitects extender, or something similar. But to your program, it appears to indeed BE PC-DOS: all the usual interrupts work as usual, the screen is directly mapped (though it can be anywhere in the 4 gigabyte address space), etc. I know this sounds like magic to people used to the "classic" 8086. But it is true - the magic is called "paging", and it is part of the 386. OF course, there are very few real 386 (32 bit) programs out there - but there are some commercially available. I believe that IBM Interleaf Publisher is such a beast ( no flames if I am wrong, please - this is by memory.) I have written several programs myself. If you want more space for code or data, but not 32 bit operation, you can switch a 386 to virtual 8086 mode and use paging to move any part of memory into the lower 640 K. In this case there is NO quibble about running "under PC-DOS". What is not clear to me, despite having a two-inch thick book on the subject in my lap at this very instant, is whether manipulating the page tables can be done from virtual 8086 mode or whether you have to switch to 386 mode. I haven't tried any of this; I like real 386 mode! If you are a programmer, have a 386, enough memory, and the dough to shell out, get the Phar Lap extender, and one of the 386 C or Fortran compilers (from Microway or Metaware). Doug McDonald (mcdonald@uxe.cso.uiuc.edu) .
brown@nicmad.UUCP (Vidiot (Vid-e-it)) (12/14/88)
In article <NELSON.88Dec12161451@sun.soe.clarkson.edu> nelson@clutx.clarkson.edu writes: <In article <3534@nicmad.UUCP> brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: < < In article <10687@s.ms.uky.edu> simon@ms.uky.edu (Simon Gales) writes: < <In article <593@tapa.UUCP> larry@tapa.UUCP (Larry Pajakowski) writes: < <>You can cheat on the 640k barrier with a 386 or an All Charge Card. < < PS/MS-DOS does not, nor can it ever, access anything except the first 1 MB < of memory. < <Well, strictly speaking, you're wrong. You can access 1 MB + 64 K - <16 bytes directly via HIMEM.SYS, and up to 8 Meg indirectly through <EMS. Given that you have to load a segment register to access memory <(ack), you may as well be forced to make an EMS memory manager. Just <doesn't add that much complexity. Well, strickly speaking, you're wrong as well. The original question, missing from here, wanted to be able to address more ram with DOS. My statement above stands, ie, DOS cannot address anything except the first 1 MB of memory. Yes, there are other things that help it "cheat", but DOS itself can't. EMS does not help DOS, it only helps the applications that understand the EMS way of doing things. Good 'ole DOS can't/doesn't use EMS. Now do you understand what I am talking about? -- harvard-\ att--\ Vidiot ucbvax!uwvax!astroatc!nicmad!brown rutgers-/ decvax--/ ARPA/INTERNET: brown%nicmad.UUCP@spool.cs.wisc.edu
carroll@s.cs.uiuc.edu (12/14/88)
/* Written 9:24 am Dec 12, 1988 by brown@nicmad.UUCP in s.cs.uiuc.edu:comp.sys.ibm.pc */ (...) The only way to get more is to run OS/2 and applications designed for OS/2. /* End of text from s.cs.uiuc.edu:comp.sys.ibm.pc */ What about UNIX? You can run that on a '286 (AT) or a '386, although the '386 versions work a lot better. Alan M. Carroll "How many danger signs did you ignore? carroll@s.cs.uiuc.edu How many times had you heard it all before?" - AP&EW CS Grad / U of Ill @ Urbana ...{ucbvax,pur-ee,convex}!s.cs.uiuc.edu!carroll
brookn@btree.uucp (Paul Francis) (12/14/88)
In article <1653@bingvaxu.cc.binghamton.edu> vu0112@bingvaxu.cc.binghamton.edu.cc.binghamton.edu (Cliff Joslyn) writes: >When I was your age, son, we had to lick the road clean every morning. .. >:-) You were lucky, when we were young we wished for a road to clean. But if you tell that to the young people today they won't believe you. 8-) 8*) 8<) 8^) >O----------------------------------------------------------------------> >| Cliff Joslyn, Cybernetician at Large >| Systems Science, SUNY Binghamton, vu0112@bingvaxu.cc.binghamton.edu >V All the world is biscuit shaped. . . -- Paul ( Sicnarf ) Francis backbone!ucsd!btree!brookn "you tried it just for once, found it alright for kicks but now you find out you have a habit that sticks, you're an orgasm addict, you're always at it, and you're an orgasm addict" the Buzzcocks
larry@tapa.UUCP (Larry Pajakowski) (12/14/88)
Since chkdsk says I have 738k on my 386 PC let me explain. We use QEMM. What QEMM does is map some extended memory above 1mb. to the space where the 640k stops and the CGA display adapter has it's RAM memory. These are addresses A0000 to B7FFF. DOS finds and uses this very nicely as part of the contiguous memory. As a side benefit I can load TSR's above the CGA RAM and below the BIOS ROMS. This space is a little more tricky to manage since things like network adapters and LIM memory lives up there. To do this QEMM puts the 386 into protected mode and creates a virtual 8086 machine for DOS. DesqView expoits this by allowing you to create multiple virtual 8086 machines much like VP/ix does under Xenix/Unix. When running DesqView you don't get as much memory however. Please don't tell me anymore I can't do it because I'm it works just fine. I like having 738k for DOS and moving my TSR's out of the lower 640! Larry
rogers@orion.SRC.Honeywell.COM (Brynn Rogers) (12/14/88)
I run a Lisp everyday on a PC .
it will not run in under 5 Meg. (we have 16 Meg)
If your application program wants (or needs) extended ram, it
can use it all it wants. (it just ignores dos, I guess)
We run Gold Hill Common lisp on a compaq 386/20.
I believe that GClisp uses the bottom 640k just for communication with
the outside world. (We have a bunch of C code graphics routines down there.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'Seek out new life and civilizations' | Brynn Rogers Honeywell S&RC
| Internet: rogers@src.honeywell.com
"Honey, come see what I | UUCP: rogers@srcsip.uucp
toma@tekgvs.GVS.TEK.COM (Tom Almy) (12/14/88)
In article <3534@nicmad.UUCP> brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: <In article <10687@s.ms.uky.edu> simon@ms.uky.edu (Simon Gales) writes: <<In article <593@tapa.UUCP> larry@tapa.UUCP (Larry Pajakowski) writes: <<<You can cheat on the 640k barrier with a 386 or an All Charge Card. <<< ... << <<With a 386 box, running DOS 3.x, how does one cheat on the 640k limit? <<Yes the box has bios shadow ram and exteded memory, but how exactly can <<a 386 help you break DOS's 640k limit? < <PS/MS-DOS does not, nor can it ever, access anything except the first 1 MB <of memory. Buy a copy of Phar Lap DOS/EXTENDER, and compilers from either Metaware or Microway. This will cost at least $1,000, but then you can write programs that run in the 80386 Protected mode. The advantages are: 1. Extended memory and the lower 640k are mapped (using the built in paging registers) into one contiguous memory. 2 All programs are "small model", small being 4 gigabytes, so run faster than their 8088 compiled large model equivalents. 3 You can take advantage of the 32 bit data paths, registers, and arithmetic. Slopily written VAX UNIX programs stand a better chance of running because sizeof(int) == sizeof (*in) == sizeof (long. 4 Demand paged virtual memory is almost available (at extra cost). 5 Almost all DOS calls (main exception being the older CP/M style file functions) are handled by the PharLap package, which passes them back to MS DOS for handling. You don't see any performance hit, even with highly I/O intensive code. You can also write interrupt routines which run in either real or protected mode. The PharLap package includes a Microsoft style assembler. Metaware has advanced C and Pascal compilers. Microway has C, Fortran, and Pascal compilers that are more in the UNIX fashion (C isn't ANSI, they produce asm code which gets assembled, command options like UNIX...). Using this environment I have successfully compiled xlisp, microemacs, and Spice 2G.6. Also for the 80386 is Laboratory Microsystems UR/FORTH 386, which at $350 gives a cheaper way to play around in protected mode (Phar Lap product not needed). It includes an assembler and Forth machine code compiler besides the normal interpreted environment. Tom Almy toma@tekgv.tek.com Standard Disclaimers Apply, except I wrote the 80386 Forth compiler for which I receive a royalty worth about a dinner at McDonalds.
br0w+@andrew.cmu.edu (Bruno W. Repetto) (12/15/88)
I have seen no response to the message that follows, and I think it should be
commented upon. It says that the suggested modifications work for true-blue
IBM-PC's. What about clones with other processors? For instance, I own a
clone with a NEC V20 chip. It already has 768k, but the additional 128k is
accessible as a ramdisk only. Will modifications like the one suggested work
in cases like this?
Any response will be apprediated.
Bruno br0w+@andrew.cmu.edu
Message follows--------------------------------------------------------
-----------------------------------------------------------------------
From: Ted.Tang@f3.n121.z1.FIDONET.ORG (Ted Tang)
Subject: 869K total memory modification?
Date: 11 Dec 88 18:53:18 GMT
The following article was picked up by me and claims to be a hardware patch
that will enable an IBM PC/XT to have a total of 869K memory instead of the
usual 640K. Comments on this before I go and try this out? My comments end
above the cut line, the rest is the entire article. I am in no way
associated with the authors of the article below, just a curious PC user who
needs to find out more before trying this patch out:
Ted Tang
_ _ _ _ _ _O/_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
O\ cut here
WHAT IS HIGH MEMORY, WHY DO I CARE, AND HOW CAN I USE IT?
BY CY ATKINSON
WHAT IS IT:
The 8088 chip, the engine in the PC and XT, can address one meg in 16
64K segments numbered 0 thru F. IBM has designed the hardware of the PC
and XT to make the first 640K available to PCDOS and the user, and
reserved the upper 360K for various hardware functions such as ROS and
screen buffers, etc. This upper portion of the 1 meg address capability
is refered to as HIGH MEMORY, and it is available for the user in 64K
segments IF THE SPECIFIC HARDWARE WHICH USES THAT SEGMENT IS NOT
INSTALLED.
With the exception of the area from 640 to 704K (the eleventh 64K seg-
ment, and hence segment 'A'), HIGH MEMORY can not be directly addressed
by DOS. But it can be used by various special programs. These programs
include RAMDISK programs such as HIGHDISK, which use a portion of HIGH
MEMORY as a virtual disk drive; DOS extenders, such as RAMADE, which
allow you to load DOS "extensions" into this normally unused space; and
simple "lid lifters" such as DOSMEM, which change the maximum size of
the DOS region from 640K to 704K (and even in some special circumstances,
to 736K).
WHY DO I CARE:
A COUPLE OF MONTHS AGO, A DISCUSSION WAS ENTERED IN AN INTERNAL IBM BBS
as to how storage addresses are decoded on the IBM PC XT motherboard.
The idea was advanced that it should be possible to replace all four
banks of 64K chips with 256K chips, plug in a "custom" prom at U44, and
depending on the system's hardware configuration, have up to 256K of
additional HIGH MEMORY available for ramdisk, print spooler, DOS
extensions, or whatever.
Well, it's been done. IT WORKS! IT'S EASY! IT INVOLVES NO SOLDERING
OR MODIFICATIONS TO THE MOTHERBOARD EXCEPT REPLACING SOCKETED CHIPS ---
AND IT'S *C*H*E*A*P*!* At current San Jose prices, the cost of taking
an XT from 640K to 896K is under $50. It would cost less than $95 to go
all the way from 256K to 896K.
On my PPC, I run a 360k ramdisk, a 96k ramdisk, a 30K print spooler,
and still have 410K left for DOS and applications. A friend runs 192K
of ramdisk, print spoolers, and DOS extensions, and still has a 704K DOS
address space.
HOW DO I DO IT:
The six 64K sebments above 640K are reserved as follows:
* Segment A is reserved for the fully expanded Enhanced Graphics Adapter.
* Segment B is reserved for the Mono and Color graphics adapters.
* Segment C is reserved for the Hard Disk Adapter, and the 3270 card.
* Segments D and E are reserved for extended/expanded memory
(In the PC Jr, this space is used for the rom cartridges.)
* Segment F is reserved for BIOS and Basic Rom, and is not available.
To access HIGH MEMORY (any combination of segments A C D E) on an IBM
PC XT which already has 640K on the motherboard, all you have to do is:
1. Replace the 64K chips in the appropriate banks with 256K chips.
(see the information below on options for programming the U44
decoder chip).
2. Replace the original U44 decoder ROM with one programmed to your
needs according to the information in this article.
3. Set the jumpers at E2, and SW2 positions 3 and 4, to select the
desired memory configuration (determined by how the new U44 is
programmed and by your hardware configuration).
(If you have not already expanded to 640K, you will also have to
insert a 74LS158 chip in the empty chip socket U84, and you may have to
install a jumper at E2, in addition to inserting the extra storage chips)
TELL ME ALL ABOUT U44:
U44 is a 256 X 4 bit prom. That is, it has 256 addresses, each of
which contains a single hex digit (four bits) of data. This data is
arranged into sixteen decoding tables, each of which has sixteen entries.
These tables are what tell the machine whether a particular 64K segment
of storage exists, and in which bank of chips it is located.
Which table is used is determined by the E2 jumpers and SW2 pos 3 & 4.
These comprise the four high order input bits to U44 (A7-A4). The two
jumpers (A7 & A6) select one of four sets of tables, and the switches
(A5 & A4) select the specific table within a given set.
Which entry in the selected table will be used to decode a specific
storage address is determined by the four high order bits of that storage
address (CA19-CA16 of the PC address bus), which are directed to the four
low order input bits to U44 (A3-A0).
Each entry in U44's decoding tables contains one of five hexidecimal
values: x'9' (select bank 0), x'B' (select bank 1), x'D' (select bank 2),
x'F' (select bank 3), or x'E' (segment not addressable). BY BUILDING A
TABLE WITH THE APPROPRIATE VALUES, IT IS POSSIBLE TO DECODE ANY COMBINA-
TION OF 64K AND/OR 256K STORAGE CHIPS UP TO ONE MEG -- SO LONG AS IT DOES
NOT CONFLICT WITH INSTALLED ADAPTERS!
THE FOURTH SET OF TABLES REPRESENTS A MAJOR BREAKTHROUGH FOR
OWNERS OF VERY OLD XT'S, WHICH HAVE 64K CHIPS SOLDERED INTO BANK 0
(NO SOCKETS). IT ENABLES THEM TO UPGRADE TO 640K BY INSTALLING 256K
CHIPS INTO BANKS 1 AND 2, AND LEAVING 64K CHIPS IN BANKS 0 AND 3.
OR, THEY MAY INSTALL 256K CHIPS INTO BANKS 1, 2, AND 3, AND ACCESS
640K PLUS UP TO 192K OF HIGH MEMORY. AGAIN, NO CHANGES ARE REQUIRED
AT THE E2 JUMPER BLOCK.
Using this program, you have switch selectable storage configurations
to accomodate the most common hardware configurations. However, if this
example isn't suitable for your particular case, it should be reasonably
easy, using the information provided, to develop a special version for
any particular circumstance. IBM usually uses a 24S10 for the U44 chip,
but any of several subs will work fine. Blank chips can be located in
most areas for well under two dollars. The only hard part is getting
them programmed.
IF I DO IT THIS WAY, HOW DO I SET THE SWITCHES:
With a chip programmed to my recommendations installed at U44, and a
jumper installed at E2 1 - 2, four new memory configurations are switch
selectable:
NOTE: in the tables which follow, "Closed" means that the switch is ON.
"Open" means that the switch is OFF.
SW2 4 & 3 = 00 (both closed)========> 640K plus Segments A, D, and E
(OK with Hard Disk only)
SW2 4 & 3 = 01 (4 closed, 3 open)===> 640K plus Segments C, D, and E
(OK with EGA only)
SW2 4 & 3 = 10 (4 open, 3 closed)===> 640K plus Segments D and E
(OK with EGA and Hard Disk)
SW2 4 & 3 = 11 (both open)==========> 640K (NO HIGH MEMORY)
HOW CAN I GET A REPLACEMENT U44 PROM LIKE THE ONE DESCRIBED HERE:
Of course, anyone who has access to a prom programmer, such as a
DATIO box, can make these proms up very easily, and is welcome to do so
using this information in any way he (or she) desires. But not every
one has the ability to do-it-himself. Enough of those who have already
been sent this information, or who have read my appends in PORTABLE
FORUM, have asked me for assistance in obtaining the chips that I have
been able to interest someone here in San Jose in making them up. Based
ON CURRENT LOCAL PRICES FOR THE BLANKS, WE ARE OFFERING U44 CHIPS PROGRAMMED
according to the listing in this article for $6.00.
HERES HOW WE'LL DO IT:
1. If you live in the U.S., please mail your order to:
Cy Atkinson (CHIPS)
5218 Running Bear Drive
San Jose, CA 95136
Please include a check in the amount of $6.00 for each chip ordered,
PLUS an additional $3.00 for postage and handling for 1 to 10 chips,
$6.00 for 11 to 20, etc.
2. If you live outside the U.S., mail your order to the same address,
but please include $6.00 for each chip, PLUS an additional $5.00 for
1 to 10 chips, etc.
Please don't forget to clearly indicate YOUR mailing address in your
order. We will attempt to handle all orders as promptly as possible.
THAT'S ALL:
I hope you've found this interesting and useful. Regardless of how
you obtain your U44 replacement, please feel free to write to me at the
address above if you run into any problems. It may take a while, but
I'll try to respond. Thanks, and Happy Computing!!
>>>>>>>>>>================>> Cy Atkinson
EDITOR'S NOTES:
1. Assistance on this upgrade can also be obtained from the microCHIP
editor who has also performed it on his portable PC.
2. IF YOU HAVE A PC1 OR PC2 (BUT NOT A PC Jr):
If your ps is not the 8-slot motherboard type, but is a 5-slot
motherboard, it is possible to put four banks of 256K chips on the
motherboard... BUT the modification is not for the faint of heart.
According to the author of the instructions for modifying 5-slot PCs,
distribution is limited to IBMers and their families. The instructions
for PC upgrades can be obtained from the microCHIP editor.
--
Ted Tang - via FidoNet node 1:121/1
UUCP: ...!uwvax!geowhiz!circle!3!Ted.Tang
ARPA: Ted.Tang@f3.n121.z1.FIDONET.ORG
brown@nicmad.UUCP (Vidiot (Vid-e-it)) (12/15/88)
In article <213400017@s.cs.uiuc.edu> carroll@s.cs.uiuc.edu writes:
<
</* Written 9:24 am Dec 12, 1988 by brown@nicmad.UUCP in s.cs.uiuc.edu:comp.sys.ibm.pc */
<(...)
<The only way to get more is to run OS/2 and applications designed for OS/2.
</* End of text from s.cs.uiuc.edu:comp.sys.ibm.pc */
<
<What about UNIX? You can run that on a '286 (AT) or a '386, although the '386
<versions work a lot better.
The original poster asked about DOS programs. Yes, UNIX, preferrably 386 type,
can run UNIX stuff in all kinds of memory. But, if you open up a DOS partition
in UNIX, that partition still will only give 640K for the application, minus
DOS overhead.
--
harvard-\ att--\
Vidiot ucbvax!uwvax!astroatc!nicmad!brown
rutgers-/ decvax--/
ARPA/INTERNET: brown%nicmad.UUCP@spool.cs.wisc.edu
brown@nicmad.UUCP (Vidiot (Vid-e-it)) (12/15/88)
In article <45900179@uxe.cso.uiuc.edu> mcdonald@uxe.cso.uiuc.edu writes:
<
<<<With a 386 box, running DOS 3.x, how does one cheat on the 640k limit.
<<<Yes the box has bios shadow ram and exteded memory, but how exactly can
<<<a 386 help you break DOS's 640k limit?
<
<(see below for several answers)
<
<<PS/MS-DOS does not, nor can it ever, access anything except the first 1 MB
<<of memory. The first 640K being RAM and the rest being various hardware.
<<DOS is designed for the lowest common chip, the 8088, which only knows 1MB.
<
<This is, in a sense, true -- PC-DOS has no way on its own to access more
<than the memory below the screen memory. However, this is not necessarily
<640K. On a PC with only a CGA there is 640+64+32 = 736K available.
<On a PC with NO screen memory ( yes, they exist, a friend of mine has
<a VERY non-clone machine that is that way - he wrote the bios himself)
<you can have 768K. However, nothing prohibits a program RUNNING UNDER
<PC-DOS from using a 386 in any way it pleases. See below.
PC/MS-DOS will not, on its own, access 736K. There are drivers out there
to do it for you. But, that 96K isn't really much, considering the Megs
of memory that can be added to a 386 machine.
MS/PC-DOS is purposely written to stay within the 640K limit. That is
why they are producing OS/2. Unfortunatly OS/2 will NOT run existing
DOS applications (expect one in a DOS partition, true?).
I think the original poster would like to be able to load an application,
say like DBASE, that would like to have lots of memory for lots of records,
but can't because DOS won't let him. This may be a lousy example, but I
hope you understand. For me, I would like to be able to use QuickBASIC
compiled programs that work with lots of data in the 4MB that I have, but
it won't because DOS won't let me.
<<Even if you run Windows/386, DesqVIEW or VM/386, the DOS partition that is
<<created can only run like an 8088, ie, 640K of user memory for programs.
<
<I believe that this is indeed quite true.
<
<<The only way to get more is to run OS/2 and applications designed for OS/2.
<This is ABSOLUTELY NOT TRUE. NOT TRUE. Read my lips: not true. You can
<run Xenix or some other Unix variant on your 286 or 386. These are not
<so limited. On a 386 some Unixes are real 32bit sustems, some aren't.
Sorry, I should have included the UNIX operating systems. But the original
poster was talking about DOS, and OS/2 is supposed to be the next generation
DOS. Excuse me if I don't think so.
<On a 386 you can also run a "386 extender" program in genuine 386 mode.
<This is not quite PURE "running under PC-DOS" - but is indeed IS
<"running under PC-DOS". Its impurity comes from the fact that you have
<something between your 386 code and PC-DOS - either the Phar Lar
<or AI ARchitects extender, or something similar. But to your program,
<it appears to indeed BE PC-DOS: all the usual interrupts work as usual,
<the screen is directly mapped (though it can be anywhere in the 4 gigabyte
<address space), etc. I know this sounds like magic to people used
<to the "classic" 8086. But it is true - the magic is called "paging",
<and it is part of the 386. OF course, there are very few real 386
<(32 bit) programs out there - but there are some commercially
<available. I believe that IBM Interleaf Publisher is such a beast (
<no flames if I am wrong, please - this is by memory.) I have written several
<programs myself.
Doesn't the application have to be written for the AI Architects type code?
The Teradyne CAE package (known as CASE) uses the AI stuff for their 4.0
version of the CAE package. For a user to get, say QuickBASIC, to work
with 4MB of memory would require the QuickBASIC code to be expressly designed
to work with AI, is this not so?
--
harvard-\ att--\
Vidiot ucbvax!uwvax!astroatc!nicmad!brown
rutgers-/ decvax--/
ARPA/INTERNET: brown%nicmad.UUCP@spool.cs.wisc.edu
dhesi@bsu-cs.UUCP (Rahul Dhesi) (12/15/88)
In article <3545@nicmad.UUCP> brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: >Sorry, I should have included the UNIX operating systems. But the original >poster was talking about DOS, and OS/2 is supposed to be the next generation >DOS. Excuse me if I don't think so. It's not clear to me why OS/2 should be considered a "next generation DOS", considering it is designed primarily for the the nearly-obsolete 80286 processor, cannot take advantage of better architectures such as the 80386 and the 68030, provides no virtual memory, is not available in source form, and cannot support multiple users with any reasonable protection mechanism. -- Rahul Dhesi UUCP: <backbones>!{iuvax,pur-ee}!bsu-cs!dhesi
il@csri.toronto.edu (Indra Laksono) (12/16/88)
>I guess I better not tell this to my Tandy 2000 with 768K of memory or my NBI >2000 with 800K of DOS memory. > >The problem is that PC clones have video memory starting at 0C000h which limits >contiguous low memory (The only memory normally used by DOS) to 640K. This is I think you have it backwards. If you have video memory starting at C0000h, then, assuming that you are able to use everything below this, you will have 12x64K=768K of CONTINGUOUS memory. >a design limitation that made sense when the PC was first introduced with only >64K of memory and 640K seemed like more than you would ever need in a PERSONAL >computer. > The ega has video ram starting at A0000h (4 zeros, not 3), this would mean that only 640K is ever usable in a system with ega. Though it is doubtful if ms designed msdos with ega in mind way back then, still The MDA was introduced way back and it had display memory at B0000 or B8000 (I forgot).
hollombe@ttidca.TTI.COM (The Polymath) (12/16/88)
In article <4090@charon.unm.edu> cs4571ao@ariel.unm.edu.UUCP () writes: }The first PC I owned was a MIKE-2 with an 8008 processor, a keypad }front panel, and 4K of RAM, connected to a SWTP 40 column, 12 line }terminal. Storage was by a Digital Group cassette interface, storing }data at a screaming 1200 baud. Since we're reminiscing ... I'm still using the first PC I owned. A genuine, original, tan case Osborne-1. Came with 64K of memory, 2 90K, 5.25" floppies and a 52 column by 24 row, 5" diagonal screen for $1750. 6 years and many hassles latter it's been upgraded to 187K floppies, a 52/80/104 column screen, a 12" external monitor, 300 baud modem and a 360K RAM disk. I've also got a battery pack for it that I've only used to run my portable CD player. These days the whole setup is worth about $500 new, if you can find one. Who knows? Someday it may have antique value. Meanwhile, my SO just bought her first PC: An IBM PS/2-50Z with mouse, 1M memory, 30M hard disk, 1.4M 3.5" floppy and 12" VGA color monitor -- all true blue IBM (except for the Logitech mouse). Total cost about $3500, not counting the printer (academic discount deal). She uses it primarily for word processing and ignores the mouse. Grrrr .... (-: (I'm getting a C compiler for it in a week or so. Got to give the poor thing _some_ exercise (-: ). -- The Polymath (aka: Jerry Hollombe, hollombe@ttidca.tti.com) Illegitimati Nil Citicorp(+)TTI Carborundum 3100 Ocean Park Blvd. (213) 452-9191, x2483 Santa Monica, CA 90405 {csun|philabs|psivax}!ttidca!hollombe
winch@hpihoah.HP.COM (Bill Winchester) (12/17/88)
The first computer that I had hands on use of was an Adage, Inc. Ambilog 200 advertised as having a 4 micro-second cycle time, 8k of 30 bit words of core, and a 300 char/sec paper tape reader/punch. This was in 1966. I am writing this on an HP 9000/350, 25mh clock, 8mb of ram, 150mb disk. This system runs Xwindows on a 17in hi res color monitor. The cpu sits under my desk in a rack. I knew practically every gate and flip-flop, and every line of operating system code on the Adage. I'm not sure that my 350 will last long enough as a product for me learn this much about it.
davidsen@steinmetz.ge.com (William E. Davidsen Jr) (12/20/88)
In article <3545@nicmad.UUCP> brown@nicmad.UUCP (Vidiot (Vid-e-it)) writes: | PC/MS-DOS will not, on its own, access 736K. There are drivers out there | to do it for you. But, that 96K isn't really much, considering the Megs | of memory that can be added to a 386 machine. | | MS/PC-DOS is purposely written to stay within the 640K limit. That is | why they are producing OS/2. Unfortunatly OS/2 will NOT run existing | DOS applications (expect one in a DOS partition, true?). PC-DOS accesses 640k, because a PC or compatible may have devices starting above that. The versions of MS-DOS designed for PC compatibles also honor that limit. However, generaic versions of MS-DOS will run all the memory you have, such as the version for the Tandy 2000 (I have 768k when 512 was a big PC). Other versions, such as PC-PRO, which use a serial console option, can use the whole MB if you pull out the memory mapped console code. A terminal running at 38.4kb is pretty easy to take for non-graphic applications, and I can write some HUGE applications. Today's trick: If you really need to run something big, take a little assembler program and add the memory from 640k-704k to the free memory list, use CTTY to change to a serial console, and use your CGA memory for program execution. This is crude, but it works, and you can sometimes get the stack segment in display memory and "watch" your program run. Your milage may vary, I don't have the program handy - RTM. -- bill davidsen (wedu@ge-crd.arpa) {uunet | philabs}!steinmetz!crdos1!davidsen "Stupidity, like virtue, is its own reward" -me
raymond@pioneer.arc.nasa.gov.arpa (Eric A. Raymond) (12/20/88)
Does adding EMS to your software buy you anything more than creating a large ramdisk, copying overlays to it, and then running the program using overlays? Anyway, what documentation is available to make EMS available to me? Extended Memory? --------- Name: Eric A. Raymond ARPA: raymond@pioneer.arc.nasa.gov SLOW: NASA Ames Research Center, MS 244-17, Moffett Field, CA 94035 Nothing left to do but :-) :-) :-)
davidsen@steinmetz.ge.com (William E. Davidsen Jr) (12/21/88)
In article <3575@ttidca.TTI.COM> hollombe@ttidcb.tti.com (The Polymath) writes: | Since we're reminiscing ... | | I'm still using the first PC I owned. A genuine, original, tan case | Osborne-1. Came with 64K of memory, 2 90K, 5.25" floppies and a 52 column | by 24 row, 5" diagonal screen for $1750. Did you see _War Games_? I still have my IMSAI, the same model as was use in the movie. The 2MHz 8080 was upgraded through Z80's, 8086's, a 286/Z80 combo, a 68k, and briefly to a 386. It's now running an 8086, and a hacked version of PC-DOS (not MS-DOS, PC-DOS, but hacked ;-) with CP/M disk reading capability. I keep it running because there is still a demand to convert old 8 inch CP/M disks to PC-DOS format. -- bill davidsen (wedu@ge-crd.arpa) {uunet | philabs}!steinmetz!crdos1!davidsen "Stupidity, like virtue, is its own reward" -me
stevec@cacilj.UUCP (Steve Covault) (12/21/88)
Gee, you were lucky that you had a road to dream about licking clean... We lived in a lake, and he to swim 20 miles to school every day :-) OK, OK, so I stole it from "Monty Python". ------------------------------------------------------------------------------- Steve Covault 3344 North Torrey Pines Court Fax: 619/457-1184 Technical Support La Jolla, California 92037 E-mail: stevec@cacilj CACI Products Company 619/457-9681 (Voice) -------------------------------------------------------------------------------