lhughes@b11.ingr.com (Lawrence Hughes) (08/01/90)
I have the W3, W3 SDK, MS C5.1 & 6.0, etc. I have searched through all of the above and various other books, and still have been unable to find a few key items for something I'm developing... anyone know the following? Feel free to send EMail to uunet!ingr!b11!lhughes, or reply here if you think these are of general interest.. RTFM is entirely acceptable if book, chapter and verse are cited... thanks in advance! 1. You can determine the total amount of "memory" available easily enough, but how do you determine total/available: a. conventional memory (up to 640K) b. LIM EMS banked memory (also whether banking is even supported*) c. extended memory (286/386 linear above 640K) d. virtual memory (386 enhanced mode only) It's all very nice to find out you've got "14302K available" (on my 386 with 4M physical, enhanced mode default virtual setup), but gee guys, how much of that is REAL memory (you know, the FAST stuff)? And PULEESE don't say it shouldn't matter.... * one routine returns "above bank line" and "below bank line" values depending on calling arg, which is ignored (i.e. entire amount available is returned for either arg) if banking is not supported - HOW DO YOU TELL IF BANKING IS SUPPORTED? Not to mention where the "bank line" is... 2. I can have a timer driven handler wake up from time to time and snarf any data that has come in the comm port and process it, but does anyone know of a way to have an incoming comm port character trigger an input event, yea, like unto a character typed on the keyboard? Or equivalently, a message that informs me that the comm port queue is no longer empty... 3. Does anyone have (and is willing to share) the spec on what W3 device drivers look like? Seeing as how all known vendors of video boards are churning those out as fast as their pudgy little fingers can type, and they obviously have to be able to support a number of useful graphics functions, I sure would like to be able to write my own graphics apps that you could just tell the customer to link with the W3 driver that came with his "Glitchtronics Hyper VGA" rather than re-invent wheels the rest of my life... I know - lets make the W3 driver interface an IEEE standard! I will be glad to send anyone who responds with useful info a copy of some neat W3 utilities I've hatched, for their trouble - please include snail-mail address and favorite diskette flavor...
patrickd@chinet.chi.il.us (Patrick Deupree) (08/02/90)
In article <8409@b11.ingr.com> lhughes@b11.ingr.com (Lawrence Hughes) writes: }1. You can determine the total amount of "memory" available easily enough, but } how do you determine total/available: } a. conventional memory (up to 640K) } b. LIM EMS banked memory (also whether banking is even supported*) } c. extended memory (286/386 linear above 640K) } d. virtual memory (386 enhanced mode only) here's the trick. If you're running in real mode, you'll have EMS memory available. If not, you'll pretty much be running in all extended memory. In order to find out the things you want to know, I believe you'd have to make the appropriate DOS/BIOS calls. Basically, do the same thing that those memory mapping programs do for DOS. I'm pretty sure that, as far as Windows is concerned, there is no conventional or extended memory. Just memory. }2. I can have a timer driven handler wake up from time to time and snarf any } data that has come in the comm port and process it, but does anyone know } of a way to have an incoming comm port character trigger an input event, } yea, like unto a character typed on the keyboard? Or equivalently, a } message that informs me that the comm port queue is no longer empty... The last I knew, the only way to handle com ports was through the timer/polling method. There is no way to tell a comm port to post a certain message every time a character comes in, or anytime it's full. -- "Organized fandom is composed of a bunch of nitpickers with a thing for trivial pursuit." -Harlan Ellison Patrick Deupree -> patrickd@chinet.chi.il.us