[comp.sys.ibm.pc.hardware] Wanted: information on protected mode

kushmer@bnlux0.bnl.gov (christopher kushmerick) (02/09/91)

I am looking for citations in mainstream pc magazines, book references,
or information from individuals on the following aspects of protected
mode programming, and protected mode:

What is it? Is it inherent in the 286 processor, or is it part of the
AT bus specification?, how do I enter  it? exit it? Why does it exist?
can any commercial compilers use it to access 16Mb ram? Is there a 286 clone
that does not have this feature?

etcetera etcetera. In otyher words I need to know about this phenomina.

Put another way: I have a frame grabber board which has 1/2 Mb ram on it.
I want to read and write to this ram, which has its base at $A0000:0000.
How can I do this?


-- 
Chris Kushmerick                                 kciremhsuK sirhC
kushmer@bnlux0.bnl.gov    <===Try this one first
kushmerick@pofvax.sunysb.edu 

resnicks@netcom.COM (Steve Resnick) (02/12/91)

In article <2500@bnlux0.bnl.gov> kushmer@bnlux0.bnl.gov (christopher kushmerick) writes:
>I am looking for citations in mainstream pc magazines, book references,
>or information from individuals on the following aspects of protected
>mode programming, and protected mode:
>
>What is it? Is it inherent in the 286 processor, or is it part of the
>AT bus specification?, how do I enter  it? exit it? Why does it exist?
>can any commercial compilers use it to access 16Mb ram? Is there a 286 clone
>that does not have this feature?
>
>etcetera etcetera. In otyher words I need to know about this phenomina.
>
>Put another way: I have a frame grabber board which has 1/2 Mb ram on it.
>I want to read and write to this ram, which has its base at $A0000:0000.
>How can I do this?

Protected mode programming, if done from scratch, is a little tricky.
You will need to set up descriptor tables for your segments, and you will
need a way to re-enter real-mode from protected mode if you want to use 
MS DOS without rebooting. The 80286 doesn't do this by itself. My
best advice to you is to get an 80286 reference from Intel, and if you can
find it, the source listing for vdisk.sys (IBM distributed this as part of
DOS 3.1, I don't know if they did for any other version). The undocumented
LOADALL instruction may work, too, but I am unfamiliar with it. 

Hope this helps ....
Steve

-- 
-------------------------------------------------------------------------------
resnicks@netcom.com, apple!camphq!105!steve.resnick, IFNA:	1:143/105.0, 
USNail: 530 Lawrence Expressway, Suite 374 
        Sunnyvale, Ca 94086
- In real life: Steve Resnick. Flames, grammar and spelling errors >/dev/null
0x2b |~ 0x2b, THAT is the question.
-------------------------------------------------------------------------------