China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-07-31 20:38
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [Repost] DJGPP - A 32-bit C programming environment DigestI View 19,233 Replies 52
Floor 46 Posted 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
Forgot one thing, where did you see v5? It seems like r5???
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
Floor 47 Posted 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
Moreover, the latest version r5 of CWSDPMI has given up support for DPMI 0.9 (incompletely compatible with it, it is said that it is an incompatibility with a SWAP command) and supports the latest DPMI 1.0. Its version number only indicates the release version. The output of its major version number is as follows:
CWSDPMI V0.90+ (r5) Copyright (C) 2000 CW Sandmann ABSOLUTELY NO WARRANTY
This clearly shows that its major version number is less than 1 (its naming rule is more similar to the habitual rule of the Japanese).

In addition, emphasize and declare. The development history of CWSDPMI. It was not originally developed for DJGPP, but after version R4, it was indeed optimized to support DJGPP. Of course, this independent development team also has activities of co-developing and exchanging materials with the famous game console emulator project MAME.

In a few days, I will post the Chinese-documented document about CWSDPMI.

Once again, does DD need cooperation?
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
Floor 48 Posted 2003-08-02 00:00 ·  新加坡 星和视界(StarHub)宽带
初级用户
Credits 169
Posts 29
Joined 2003-07-09 00:00
23-year member
UID 6654
Gender Male
Status Offline
Well, it's release 5, not v5.

Actually, for programs under DOS, what I care more about is the DOS extender. DOS4GW isn't without development, but the free ones end here. DJGPP defaults to using CWSDPMI, but PMODE/DJ also has some advantages: smaller size and faster speed. However, I still can't find a complete comparison.

Although DJGPP is also a 32-bit development environment, I've seen the source code of its runtime library, and the I/O part still uses the underlying BIOS interrupts, which means the program still has mode switching. This is unacceptable for programs with real-time requirements. I'm very interested in: how difficult is it to directly write pure protected mode I/O bypassing BIOS? I hope someone is interested in discussing this.
Floor 49 Posted 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
DOS4GW is definitely not free in terms of copyright. It has never been free.

In fact, discussing DOS4GW and CWSDPMI doesn't make much sense to us. Because the best existing implementation is still the DPMI service provided by MS. I believe most people don't even download the installation package of CWSDPMI.

Bypassing BIOS to write I/O directly in pure protected mode?????? What are you talking about? What else is there besides bypassing BIOS? Right, there are direct machine instructions, but the 80386 processor itself needs a mode switching to transfer from real mode to v86 mode. This is directly determined by the CPU instructions, and Windows 3.x is a classic example of implementation. I really don't understand what kind of thing you want to make with 80386. Do you want to write a real-time operating system???

Dos extender?? These technologies are contradictory to real-time itself. CWSDPMI doesn't support dos extender, and this is stated in the instruction file first.

The implementation of real-time systems under DOS requires other technologies, which need a deeper foundation. Such as industrial control software.

If you are doing this kind of thing, referring to old computer textbooks is actually better.
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
Floor 50 Posted 2003-08-02 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
Finally, protected mode, we talk about it every day. Who can really fully explain what protected mode is? The history of the development of protected mode?
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
Floor 51 Posted 2003-08-02 00:00 ·  新加坡 星和视界(StarHub)宽带
初级用户
Credits 169
Posts 29
Joined 2003-07-09 00:00
23-year member
UID 6654
Gender Male
Status Offline
Protected mode, heh, simply put: it's not about protecting your program from being damaged, but about protecting the system from being damaged by your program. The real 32-bit protected mode was only realized after the 80386.

You didn't understand my meaning. The BIOS and DOS code are all code in real mode, while dos4gw, cwsdpmi or other various DPMI servers all run completely in protected mode. If the runtime library or the program calls BIOS or DOS interrupts, the DPMI server will switch the program from protected mode to real mode (I think there is also v86 mode?), but if the program doesn't call anything in real mode, then it's pure protected mode code.

In new operating systems (such as Windows NT kernel and Linux), after the system is loaded, it will take over all BIOS interrupts and make the system truly run in pure protected mode. Of course, what I need is not that complicated, just part of it. For example, is there a possibility to bypass BIOS and DOS for the I/O part? The only difficulty is that this implementation may rely heavily on hardware, and we don't have that much ability. But simple functions like screen output can completely be implemented by directly writing the buffer, thus avoiding mode switching. Of course, some functions may be difficult to complete. As for the input part, I don't have any idea yet.
Floor 52 Posted 2003-09-20 00:00 ·  中国 陕西 西安 电信
高级用户
★★
OS/2女孩
Credits 639
Posts 183
Joined 2003-06-14 00:00
23-year member
UID 5148
Gender Female
Status Offline
This post has been sorted into the essence area
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
Floor 53 Posted 2010-01-08 16:05 ·  中国 北京 联通
初级用户
Credits 52
Posts 23
Joined 2009-12-25 15:51
16-year member
UID 157317
Gender Male
Status Offline
What concept is DJGPP? Is it a development environment or an IDE?,,,,,,
Forum Jump: