⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes.txt

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 TXT
📖 第 1 页 / 共 2 页
字号:
			Updates Log File
			****************

 (for internal use only, also supplied with beta versions of the DOS Extender)
-------------------------------------------------------------------------------


Updates made to DOS/32 Advanced DOS Extender since version 7.0[SP1]
===================================================================

1)	\KERNEL\int31h.asm :
	fixed bug in INT 31h function 0503h, when in some cases the contents of
	the memory block being reallocated were not copied to the new location
	(actually the whole function is rewritten)

2)	\CLIENT\config.asm :
	"cfg_env_nowarn" modified to support several warning codes for a single
	/NOWARN parameter (eg /NOWARN:9001,9003,9004)

3)	overall changes :

	+ minor changes in alignment of certain routines (Align xx removed in
	many places)

	+ minor changes in comments of certain parts of the code





Updates made to DOS/32 Advanced DOS Extender since version 7.0
==============================================================

1)	\KERNEL\int31h.asm :
	fixed bug in INT 31h handler function 0205h, when the DOS Extender
	failed to update the internal IRQ redirection buffer for IRQs 8..15





Updates made to DOS/32 Advanced DOS Extender since version 6.00
===============================================================

1)	\dos32a.asm :
	added check to see whether an external DPMI is in place before calling
	"restore_pit" function

2)	\KERNEL\int31h.asm :
	DPMI function 0001h, free selector, will now fail any call which tries
	to free the CS (kernel) or SS (current stack) selectors

3)	\CLIENT\int21h.asm :
	function 4Ch will free the ZERO selector before exiting to DOS

4)	\loadlc.asm :
	some improvements in the LC-style file format loader, the uncompressed
	Objects are loaded slightly faster

5)	\CLIENT\config.asm :
	added code to check if the DOS Extender was spawned from STUB/32C,
	setting "sys_misc" bit 0 to 1 (for internal use only)

6)	revised alignment of certain subroutines in both CLIENT and KERNEL

7)	increased the size of internal stack from 1KB to 2KB

8)	increased the maximum amount of loadable Objects from 32 to 64

9)	\kernel.asm :
	\KERNEL\intr.asm :
	\KERNEL\int31h.asm :
	added support for Performance Counters: INT, IRQ, IRQ Callback and
	Callback. Also added new function 09h through ADPMI Extensions (0A00h)
	to obtain access to the Counters

10)	\CLIENT\int21h.asm :
	improved error checking in functions 0FF95h and 0FF97h: they will now
	fail when allocating 0 bytes or >1MB

11)	\dos32a.asm :
	\CLIENT\data.asm :
	\KERNEL\init.asm :
	added warning (9006) "incompatible version of DOS/32A already running"
	issued when the parent and the child applications are running under
	different versions of DOS/32A (ie when spawning), which prevents
	the child to share the extended memory with the parent application

12)	\CLIENT\data.asm :
	\CLIENT\strings.asm :
	new environment option (NOWARN:xxxx) to disable particular warnings,
	ie NOWARN:9003

13)	\dos32a.asm :
	\kernel.asm :
	added code to remove DOS/32A DPMI Kernel when running under an external
	DPMI host. DOS/32A will move its Client code overwriting the built-in
	DPMI kernel when the system software is detected to be DPMI, freeing
	up as much as 10KB of DOS memory. Can be turned off by setting bit 5
	of "_misc_byte2" to 1 (undocumented, shouldn't be used by the user)

14)	\CLIENT\misc.asm :
	DTA and Mouse Shape Buffer are allocated on top of stack instead of in
	DOS memory, avoids memory fragmentation

15)	\dos32a.asm :
	\CLIENT\misc.asm :
	\CLIENT\debug.asm :
	included support for handling of exceptions 0, 6, 13 and 14 under
	external DPMI (full machine state is reported). DOS/32A will now also
	report where the exception came from in the exception listing, by
	specifying "KERNEL" for ADPMI kernel, "CLIENT" for DOS/32A Client,
	"APP/32" for the currently running application and "APP/??" if the
	exception's origin is unknown

16)	\dos32a.asm :
	\CLIENT\data.asm :
	\CLIENT\debug.asm :
	added code to support applications with no stack set up by the linker
	(eg VxD produced by MSVC 5.0 Link)

17)	\dos32a.asm :
	\CLIENT\data.asm :
	added new warning (9007): "no stack, using default 64K" - DOS/32A will
	provide the default 64KB stack for castrated LE applications (eg VxDs)
	Note: the VxD linked applications won't be officially supported, MSVC
	includes exports (why?) which are not supported by DOS/32A

18)	\CLIENT\int21h.asm :
	extended INT 21h / AH=31h, Go TSR function: DOS/32A will calculate
	the memory to reserve by adding the size of the DOS Extender to the
	value passed in DX, eg: "KERNEL+CLIENT+STACK+INTBUF+DPMIBUF" + DX,
	(normally the DX would be 0)
	Note: the application shouldn't be loaded into DOS memory, as it
	will be lost, ie using Object Loading Scheme #1 is a no-no

19)	\kernel.asm :
	\KERNEL\misc.asm :
	added variable "id32_tsrmode_id". When a copy of DOS/32A is going TSR
	it will disable acknowledgement of INT 21h / AX = 0FF88h ID-call.
	This will not allow other copies of DOS/32A to share memory with the
	TSR (the TSR should be configured to allocate only as much ext. memory
	as it needs)

