home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!uknet!edcastle!dcs.ed.ac.uk!kc
- From: kc@dcs.ed.ac.uk (Kenneth Cameron)
- Newsgroups: alt.msdos.programmer
- Subject: How do I get a the memory above 1M ?
- Message-ID: <40096@skye.dcs.ed.ac.uk>
- Date: 28 Jul 92 14:07:05 GMT
- References: <152k6uINNak0@matt.ksu.ksu.edu>
- Sender: nnews@dcs.ed.ac.uk
- Reply-To: kc@dcs.ed.ac.uk (Kenneth Cameron)
- Organization: Laboratory for the Foundations of Computer Science, Edinburgh U
- Lines: 30
-
- Whats the cleanest way to get at the memory above the 1Meg mark,given the
- following conditions ?
-
- The application has to run under MS-DOS, on a 486dx. In other words it
- has to be in real mode most of the time.
- I'd like to be able to get at it from within an iterrupt routine
- running at 8KHz. (Although not essential, access from within the main
- program would do).
- I'm working with Borland C++ 3.1.
- I don't want to use a DOS extender like Phar Laps.
-
- I had thought of writing a peek and poke function using 32bit registers but
- that generates an int 13h on accesses outwith the megabyte range.
- At the moment I'm considering changing the memory management set up to map
- the extra into the bottom megabyte block at a time (although more than
- the 64k that expanded memory provides). This looks like it requires a
- change of mode and back.
-
- This is for some control software I'm writting that has to drive 125 analogue
- channels at 16Hz and sample 512 channels at 16Hz. All with a single ADC and
- DAC. As well as record the samples to disk and maitain a WIMP interface.
- (I need to buffer the drive channels in memory, because reading and writing
- at these rates is very hard. But there can be megabytes of the stuff).
-
- Any suggestions ? Anyone ?
-
- ,Kenneth Cameron.
-
- --
- Kenneth@Edinburgh
-