delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2003/07/22/15:11:46

NNTP-Posting-Date: Tue, 22 Jul 2003 13:27:31 -0500
From: "Teece" <tom_cip_11551 AT nospamatall DOT hotmail DOT com>
Newsgroups: comp.os.msdos.djgpp
References: <3iGdna0c9-Mz-oCiU-KYvA AT giganews DOT com> <JZdTa.8844$OM3 DOT 1217 AT news-server DOT bigpond DOT net DOT au>
Subject: Re: New to djgpp. Questions about protected mode, etc.
Date: Tue, 22 Jul 2003 11:27:30 -0700
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
Message-ID: <Uh6dnQTLreiOH4CiXTWJjg@giganews.com>
Lines: 72
X-Trace: sv3-w48AaCRO3lJGiRL9S4sCDElvBiWRQC8AEgoJYL8bB8uJ2cYttkFueXdSSu+gw8NRXHOvoZTj40gGDCI!YC/gnOoqeceZkMyiabrDdXMJN42g8uS8A/7K6jKlIG9XDYm8qcFnbqgN7Q==
X-Complaints-To: abuse AT giganews DOT com
X-DMCA-Notifications: http://www.giganews.com/info/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.1
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Ben,

Thank you for the reply.

One other question:

I went to the DJGPP download site and they wanted to know what operating
system I wanted to use. I think that they are assuming that the compiler
will be run on the same operating system that the executables will run on.
Well, the answer is that I want to use the compiler/assembler on WinXP or
Win2K (or even Win98). But I want to run the executables under MSDOS. What
should I say when downloading DJGPP? My expectation is that the compiler
will run on any of the operating systems but the executable determines if
there is a DOS extender needed, so my guess is that if I want to run the
executables on DOS then that is the version that I download.


Thank You for your help



"Ben Peddell" <killer DOT lightspeed AT bigpond DOT com> wrote in message
news:JZdTa.8844$OM3 DOT 1217 AT news-server DOT bigpond DOT net DOT au...
> Teece wrote:
> > Please bear with me since I am not all that sure about how to ask the
> > questions that I have.
> >
> > I have an application that I want to develop for the PC with special
> > hardware that will run on the PCI bus. I will need to send data from the
> > program directly to the hardware. It is not necessary that I use a
> > sophisticated operating system like XP or even any version of Windows.
> > Therefore I can avoid the difficulty of writing Windows device drivers
> > for the new hardware, etc.
> >
> > I suppose that I could go a couple of ways. One way would be to use good
> > old DOS, which does not run in protected mode, and use DJGPP (or VC1.52,
> > I think) to obtain an executable.  Since DOS does not know about
> > protected mode I would not cause a segmentation fault when I directly
> > access the PCI hardware. Is this correct?
> >
> Yes.
> You can also use the PCI BIOS in real mode or protected mode.
> You can read and write PCI Configuration Registers using the PCI BIOS,
> then do direct I/O to the memory and ports of the device.
>
> > I was reading in the DJGPP documentation that DJGPP has a DOS extender.
> > This was described as a layer of software that "traps the call, switches
> > the CPU to real mode, reissues the call, waits for the service to do its
> > thing, then switches the CPU back into protected mode, and returns to
> > the application code that called the real-mode service".
> >
> Actually, DJGPP uses DPMI. It only switches to V86 mode when it needs to
> issue a real-mode call (such as Disk I/O), or an interrupt which is not
> fully handled by the program.
>
> > Does Windows have a DOS extender? Is it not possible to run old DOS
> > programs on XP in what passes for a DOS emulator?
> >
> Windows has DPMI. Alas, Windows NT/2k/XP do not permit direct port I/O
> without being severly hampered ("helped").
>
> > Does Linux have a DOS extender? Will an executable made with DJGPP run
> > on Linux?
> >
> A compiled DJGPP executable will not run natively on Linux.
> However, a DJGPP program can be easily ported to Linux (provided you
> don't use too much DJGPP-specific stuff).
>
> You'd need to make a kernel module to access the ports of the device.
>


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019