20)	removed check for SS:ESP=0 in the loaded application, removed warning
	9007 - there is no point in supporting VxDs

21)	\CLIENT\int21h.asm :
	fixed bug in INT 21h, AH=40h (Write to file) function when DOS/32A
	would crash if writing to a disk /w no free space left

22)	reduced the default number of pagetables for physical memory mapping
	from 4 to 2 (= 8MB)

23)	\CLIENT\data.asm :
	\CLIENT\debug.asm :
	\KERNEL\int31h.asm :
	removed check for invalid limits. DOS/32A will unconditionally perform
	auto-correction of selector's limit passed down to DPMI func. 0008h

24)	\dos32a.asm :
	reduced the default size of DOS Transfer Buffer from 16KB to 8KB

25)	\CLIENT\data.asm :
	\CLIENT\config.asm :
	added environment option /NOC to disable the copyright banner (only)

26)	dos32a.asm :
	\CLIENT\misc.asm :
	added full "Year 2000" (Y2K) compliance

27)	\CLIENT\config.asm:
	fixed bug in environment configuration processing routine, it would
	go beyond DOS32A= line and would read other's config (which was bad)

28)	dos32a.asm :
	\CLIENT\misc.asm :
	\CLIENT\int21h.asm :
	improved CTRL-C handling, especially under windows which seemed to
	not handle it correctly in the default real mode handler (bad DOS
	emulation?)
	DOS/32A Client will install its own INT 23h handler, and break to
	INT 21h/4Ch when the handler sets an internal flag

29)	\KERNEL\init.asm :
	removed support for Bottom-Up memory allocation scheme under Clean
	(INT 15h) system software; instead, improved INT 15h Top-Down
	allocation scheme which will properly function when going TSR

30)	\KERNEL\init.asm :
	fixed an ancient bug in the VCPI initialization routines; in general
	the VCPI init has been greately improved






Updates made to DOS/32 Advanced DOS Extender since version 5.00
===============================================================

1)	\CLIENT\data.asm :
	\KERNEL\detect.asm :
	removed fatal error (0008): "config header corrupted", it was never
	used unless the exec was linked incorrectly

2)	\KERNEL\detect.asm :
	\KERNEL\init.asm :
	added direct support for allocation of >64MB of memory through XMS
	server; note: XMS spec. 3.0 is required for allocation of >64MB,
	otherwise the DOS Extender will use the standard XMS functions

3)	\loader.asm :
	minor fix - empty objects (w/ size=0) are "loaded" at address 0, can
	be verified by turning on the Verbose Mode

4)	\CLIENT\debug.asm :
	DOS/32A will now automatically display the *unrelocated* address of
	the faulting instruction, no matter from which segment the exception
	was thrown, as opposed to the earlier versions which could show the
	unrelocated address only for the Object with entry point in it

5)	\KERNEL\int31h.asm :
	added support for DPMI functions 0602h and 0603h, they return with
	CF clear without performing any kind of action

6)	\CLIENT\config.asm :
	added code to support configurable stubs; the new STUB/32A can now
	be configured as if it were a DOS Extender executable!
	INT 21h / AX=0FF87h is used to obtain configuration, custom INT 21h
	handler is automatically deinstalled by STUB/32A after the first call
	to this function

7)	loader.asm :
	loadlc.asm : (new)
	at last, the LC-style Compressed Linear Executable format is supported

7a)	LC Requirements: at least 8KB large DOS Transfer Buffer, some extended
	memory (Encoded LC Objects and LC Fixups are loaded high and decoded
	into destination memory, which can be located Low or High)

	NOTE: LC-execs require twice as much memory as the original application
	when being loaded!


8)	\CLIENT\data.asm :
	added fatal error (4007): "not enough DOS Transfer Buffer space";
	when loading LC-style execs the size of DTB must be at least 8KB

9)	\CLIENT\loadlc.asm :
	decompression routine optimized for speed (works about 50% faster)

10)	\CLIENT\int21h.asm :
	added new function, 0FF8Dh, decode source data

11)	\loader.asm :
	the loader will check if 32bit code/data selector is already allocated
	for respective 32bit Objects, and skip allocation in case they are

12)	\CLIENT\misc.asm :
	with Verbose Mode on the DOS Extender will correctly report the
	amount of available DPMI memory when >64MB (the number will be shown
	in KB when less than 64MB is present and in MB when above 64MB)

13)	\CLIENT\debug.asm :
	corrected "custom error" handler, also run-time (6004) will show handle
	of the corrupted block







Updates made to DOS/32 Advanced DOS Extender since version 4.30
===============================================================

1)	\loader.asm :
	the loader was not able to load Objects with size of zero. It reported
	"not enough extended memory..."!

2)	\CLIENT\debug.asm :
	\CLIENT\data.asm :
	changed the format of reported exceptions: instead of reporting DPL
	the DOS Extender will report segment type as USE??/Codedata

3)	\KERNEL\int31h.asm :
	fixed a little problem with 0800h/0801h DPMI functions when the last
	mapped page was not marked as last

4)	\KERNEL\int31h.sam :
	DPMI function 0008h - Set Segment Limit - now reports invalid limits
	to the client, instead of application, which results in a new run-time
	error (6006): selector limit check failure

5)	some functions have been moved from: dos32a.asm to \CLIENT\misc.asm

6)	\CLIENT\misc.asm

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -